Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Val-probelm (fehlermeldung incompatible types)
Hazer - Mi 16.03.05 08:32
Titel: Val-probelm (fehlermeldung incompatible types)
hi, ich habe ein Problem mit der VAL Funktion.
Immer wenn ich sie einsetze, kommt ne fehlermeldung, die sagt 'Incompatible Types'
Ich kann das einfach nicht verstehen hier der Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| program aufgabe; {$APPTYPE CONSOLE} uses SysUtils; var s,c:string; i:integer; begin write('-----Geben Sie nun ein ASCII-Dezimalcode ein und trennen Sie die Zeichen mit einem ; '); readln(s); repeat i:=pos(';',s); c:=copy(s,1,i); delete(c,i-1,i); val(c,i,0); write(chr(i)); delete(s,0,pos(';',s)); until length(s) = 0; readln; end. |
Echt schon alles versucht ;(
AXMD - Mi 16.03.05 08:42
Klar, weilm der letzte Parameter von Val eine Variable sein muss. Zwecks Werte, die diese annehmen kann, schau bitte in der Onlinehilfe nach
AXMD
wdbee - Mi 16.03.05 08:43
Du muss eine Variable übergeben, keine Konstante, denn es ist ein var-Parameter.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| program Project1; {$APPTYPE CONSOLE} uses sysutils;
var s,c:string; i:integer; code: integer; begin write('-----Geben Sie nun ein ASCII-Dezimalcode ein und trennen Sie die Zeichen mit einem ; '); readln(s); repeat i:=pos(';',s); c:=copy(s,1,i); delete(c,i-1,i); val(c,i,code); write(chr(i)); delete(s,0,pos(';',s)); until length(s) = 0; readln; end. |
Aber ob das Programm sonst richtig ist habe ich nicht geprüft!
Hazer - Do 17.03.05 08:21
danke funtzt jetzt ;)
Nur noch eine Frage:
Was macht denn CODE?
Bei delphi-surce und so kann ich nichts finden :(
wdbee - Do 17.03.05 08:29
Warum denn einfach, wenn es auch kompliziert geht? Oder was?
Was sucht du im Internet, wenn die Antwort nur einen (F1-)Tastendruck weit weg ist?
Delphi-Hilfe: zu Val (Prozedur)
Val konvertiert einen String in seine numerische Entsprechung.
Unit
System
Kategorie
String-Verarbeitung
procedure Val(S; var V; var Code: Integer);
Beschreibung
Val konvertiert den mit S angegebenen String in einen numerischen Wert, der dem Ergebnis einer Leseoperation mit Read aus einer Textdatei entspricht.
S ist ein String-Ausdruck und muß einer vorzeichenbehafteten reellen Zahl entsprechen.
V ist eine Gleitkomma- oder Integer-Variable. Wenn V eine Variable des Typs Integerist, muß S eine ganze zahl ergeben.
Code ist eine Variable des Typs Integer.
Ist der String ungültig, wird der Index des betreffenden Zeichens im Parameter Code gespeichert. Andernfalls wird Code der Wert Null zugewiesen. Bei einem nullterminierten String ist die in Code zurückgegebene Fehlerposition um eins größer als der auf Null basierende Index des Zeichens.
Die von Val durchgeführte Bereichsprüfung ist von der Einstellung des Compiler-Schalters $R und vom Typ des Parameters V abhängig.
Einstellung Ergebnis
{$R+} Eine Bereichsüberschreitung führt immer zu einem Laufzeitfehler.
{$R-} Die Bereichswerte sind vom Datentyp des Parameters V abhängig.
Hazer - Do 17.03.05 10:36
o.0?
Da stehen ja alle Funktionen :shock:
Danke :oops:
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!