AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Problem mit "record, objekt oder klassentyp erforderlich"
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit "record, objekt oder klassentyp erforderlich"

Ein Thema von Hannover91 · begonnen am 9. Nov 2008 · letzter Beitrag vom 9. Nov 2008
Antwort Antwort
Hannover91

Registriert seit: 9. Nov 2008
3 Beiträge
 
#1

Problem mit "record, objekt oder klassentyp erforderlic

  Alt 9. Nov 2008, 15:09
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]
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Problem mit "record, objekt oder klassentyp erforde

  Alt 9. Nov 2008, 15:29
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.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Hannover91

Registriert seit: 9. Nov 2008
3 Beiträge
 
#3

Re: Problem mit "record, objekt oder klassentyp erforde

  Alt 9. Nov 2008, 15:52
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!
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Problem mit "record, objekt oder klassentyp erforde

  Alt 9. Nov 2008, 16:48
Also was willst du denn genau? Was soll passieren, wenn du auf welchen Button klickst?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Hannover91

Registriert seit: 9. Nov 2008
3 Beiträge
 
#5

Re: Problem mit "record, objekt oder klassentyp erforde

  Alt 9. Nov 2008, 17:03
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...
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Problem mit "record, objekt oder klassentyp erforde

  Alt 9. Nov 2008, 18:59
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.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:17 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