Ergebnis 1 bis 20 von 38

Thema: Programmiersprachen vergleichen durch einfache Programme

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #7
    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

    Geändert von Ineluki (14.12.2003 um 06:38 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •