Hallöchen,
ich sitze hier gerade im Unterricht und wir haben die Aufgabe bekommen 2 Funktionen zum umwandeln von Integerwerten in Stringwerte und umgekehrt zu schreiben. Dabei sollen wir auf die Standardfunktionen inttostr und strtoint möglichst verzichten. Gut, der Anspruch ist hier nicht besonders hoch und der Lehrer wird warscheinlich wieder von jeder Lösung begeistert sein, aber ich habe mir mal kurz was zusammen gekritzelt:
String in Integer umwandeln:
Delphi-Quellcode:
function s2i(str: String):Integer;
VAR
i,x : INTEGER;
BEGIN
result := 0;
x := 1;
for i := length(str) downto 1 DO
BEGIN
result := result + ((ord(str[i])- 48)*x);
x := x * 10;
END;
END;
Integer in String umwandeln
Delphi-Quellcode:
function i2s(int: Integer):String;
BEGIN
result := '';
while (int <> 0)DO
BEGIN
result := chr((int mod 10)+48)+result;
int := int DIV 10;
END;
END;
Ich hab dar zwar keine Fehlerbehandlung drinne, aber es funktioniert soweit. Trotzdem gehe ich aber davon aus, dass der Code nicht besonders effizient ist... hat wer von euch noch eine andere Idee?!
gruß
Evi
EDIT: Entsprechend des Vorschlags von Pacman1986 angepasst.