Autor Beitrag
NaRF
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mi 18.09.02 16:51 
kann mir einer folgendes erklären ?

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var x, y, z: Single;
    s: string; code: Integer;
begin
Val(Edit1.Text, x, code);  if code <> 0 then exit;
Val(Edit2.Text, y, code);  if code <> 0 then exit;
z:= x+y;
Str(z:6:2,s);
Label3.Caption := s;
end;

end.


mir ist eigentlich alles klar bis auf :
ausblenden Quelltext
1:
Val(Edit1.Text, x, code);  if code <> 0 then exit;					


Was ist die Funktion der Variable "code"? Warum muss sie = 0 sein ? Warum muss sie Integer sein ?

Bitte antwortet mir.

Danke schonmal im Vorraus.

NaRF
SvenAbeln
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 334
Erhaltene Danke: 3



BeitragVerfasst: Mi 18.09.02 17:01 
Hallo,

ein kleiner Blick in die Hilfe liefert zu VAL folgendes

Zitat:
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.


Also ist Code = 0 wenn der String fehlerfrei konvertiert werden konnte.
NaRF Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mi 18.09.02 18:14 
danke :shock:
:roll: an die hilfe-datei hab ich gar nicht gedacht
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 18.09.02 20:17 
NaRF hat folgendes geschrieben:
danke :shock:
:roll: an die hilfe-datei hab ich gar nicht gedacht


Da bist du leider nicht der einzigeste. :roll:
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: Mi 18.09.02 23:06 
Mit anderen Worten: Wenn code ungleich 0 ist, dann gab es einen Fehler bei der Konvertierung. Der Wert sagt also an welcher Stelle des Strings ein fehlerhaftes Zeichen aufgetaucht ist. Beispiel:

ausblenden Quelltext
1:
s := '1234#56';					


Hier ist an der fünften Stelle ein fehlerhaftes Zeichen und code müßte den Wert 5 haben.

Noch ein Hinweis: code übergibt keinen Wert, sondern erhällt den Wert.