Hi
Ich hatte keine Lust, jede Antwort auszuwerten, aber im Prinzip hab ich's schon durchgeschaut. Der Nachteil der Parameterübergabe mit Vatist, das du sehr schnell eine Variable veränderst, die du gar nicht geändert haben möchtest. Daher hier mal eine andere Lösung.
Delphi-Quellcode:
Function MyForm.Machwas(String_A : String): String;
Var String_B : String;
Zahl : Integer;
begin
.... machwas mit String_A ......
.... setze String_B und den Wert der Zahl
Result:=String_B+';'+IntToStr(Zahl);
end;
Aufruf im Programm
Delphi-Quellcode:
.....
ZweiWerteStr:=Machwas(einString);
StringAntwort:=Copy(ZweiWerteStr,1, Pos(';',ZweiWerteStr)-1);
ZahlAntwort:=StrToInt(Copy(ZweiWerteStr, Pos(';',ZweiWerteStr)+1,Length(ZweiWerteStr)-Pos(';',ZweiWerteStr)));
....
Zugegeben, etwas kompliziert, daher ersetze ich meist bei solchen sachen das Ergebnis Pos(...) unter Zuhilfenahme von xPos
Delphi-Quellcode:
....
xPos:=Pos(';',ZweiWerteStr);
StringAntwort:=Copy(ZweiWerteStr,1, xPos-1);
ZahlAntwort:=StrToInt(Copy(ZweiWerteStr, xPos+1,Length(ZweiWerteStr)-xPos));
....
Wenn du gut im Stringzerlegen bist, kannst du soviele Werte zurückliefern wie du willst. Übrigends, das Semikolon nehme ich meist, weil es in Wörtern halt nicht vorkommt, genausogut kannst du Unterstrich oder irgendwas anderes nehmen, um die Werte zu trennen.
Gruß oldmax
Noch ist mein Rechner mir zu Diensten.... ansonsten habe ich die Macht ihn zu vernichten !