Nja, es sieht halt etwas "ungewohnt" aus,
vorallem wenn man sich mal die Parameterdefinitionen anderer Programme ansieht.
Drum wollte ich die Definitionen eigentlich nicht ändern
und hab gehofft man könne Delphi dennoch irgendwie zum Ersetzen bewegen.
z.B. wurde auch das probiert,
(IniFile=)$PROJECT CreateIni=yes
IniFile=($PROJECT) CreateIni=yes
wobei hier alles zwischen ( und ) einfach nur weggelassen wird.
Aktuell hab ich aber dennoch erstmal meinen Parser (und den Reg-Editor) etwas umgebaut,
womit nun auch Nachfolgendes geht.
Allerdings muß man ja auch aufpassen, daß die Definitionen relativ eindeutig sind, um Fehlinterpretationen zu vermeiden.
Code:
IniFile=$PROJECT CreateIni=yes
==IniFile $PROJECT CreateIni=yes
==IniFile $PROJECT ==CreateIni yes
Delphi-Quellcode:
Function ReadParam(Name: String; toLower: Boolean = False): String;
Var i: Integer;
Begin
Result := '';
Name := LowerCase(Name) + '=';
For i := ParamCount downto 1 do
If Pos(Name, Trim(LowerCase(ParamStr(i)))) <> 0 Then Begin
Result := Trim(Copy(ParamStr(i), Length(Name) + 1));
Break;
End;
Name := '==' + LowerCase(Name);
If Result = '' Then
For i := ParamCount - 1 downto 1 do
If (Name = LowerCase(ParamStr(i))) and ((i <= 1)
or (Copy(ParamStr(i - 1), 1, 2) <> '==')) Then Begin
Result := Trim(ParamStr(i + 1));
Break;
End;
If toLower Then Result := AnsiLowerCase(Result);
End;