Nein, es soll ja in jedem Fall ein Ergebnis zurückgegeben werden.
d.h.
falls das letzte Zeichen ein Buchstabe ist soll Result.myPos die Zahl enthalten und Result.myAPos den Buchstaben.
Wenn kein Buchstabe vorhanden ist dann soll Result.myApos nichts enthalten.
Delphi-Quellcode:
function SplitPosNummer(PosNr: string): TMyPosNummer;
var i: integer;
c: Char;
s: string;
begin
s := PosNr;
if StrToIntDef(RightStr(s, 1), 99) = 99 then
begin
// Letztes Zeichen ist ein Buchstabe
c := RightStr(s, 1)[1];
i := strtoint(LeftStr(s, length(s) - 1));
Result.myPOS := i;
Result.myAPOS := c;
end
else
begin
i := strtoint(s);
c := #13; // Default
Result.myPOS := i;
Result.myAPOS := c;
end;
end;
Die Befehle
Delphi-Quellcode:
Result.myPOS := i;
Result.myAPOS := c;
hab ich nur vergessen gehabt wie in der vorherigen Antwort beschrieben.