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:
Vielen Dank für eure Antworten
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. |
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:
wäre besser.
Label4.Caption := FloatToStr(ergebnis);
und es fehlt noch ein end;
Delphi-Quellcode:
Wenn man halbwegs vernünftig einrückt, fällt das auch auf.
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. Grüße Klaus |
Re: Taschenrechner mit Delphi für Schule!
Ergebnis ist auch nicht vom Typ Integer -> FloatToStr()
|
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. |
Re: Taschenrechner mit Delphi für Schule!
Habs gemacht
sieht jetz so aus
Delphi-Quellcode:
Bekomme die Meldung
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. [Fehler] Unit1.pas(49): Konstantenausdruck erwartet Wat nun?^^ sry für die dummen fragen |
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 |
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 |
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.ä?
|
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.
|
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. |
Re: Taschenrechner mit Delphi für Schule!
Und vielleicht für eine einfache Weiterbenutzung solltest du auch Operator mit einem p schreiben ...
|
Re: Taschenrechner mit Delphi für Schule!
Hatte Operator sicherheitshalber mit 2 p geschrieben, net,dass es da irgendeine verwechselung gibt :)
aber das änder ich jetz noch aber zur frage mit dem design...wie würde das denn gehen? hat jemand en tutorial auf lager? weil wir machne in der schule pascal aber turbopascal d.h. dos-ansicht -.- und das mag ich net so...bin schönes design gewohnt :D |
Re: Taschenrechner mit Delphi für Schule!
Lass Dein Programm mal laufen und gib ins Edit1 mal "ABC" ein. Da nützt auch schönes Design nichts ;)
|
Re: Taschenrechner mit Delphi für Schule!
Function follows Design :mrgreen:
|
Re: Taschenrechner mit Delphi für Schule!
mein lehrer macht mir en komischen eindruck, deswegen wollt ich mit design nochmal hervorstechen.abgesehen davon,dass ich delphi benutzt hab :D
Wenn ich mal wieder ne Frage oder so,komm ich wieder hier her :) coole community edit1: Hätte da noch ne Frage, wie kann das Zahlengebiet erweitern? Integer ist ja nur in nem bestimmten zahlenbereich -3xxxx i-was mit +3xxxx, weiß es nemmer genau wie heißt die dazugehörige art von variablen? was muss ich dann noch wechseln? Edit2: habs gefundne ,einfach auf real wechseln,danke trotzdem^^ |
Re: Taschenrechner mit Delphi für Schule!
Hallo, ich bin es nochmal!
wie füge ich meiner case-variable wurzeln ein? habe es bis jetz so:
Delphi-Quellcode:
weiß aber net,was daran falsch sein soll, er erwartet ne eingabe in Feld 2...kann ich da ne if-konstruktion einbauen um zu sagen: wenn nur kästchen 1 ausgefüllt wurde, udn die rechenoperation 5(-->wurzel ziehen) erwünscht ist, soll er wurzelziehen?
case operator of
1: ergebnis := zahl1 + zahl2; 2: ergebnis := zahl1 - zahl2; 3: ergebnis := zahl1 * zahl2; 4: ergebnis := zahl1 / zahl2; 5: ergebnis := sqrt(zahl1); end; vielen dank |
Re: Taschenrechner mit Delphi für Schule!
Ja
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:23 Uhr. |
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