Einzelnen Beitrag anzeigen

Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#10

Re: Monatskürzel "Jan".."Dec" in 01..12

  Alt 29. Jan 2004, 01:27
Vorschlag für diesen und ähnliche Fälle: (TotalEdit nach 2xNachdenken)
Delphi-Quellcode:
function IndexOfArrayItem(TheArray : Array of String ;Item : String ):Integer; overload;
function IndexOfArrayItem(TheArray : Array of Byte ;Item : Byte ):Integer; overload;
function IndexOfArrayItem(TheArray : Array of Integer ;Item : Integer ):Integer; overload;
function IndexOfArrayItem(TheArray : Array of Char ;Item : Char ):Integer; overload;
function IndexOfArrayItem(TheArray : Array of Currency;Item : Currency):Integer; overload;
function IndexOfArrayItem(TheArray : Array of Double ;Item : Double ):Integer; overload;

// diese Funktion benutzt eine der oben deklarierten:
function EnglishMonthToInt(Month : String):Integer;

implementation

function IndexOfArrayItem(TheArray : Array of String;Item : String):Integer;
begin
  Result := Low(TheArray);
  while (Result <= High(TheArray))
    and (TheArray[Result] <> Item)
    do Inc(Result);
  if Result > High(TheArray)
    then Result := -1;
end;

function IndexOfArrayItem(TheArray : Array of Byte;Item : Byte):Integer;
begin
  Result := Low(TheArray);
  while (Result <= High(TheArray))
    and (TheArray[Result] <> Item)
    do Inc(Result);
  if Result > High(TheArray)
    then Result := -1;
end;

function IndexOfArrayItem(TheArray : Array of Integer;Item : Integer):Integer;
begin
  Result := Low(TheArray);
  while (Result <= High(TheArray))
    and (TheArray[Result] <> Item)
    do Inc(Result);
  if Result > High(TheArray)
    then Result := -1;
end;

function IndexOfArrayItem(TheArray : Array of Char;Item : Char):Integer;
begin
  Result := Low(TheArray);
  while (Result <= High(TheArray))
    and (TheArray[Result] <> Item)
    do Inc(Result);
  if Result > High(TheArray)
    then Result := -1;
end;

function IndexOfArrayItem(TheArray : Array of Currency;Item : Currency):Integer;
begin
  Result := Low(TheArray);
  while (Result <= High(TheArray))
    and (TheArray[Result] <> Item)
    do Inc(Result);
  if Result > High(TheArray)
    then Result := -1;
end;

function IndexOfArrayItem(TheArray : Array of Double;Item : Double):Integer;
begin
  Result := Low(TheArray);
  while (Result <= High(TheArray))
    and (TheArray[Result] <> Item)
    do Inc(Result);
  if Result > High(TheArray)
    then Result := -1;
end;

function EnglishMonthToInt(Month : String):Integer;
const
  MonthArray : Array[1..12] of String
              = ('JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC');
begin
  Result IndexOfArrayItem(MonthArray,Month);
end;
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat