Einzelnen Beitrag anzeigen

choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#2

Re: Reagieren auf Optionale Parameter

  Alt 9. Dez 2003, 12:18
Warum machst Du es nicht so, wie bei optionalen Parametern zB bei INI-Dateien?

Ich stelle mit eine Klasse vor, die eine Menge von Parametern und deren Werte verknüpfen kann (ähnlich wie TIniFile), natürlich kannst Du das ganze auch mit einem großen String und div funktionen machen (hier eignen sich Hier im Forum suchenReguläre Ausdrücke).

Dann könnte die Klasse zB eine Methode zum Ermitteln, ob es einen Schlüssel (Parameternamen) gibt, implementieren
TMyClass.HasKey(const AName: string): Boolean eine Methode, die tatsächlich den Wert des Schlüssels (Parameter) liest, nur intern verwendet wird und bei nicht-Existenz dieses Schlüssel eine Exception wirft
TMyClass.DoReadKey(const AName: string): string Die tatsächliche Lösung für Dein Problem könnte dann so aussehen
Delphi-Quellcode:
TMyClass.ReadStringKey(const AName: string;
  const ADafault: string=''): string;
begin
  if HasKey(AKey) then
    Result:= DoReadKey(AName)
  else
    Result:= ADefault;
end;
bzw für Zahlenwerte
Delphi-Quellcode:
TMyClass.ReadIntKey(const AName: string;
  const ADefault: Integer = 0): Integer;
begin
  Result:= StrToInt(ReadStringKey(AKey, IntToStr(ADefault));
end;
und im Programm schreibst Du dann einfach
Delphi-Quellcode:
myUhrzeit:= myParams.ReadHourKey('u', DefaultHour);
myEntryCount:= myParams.ReadIntKey('l', DefaultEntryCount);
Die Beispiele sind nicht getestet!
gruß, choose
  Mit Zitat antworten Zitat