Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Taschenrechner mit Delphi für Schule! (https://www.delphipraxis.net/128240-taschenrechner-mit-delphi-fuer-schule.html)

Yanni 26. Jan 2009 19:03


Taschenrechner mit Delphi für Schule!
 
Hallo, wir sollen en Taschenrechner in Delphi schreiben (also eig nur in pascal ,aber das war mir zu einfach, hab mich an delphi gehockt)
Jetz hab ich das Problem das mir die Fehlermeldung kommt:
[Fehler] Unit1.pas(49): Es gibt keine überladene Version von 'IntToStr', die man mit diesen Argumenten aufrufen kann
[Fehler] Unit1.pas(53): ';' erwartet, aber '.' gefunden
[Fehler] Unit1.pas(55): Deklaration erwartet, aber Dateiende gefunden
[Fehler] Unit1.pas(22): Ungenügende Forward- oder External-Deklaration: 'TForm1.Memo1Change'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden

Hab ma alle fehler reingeschrieben, weil ich mir net sicher bin,was davon zuu gebrauchen ist.
Und hier der Quelltext dazu
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Button1: TButton;
    Edit3: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Memo1Change(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var zahl1, zahl2,ende: integer;
    ergebnis: real;
    opperator: integer;
begin
zahl1 := StrToInt(Edit1.Text);
zahl2 := StrToInt(Edit2.Text);
opperator := StrToInt (Edit3.Text);
case opperator of
1: ergebnis := zahl1 + zahl2;
2: ergebnis := zahl1 - zahl2;
3: ergebnis := zahl1 * zahl2;
4: ergebnis := zahl1 / zahl2;
   Label4.Caption := IntToStr(ergebnis);
end;

   read(ende);
end.
Vielen Dank für eure Antworten

Klaus01 26. Jan 2009 19:06

Re: Taschenrechner mit Delphi für Schule!
 
Guten Abend,

einen real Wert kannst Du so nicht umwandeln:
Delphi-Quellcode:
Label4.Caption := IntToStr(ergebnis);
Delphi-Quellcode:
Label4.Caption := FloatToStr(ergebnis);
wäre besser.

und es fehlt noch ein end;

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var zahl1, zahl2,ende: integer;
    ergebnis: real;
    opperator: integer;
begin
  zahl1 := StrToInt(Edit1.Text);
  zahl2 := StrToInt(Edit2.Text);
  opperator := StrToInt (Edit3.Text);
  case opperator of
    1: ergebnis := zahl1 + zahl2;
    2: ergebnis := zahl1 - zahl2;
    3: ergebnis := zahl1 * zahl2;
    4: ergebnis := zahl1 / zahl2;
  end;
  Label4.Caption := IntToStr(ergebnis);
  read(ende);
end;

end.
Wenn man halbwegs vernünftig einrückt, fällt das auch auf.
Grüße
Klaus

mkinzler 26. Jan 2009 19:06

Re: Taschenrechner mit Delphi für Schule!
 
Ergebnis ist auch nicht vom Typ Integer -> FloatToStr()

DeddyH 26. Jan 2009 19:07

Re: Taschenrechner mit Delphi für Schule!
 
Hallo und Willkommen in der DP :dp:

für Fließkommazahlen musst Du FloatToStr() verwenden statt IntToStr. Und vor dem letzten "end." fehlt noch ein "end;"
Mehr hab ich auf den ersten Blick nicht entdeckt.

Yanni 26. Jan 2009 19:09

Re: Taschenrechner mit Delphi für Schule!
 
Habs gemacht

sieht jetz so aus
Delphi-Quellcode:
begin
zahl1 := StrToInt(Edit1.Text);
zahl2 := StrToInt(Edit2.Text);
opperator := StrToInt (Edit3.Text);
case opperator of
1: ergebnis := zahl1 + zahl2;
2: ergebnis := zahl1 - zahl2;
3: ergebnis := zahl1 * zahl2;
4: ergebnis := zahl1 / zahl2;
   Label4.Caption := FloatToStr(ergebnis);
end;

   read(ende);
end;
end.
Bekomme die Meldung
[Fehler] Unit1.pas(49): Konstantenausdruck erwartet

Wat nun?^^
sry für die dummen fragen

DeddyH 26. Jan 2009 19:12

Re: Taschenrechner mit Delphi für Schule!
 
Delphi-Quellcode:
case opperator of
  1: ergebnis := zahl1 + zahl2;
  2: ergebnis := zahl1 - zahl2;
  3: ergebnis := zahl1 * zahl2;
  4: ergebnis := zahl1 / zahl2;  
end;
Label4.Caption := FloatToStr(ergebnis); //hierhin

Yanni 26. Jan 2009 19:12

Re: Taschenrechner mit Delphi für Schule!
 
danke hab alles hinbekommen, musste die memo procedure noch löschen und das ende am end :D
VIELEN DANK

Yanni 26. Jan 2009 19:25

Re: Taschenrechner mit Delphi für Schule!
 
So das Programm an sich funktioniert, ich würd noch gern wissen, wie es aussieht mit Design von dem Programm ,kann ich irgendwie en bild als hintergrund nehmen o.ä?

DeddyH 26. Jan 2009 19:28

Re: Taschenrechner mit Delphi für Schule!
 
Theoretisch ja, aber ich würde an Deiner Stelle meine Zeit nicht mit "Klickibunti-Design" verschwenden, sondern lieber auf eine vernünftige Fehlerbehandlung achten.

mkinzler 26. Jan 2009 19:29

Re: Taschenrechner mit Delphi für Schule!
 
Ist natürlich möglich. Für ein Schulprogramm aber m.E. nicht notwendig.

Btw. Pushen wird hier nicht gern gesehen. wenn weniger als 24 Stunden vergangen sind und noch keiner geantwortet hat und du noch Ergänzugen hast, einfach letzen Beitrag mit Edit bearbeiten. Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz