Einzelnen Beitrag anzeigen

Benutzerbild von Amnon82
Amnon82

Registriert seit: 5. Jan 2005
186 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Parameter für eigenes Programm programmieren ...

  Alt 18. Feb 2005, 15:48
Ich hab nun diese Funktion gefunden:

Delphi-Quellcode:
function GetCmdLineSwitchValue(out AValue: string; const ASwitch: string; const IgnoreCase: Boolean = True): Boolean;
const
   CompareFunction: array[Boolean] of function(const s1,s2: string): Integer = ( CompareStr, CompareText );
var
   iCmdLine,iSplit: Integer;
   s,sName,sValue: String;
begin
   Result := False;

   for iCmdLine := 1 to ParamCount do
   begin
      s := ParamStr(iCmdLine);


      if not (s[1] in ['-','/']) then
         Continue;

      Delete(s,1,1);
      iSplit := Pos(':',s);
      if iSplit = 0 then
         iSplit := Pos('=',s);

      if iSplit = 0 then
         Continue;

      sName := Copy(s,1,iSplit-1);
      sValue := Copy(s,iSplit+1,666);

      if CompareFunction[IgnoreCase](ASwitch,sName) = 0 then
      begin
         AValue := sValue;
         Result := True;
         Break;
      end;
   end;
end;
Sie stammt aus dieser Unit: UCommandLine

Mit Programm.exe -TXT:"C:\zuoeffendestxtfile" -shutdown kann ich dann bei create mit Hilfe folgendem Codes:

Delphi-Quellcode:
GetCmdLineSwitchValue(Value1,'ecl',False);
Edit2.Text:=value1;
if FindCmdLineSwitch('shutdown', ['-','/'], True) then checkbox2.checked:=true;
Nur wie kann ich die Funktion umschreiben, damit Programm.exe -TXT "C:\zuoeffendestxtfile" -shutdown funktioniert. Sprich ohne dem : hinter -TXT
  Mit Zitat antworten Zitat