Hallo, ich habe gerade versucht einen String in einen Integerwert umzuwandeln und bin dabei auf ein paar Probleme gestoßen.
Ich habe zunächst eine If-Anweisung geschrieben, die Auskunft darüber geben soll ob die Eingabe (Eingabebetrag) ein Integerwert wäre oder ein real (real hier nicht im quellcode zu sehen)
Nach dem die If-Anweisung z.B den Wert true annimmt oder sobald die Eingabe eine ganze Zahl ist, wird die Schleife durchlaufen und als aller erstes der String in einen brauchbaren Integerwert umgewandelt (i:=StrToInt(Eingabebetrag)) danach folgen zwei Rechnungen mit div und mod. Anschließend soll das ergebnis x2 in einem label ausgegeben werden und hier bekomme ich eine Fehlermeldung der Form [Pascal Fehler] Unit1.pas(75): E2010 Inkompatible Typen: 'string' und 'Integer'
Ich habe dann mal ausprobiert o ich den umgewandelten Datentyp i ausgeben kann aber das geht auch nicht. Eigentlich habe ich den String doch ganz normal umgewandelt und die div und mod operanden funktonieren ja auch und ach nur dann wenn integerwerte vorliegen. Warum wird bei der Ausgabe bezüglich der Datentypen string und integer rumgenörgelt?
Hier der Quellcode
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| var Form1: TForm1; Eingabebetrag : string; i,a,x1,x2:integer; b:real; implementation
{$R *.nfm}
procedure TForm1.Button1Click(Sender: TObject); begin Eingabebetrag:=Edit1.Text;
if TryStrToInt(Eingabebetrag,a)=true then begin i:=StrToInt(Eingabebetrag); label16.caption:='Es handelt sich um einen ganzen Betrag'; x1:=i div 500; x2:=i mod 500; edit8.Text:=x2; |