So hier das Erste Beispiel in der Consolenvariante von Delphi .. sozusagen Turbo Pascal aequivalent
Eine GUI Variante wird noch nachgeliefert ... das sieht dann GANZ anders aus
Code:
program Rechner;
{$APPTYPE CONSOLE}
uses
SysUtils;
var z1,z2:real;
op:string;
begin
Writeln('Hallo Welt.');
Write('Bitte erste Zahl eingeben: '); readln(z1);
Write('Bitte zweite Zahl eingeben: '); readln(z2);
repeat
Write('Bitte Operation waehlen + - * / ');readln(op);
until (op='+') or (op='-') or (op='*') or (op='/');
if op='+' then Writeln(z1,' + ',z2,' = ',z1+z2);
if op='-' then Writeln(z1,' - ',z2,' = ',z1-z2);
if op='*' then Writeln(z1,' * ',z2,' = ',z1*z2);
if op='/' then Writeln(z1,' / ',z2,' = ',z1/z2);
Writeln('Danke fuer die Benutzung. Zum Beenden Enter druecken.');
readln;
end.
und hier die Exe dazu -> ftp://ftp.uni-freiburg.de/incoming/delphi/rechner.exe 42Kb
Natuerlich hab ich jetzt auf Fehlerbehandlung und Eingabeueberpruefung verzichtet .. sollte das gewuenscht sein, liefere ich das natuerlich gerne nach ^^
So ich liefer nun die GUI version nach ...
Code:
unit RechnerGUI;
interface
uses
SysUtils, Forms, Classes, Controls, StdCtrls;
type
TForm1 = class(TForm)
EdZ1: TEdit;
EdZ2: TEdit;
EdErg: TEdit;
Btnplus: TButton;
BtnMal: TButton;
BtnMinus: TButton;
BtnDurch: TButton;
procedure BtnClick(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BtnClick(Sender: TObject);
var z1,z2,erg:real;
error:integer;
noerror: Boolean;
begin
if Sender is TButton then
begin
val(EdZ1.Text,z1,error); // Text in Zahl umwandeln
noerror:=(error=0); // Trat Fehler auf ?
if (error<>0) then application.MessageBox('Zahl1 ist keine Zahl','Fehler');
val(EdZ2.Text,z2,error);
noerror:=noerror and (error=0); // War Fehler oder ist Fehler
if (error<>0) then application.MessageBox('Zahl2 ist keine Zahl','Fehler');
if noerror then begin
if TButton(Sender).Caption='+' then erg:=z1+z2;
if TButton(Sender).Caption='-' then erg:=z1-z2;
if TButton(Sender).Caption='*' then erg:=z1*z2;
if TButton(Sender).Caption='/' then erg:=z1/z2;
EdErg.Text:=format('%1.5f',[erg]);
end;
end;
end;
end.
Natuerlich muss man nicht den ganzen code schreiben .. das meisste uebernimmt die Visuelle Umgebung ^^ ... und hier ist natuerlich eine Ueberpruefung dabei, ob das Eingegebene auch wirklich Zahlen sind.
und zum austesten auch hier die Exe -> ftp://ftp.uni-freiburg.de/incoming/d...rechnergui.exe 365 Kb -> Auch wegen den beinhalteten Cursor und Icongraphiken ... ist ja GUI