Hallo Leuselator hallo Steffen,
falls ihr Euch für eine Variante mit
case entscheiden solltest, wäre es von Vorteil, wenn Ihr in Euren Schleifen von oben nach unten iteriert. Es wird so nicht nur etwas übersichtlicher
Delphi-Quellcode:
function IndexOfArrayItem(
const AnArray :
array of string;
const AnItem :
string):Integer;
begin
Result := High(TheArray);
while (Result >= Low(AnArray))
and (AnArray[Result] <> AnItem)
do Dec(Result);
end;
sondern bei großen Arrays ggf schneller, weil
Result >= Low(AnArray)
lediglich
Result gegen null testet, wohingegen ggf (sofern zB nicht mit
const gearbeitet wird, wie von Leuselator gezeigt)
Result <= High(AnArray)
jedesmal einen Speicherzugriff verursacht...
Wenn ich das ich richtig sehe, Steffen, besitzt Du D7E. Dort sollte es eine überladene Variante von
StrToDate geben, die mit eigenen Format-Einstellungen arbeiten kann. Für eine solche Verwendung könntest Du Dir mit
GetLocaleFormatSettings die entsprechenden US-Einstellungen in einer Variablen halten und Deine Umformung, durch eine Funktion gewrappt wie folgt gestalten:
Delphi-Quellcode:
function MyStringToDate(const AString: string): TDate;
begin
Result:= StringToDate(AString, MyStoredSettings);
end;