![]() |
Problem mit "record, objekt oder klassentyp erforderlic
Hallo,
ich weiß von vornherein, dass diese Frage nicht besonders clever ist, aber ich komme alleine eben nicht weiter... Wir haben in der Schule gerade mit Delphi angefangen und jetzt hat unser Lehrer uns die Aufgabe gestellt, einen kleinen Taschenrechner zu programmieren, also mit den Zahlen 0-9, clear, +, -, *, /, = und einem Anzeigenfenster(Edit). Also genau so wie ein taschenrechner auch funktioniert, sollen im Anzeigenfeld erst alle Zahlen nacheinander erscheinen, bis man einen Rechenoperator wählt... Dann soll die neue Zahl kommen und wenn man auf = klickt, eben das Ergebnis. Ich habs jetzt bisher nur mit 1, 2 und + gemacht, weil ich da sonst gar nicht mehr durchsteige und versucht, so gut es ging, die Teile des Quelltextes einzutragen, die ich mir in der Schule notiert hatte... Ich weiß, dass da was fehlt, aber nicht wirklich, was. Fehlermeldungen sind: immer auf Aufgabe bezogen: record, objekt oder klassentyp erforderlich und unit1 kann nicht kompiliert werden Wäre super wenn ihr mir helfen würdet!! Danke.
Delphi-Quellcode:
[edit=SirThornberry]Delphi-Tags gesetzt - nächstes mal bitte selbst setzen :-) Mfg, SirThornberry[/edit]
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; Szahl, Szahl1, Operator: string; Zahl, Zahl1: integer; Ausgabe: string; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin Szahl1:= Szahl+'1'; Ausgabe.Text:= Szahl; end; procedure TForm1.Button3Click(Sender: TObject); var Summe: integer; begin Zahl:= StrToInt(Szahl); Summe:= Zahl+Zahl1; Ausgabe.Text:= IntToStr(Summe); Zahl1:= Summe; sZahl:= ' '; Operator:= 'Plus'; end; procedure TForm1.Button2Click(Sender: TObject); begin Szahl1:= Szahl+'2'; Ausgabe.Text:= Szahl; end; end. |
Re: Problem mit "record, objekt oder klassentyp erforde
Du hast "Ausgabe" als String deklariert. Ein String hat keine Eigenschaft "Text". Ich vermute mal, du willst deine Ausgabe in das Editfeld schreiben. Dann schreib einfach statt "Ausgabe.Text" "Edit1.Text" und hau die Variable "Ausgabe" komplett raus.
|
Re: Problem mit "record, objekt oder klassentyp erforde
Danke, das ist schon mal besser.
Allerdings klappt es nicht, dass wenn ich die 1 anklicke, oben auch eine 1 erscheint... Wie geht das denn, was muss ich ändern? Und die Zeile Szahl:= ''; kann auch nicht richtig sein, aber wie gebe ich an, dass zunächst nichts im Feld stehen soll? Danke! |
Re: Problem mit "record, objekt oder klassentyp erforde
Also was willst du denn genau? Was soll passieren, wenn du auf welchen Button klickst?
|
Re: Problem mit "record, objekt oder klassentyp erforde
Wenn ich auf Button1 klicke(also die Zahl 1 meines Taschenrechners), soll im Anzeigenfenster Edit eine 1 erscheinen. Wenn ich danach auf Button 2 klicke(also die Zahl 2 meines Rechners), soll rechts neben der 1 eine 2 stehen, wie bei einem richtigen Taschenrechner.
Danach soll man auf Button3(+) klicken können, und danach sollen im Anzeigenfeld neue Zahlen eingetippt werden können. Und wenn man dann auf = geht, sollen die beiden Zahlen addiert werden. Wie bei einem normalen Taschenrechner auch. Hört sich einfach an, ist es aber für mich nicht... Wär nett wenn du mir helfen könntest... |
Re: Problem mit "record, objekt oder klassentyp erforde
Also es kommt drauf an. Wenn dein Taschenrechner nur Addition können soll, ist das relativ einfach. Wenn aber dann sowas wie Multiplikation dazukommen soll, mit Punkt-vor-Strich, wird es schon etwas kompliziert für den Anfang.
Also mir ist immer noch nicht so ganz klar, was du mit dem ganzen bezweckst. Wenn man auf Button1 klickt, soll eine 1 erscheinen. Wenn man auf Button 2 klickt, soll eine 2 erscheinen. Was ist jetzt, wenn man zweimal auf Button 1 klickt? Nach deiner Beschreibung sollte dann nur eine 1 dastehen, aber bei einem normalen Taschenrechner hätte man wohl eher eine 11 dastehen. Ist es das, was du willst? Ich verstehe deinen Code sowieso nicht ganz. Wofür sind deine ganzen Variablen? Wenn du Code postest, solltest du sicherstellen, dass deine Variablennamen entweder selbsterklärend sind oder du entsprechende Kommentare einfügst oder das ganze in deinem Beitrag erklärst. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz