Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - inkompatible Typen - wieso?
newbie333 - Sa 27.06.09 22:28
Titel: inkompatible Typen - wieso?
Hallo,
ich bekomme die Fehlermeldung angezeigt, dass folgendes inkompatible Typen sind:
Delphi-Quelltext
1:
| if [length(edit1.text)-a] = strtoint('e') then |
leider finde ich den Fehler nicht. :(
Wäre nett wenn ihr mir helfen könntet!
Danke schonmal.
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am So 28.06.2009 um 00:58
jakobwenzel - Sa 27.06.09 22:30
wieso benutzt du eckige Klammern?
Von welchem Typ ist a?
Und wenns kompilieren täte würds abstürzen, da e keine Zahl ist...
newbie333 - Sa 27.06.09 22:37
ok habs abgeändert:
Delphi-Quelltext
1:
| b:=[length(edit1.text)-a]; |
b und a sind jeweils integer typen.
immer noch falsch :(
Moderiert von
Narses: Delphi-Tags hinzugefügt
Dunkel - Sa 27.06.09 22:43
'e' ist aber kein Integer!
newbie333 - Sa 27.06.09 22:43
Hab den Fehler entdeckt und schon wieder ein neues Problem.(Tut mir leid bin Anfänger :()
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm1.Button1Click(Sender: TObject); var zaehler,b, a,n:integer;
begin n:=strtoint(edit1.text); zaehler:=0; a:=1;
while a <= length(edit1.text) do begin b:=edit1.text[a]; if b = 'E' then inc(zaehler); inc(a); end; label1.caption:=inttostr(zaehler);
end;
end. |
jaenicke - Sa 27.06.09 22:43
newbie333 hat folgendes geschrieben : |
| b:=[length(edit1.text)-a]; |
Was sollen die eckigen Klammern? Ich sehe kein Array oder so, auf das du damit zugreifen könntest?
// EDIT:
Und bei der Zeile:
Edit1.Text[a] ist ein Buchstabe und keine Zahl. Ord(Edit1.Text[a]) ginge, aber in der nächsten Zeile brauchst du wiederum einen Buchstaben, also wozu überhaupt die Zwischenvariable? :gruebel:
Delphi-Quelltext
1: 2:
| if Edit1.Text[a] = 'E' then ... |
// EDIT2:
Und warum überhaupt so kompliziert?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| begin zaehler := 0; for a := 1 to Length(Edit1.Text) do if Edit1.Text[a] = 'E' then Inc(zaehler); Label1.Caption := IntToStr(zaehler); end; |
newbie333 - Sa 27.06.09 23:25
weil wir noch keine for-Schleifen können ;)
Aber danke! :)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!