Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Problem mit "record, objekt oder klassentyp erforderlich" (https://www.delphipraxis.net/123819-problem-mit-record-objekt-oder-klassentyp-erforderlich.html)

Hannover91 9. Nov 2008 15:09


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:
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.
[edit=SirThornberry]Delphi-Tags gesetzt - nächstes mal bitte selbst setzen :-) Mfg, SirThornberry[/edit]

3_of_8 9. Nov 2008 15:29

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.

Hannover91 9. Nov 2008 15:52

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!

3_of_8 9. Nov 2008 16:48

Re: Problem mit "record, objekt oder klassentyp erforde
 
Also was willst du denn genau? Was soll passieren, wenn du auf welchen Button klickst?

Hannover91 9. Nov 2008 17:03

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...

3_of_8 9. Nov 2008 18:59

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 16:58 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