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 Zeile
if edit2.Text:='' then
so hin, dass kein Fehler mit Boolean auftritt?
Edit: Habs selber hinbekommen. Einfach ne Variable drauß gemacht