Einzelnen Beitrag anzeigen

Delp

Registriert seit: 2. Mär 2014
6 Beiträge
 
#9

AW: Inkompatible Typen: Char und String

  Alt 2. Mär 2014, 20:36
Hab da noch eine Frage zu den Fehler: [Fehler] Unit1.pas(61): E2012 Ausdruckstyp muss BOOLEAN sein

Meine Plus-Taste:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var eingabe,loesung: string;
ergebnis: double;
zeichen: char;
begin
eingabe:=edit1.text;
if edit2.Text:='then
begin
edit2.Text:=edit1.Text+'+';
edit1.text:=''
end
else
ergebnis:=0;
loesung:= edit2.text;
zeichen:= copy(loesung,length(loesung),1)[1];
delete(loesung,length(loesung),1);
case zeichen of
'+': ergebnis:=strtofloat(loesung)+strtofloat(eingabe);
'-': ergebnis:=strtofloat(loesung)-strtofloat(eingabe);
'*': ergebnis:=strtofloat(loesung)*strtofloat(eingabe);
'/': ergebnis:=strtofloat(loesung)/strtofloat(eingabe);
end;
case zeichen of
'+': edit2.Text:=floattostr(ergebnis)+ '+';
'-': edit2.Text:=floattostr(ergebnis)+ '-';
'*': edit2.Text:=floattostr(ergebnis)+ '*';
'/': edit2.Text:=floattostr(ergebnis)+ '/';
end;
edit1.Text:=floattostr(ergebnis);
end;
Wie ihr vielleicht schon mitbekommen habt, will ich einen Rechner mit 2 Edit-Feldern programmieren. (ähnlich dem Windows-Rechner)

Nun soll geprüft werden, ob in den oberen Feld bereits eine Zahl mit Operator steht. Wenn ja, dann soll mit einem erneuten drücken eines Operators bereits das Ergebnis in das untere Feld eingetragen werden.

Ich glaube das Programm dürfte somit laufen, nur wie bekomme ich diese Zeileif edit2.Text:='then so hin, dass kein Fehler mit Boolean auftritt?

Edit: Habs selber hinbekommen. Einfach ne Variable drauß gemacht

Geändert von Delp ( 2. Mär 2014 um 20:47 Uhr)
  Mit Zitat antworten Zitat