Zitat:
Unit
SysUtils
Syntax
function Format(const Format: string; var Args: array of TVarRec): string; overload;
function Format(const Format: string; var Args: array of TVarRec; var FormatSettings: TFormatSettings): string; overload;
Die Funktion Format ist übrigens bereits in den SysUtils definiert. Du solltest bei der Vergabe deiner Namen für Variablen, Prozeduren, Funktionen usw. darauf achten, dass es den Namen noch nicht gibt, um später Probleme zu vermeiden.
Ein einfacher Weg wäre es z.B. der eigenen Variablen, Routine usw. etwas voranzustellen (MyFormat, kmFormat [km steht hier für kingmarv]).
Edit:
Noch was wichtiges: Die Möglichkeit mit TStringList, wie oben vorgestellt funktioniert nur solange die gesuchten Substrings in dieser Reihenfolge im String stehen. Falls sich das mal ändert, musst du das anders lösen:
Delphi-Quellcode:
function GetSubStringByName(AStr: String; const AName: String): String;
var
sl: TStringList;
begin
sl := TStringList.Create;
try
sl.Delimiter := '|';
sl.StrictDelimiter := True;
sl.DelimitedText := AStr;
Result := sl.Values[AName];
finally
sl.Free;
end;
end;
//Aufruf:
GetSubStringByName(Quellstring, 'nachname'); //liefert als Ergebnis den Teil der hinter nachname= steht
Falls du den anderen Aufruf bevorzugst, dann könnte das so aussehen:
Delphi-Quellcode:
type
TSubstring = (ssSpieltag, ssNachname, ssVorname, ssTippstring);
const
CSubstring: Array[TSubstring] of Shortstring = ('spieltag', 'nachname', 'vorname', 'tippstring');
function GetSubStringByName2(AStr: String; const ASubstring: TSubstring): String;
var
sl: TStringList;
begin
sl := TStringList.Create;
try
sl.Delimiter := '|';
sl.StrictDelimiter := True;
sl.DelimitedText := AStr;
Result := sl.Values[CSubstring[ASubstring]];
finally
sl.Free;
end;
end;
//Aufruf:
GetSubStringByName2(Quellstring, ssNachname); //liefert als Ergebnis den Teil der hinter nachname= steht
Diese beiden Varianten richten sich nur nach dem, was VOR dem "=" steht und funktionieren auch wenn sich die Reihenfolge ändert.
Jetzt solltest du nur noch verstehen, was in den beiden Routinen passiert...