Roland Goretzki schrieb:
Hallo, liebe Leute,
vor einigen Jahren hatte ich einmal das Problem, Zahlen in Strings zu verwandeln, die Lösung, die mir hier von der Liste nahegelegt wurde, lag in Integer2String.
Nun habe ich das umgekehrte Problem, und bevor ich hier unnötig die Liste in Anspruch nehmen wollte, habe ich mich erst einmal auf die Suche gemacht im Verzeichnis "units".
Dort fand ich in der unit "stringutils.pas" folgende Funktion:
function StrReadInt (const s: String; var i: Integer; var Dest: Integer): Boolean; attribute (ignorable);
Das ist sicher genau das, was ich brauche, aber ich verstehe es offenbar nicht, diese Funktion korrekt aufzurufen.
S. die Kommentare weiter oben in der Datei (Zeile 163ff.) -- vielleicht nicht offensichtlich erkennbar, dass die dazu gehören.
Diese Funktionen sind v.a. dazu da, wenn man einen String zerlegen will. Wenn der String komplett eine Zahl enthalten soll, ist vermutlich "Val (String, Ziel, FehlerPosition)" einfacher. FehlerPosition (Typ Integer) enthält anschließend 0 bei korrekter Umwandlung, sonst die Position des ersten Fehlers.
Es gibt auch "ReadStr (String, ...)", das wie "Read[Ln]" funktioniert, nur aus einem String statt von der Eingabe liest. Fehler ergeben dann Laufzeitfehler (können aber mit "{$I-}" und IOResult usw. abgefangen werden).
Frank