Entwickler-Ecke
Sonstiges - ...Strings in andere Typen umwandeln?
SMI - Sa 05.10.02 23:47
Titel: ...Strings in andere Typen umwandeln?
Nachdem ich im Forum immer wieder auf die Frage gestoßen bin "wie Konvertiere ich einen String s in ..." habe ich mir gedacht, dass sowas ins FAQ gehört und eine kurze Zusammenstellung verfasst. Selbiges könnte man für Int in ... sowie Real in ... und Pointer in ... auch machen. Würde am besten für in eine neues FAQ Namens ObjectPascal passen.
String -> Integer : StrToInt (FUNCTION)
String -> Real : Val (PROCEDURE)
String -> pChar : pChar (CAST)
String -> pChar/Pointer : @ (Operator)
String -> pChar/Pointer : Pointer (CAST)
Beispiel
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:
| VAR s : String; lpS : PChar; p : Pointer i : Integer; r : Real;
delphi : Integer;
BEGIN
i:= StrToInt(i);
Val(s,r,delphi)
lps := PChar(s); lps :=@s[1]; lps := pointer(s); p := @s[1]; p := pointer(s);
END; |
Moderiert von delfiphan: Delphi-Tags hinzugefügt.Moderiert von jasocul: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Do 08.06.2006 um 09:51
jasocul - Do 08.06.06 09:53
Da sich doch einiges in Delphi geändert hat, habe ich diesen Beitrag für Ergänzungen und Verbesserungen wieder zur Diskussion bereit gestellt.
SmileySN - Do 08.06.06 18:05
Hier mal als erstes die Funktion StrToInt() und IntToStr()
Bei der StrToInt() Funktion muss beachtet werden, dass der Wert den der übergebene String hat im Zahlenbereich vom Typ Integer liegen muss.
Buchstaben und Sonderzeichen dürfen nicht vorliegen.
Hier ein Beispiel dazu:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm1.Button1Click(Sender: TObject); Var i:Integer;
begin
i:=StrToInt(Edit1.Text); Label1.Caption:=IntToStr(i); end; |
SmileySN - Do 08.06.06 18:23
Hier das ganze noch für Gleitkommazahlen
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm1.Button2Click(Sender: TObject); Var Code: Integer; r: Real;
begin
Val(Edit1.Text,r,code);
If code = 0 Then Label1.Caption:=FloatToStr(r);
end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 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!