Autor Beitrag
malibu85
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Di 18.12.07 14:20 
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
ausblenden 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;

     //die beiden Hauptbedingungen. Es wird geprüft ob es sich
     //bei der eingabe um ein Real oder Integer handelt. Jenachdem welcher
     //Datentyp vorliegt, wird eine andere Rechenvariante benutzt


    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; //hier nörgelt der Compiler  [Pascal Fehler] Unit1.pas(75): E2010 Inkompatible Typen: 'string' und 'Integer'
malibu85 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 51



BeitragVerfasst: Di 18.12.07 14:22 
oh nein ich weiß warum...das ist mein lieblingsfehler ich muss ja den int-wert wieder in einen string umwandeln
Martin1966
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1068

Win 2000, Win XP
Delphi 7, Delphi 2005
BeitragVerfasst: Di 18.12.07 14:23 
:zustimm:

_________________
Ein Nutzer der Ecke ;-)