Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Dateitypverknüpfung und Parameter mit Leerzeichen (https://www.delphipraxis.net/154446-dateitypverknuepfung-und-parameter-mit-leerzeichen.html)

TheMiller 10. Sep 2010 18:58

Dateitypverknüpfung und Parameter mit Leerzeichen
 
Hallo *,

ich habe eine Funktion (ich glaube von den Schweizern) verwendet, um meinen Dateityp mit meinem Programm zu verknüpfen. Funzt alles prima, die Datei wird in meinem Programm geladen.

Ein Problem besteht allerdings, wenn der Dateiname Leerzeichen enthält. Ich habe extra Anführungszeichen bei der Registrierung angegeben, aber diese werden nicht berücksichtigt, sodass jedes neue Wort ein neuer Parameter ist.

Hier mal die Funktion und der Aufruf:

Delphi-Quellcode:
function InstallExt(Extension, ExtDescription, FileDescription, OpenWith, ParamString: string; IconIndex: Integer = 0): Boolean;
var
  Reg: TRegistry;
begin
  Result := False;

  if Extension <> '' then
  begin
    if Extension[1] <> '.' then
      Extension := '.' + Extension;

    Reg := TRegistry.Create;
    try
      Reg.RootKey := HKEY_CLASSES_ROOT;
      if Reg.OpenKey(Extension, True) then
      begin
       Reg.WriteString('', ExtDescription);
       if Reg.OpenKey('\' + ExtDescription, True) then
       begin
         Reg.WriteString('', FileDescription);
         if Reg.OpenKey('DefaultIcon', True) then
         begin
           Reg.WriteString('', Format('%s,%d', [OpenWith, IconIndex]));
           if Reg.OpenKey('\' + ExtDescription + '\Shell\Open\Command', True) then
           begin
             Reg.WriteString('', Format('"%s" "%s"', [OpenWith, ParamString]));
             Result:=True;
           end;
         end;
       end;
     end;
  finally
    Reg.Free;
  end;
  end;
end;

InstallExt('.abc', 'Meine-Datei', 'Datei importieren', ParamStr(0), '"%1"', 0);
Was habe ich nun falsch gemacht? Ich komme einfach nicht drauf.

Vielen Dank

Christian Seehase 10. Sep 2010 22:51

AW: Dateitypverknüpfung und Parameter mit Leerzeichen
 
Moin,

wenn ich mir die Funktion so recht anschaue, dann werden die "" schon von der Funktion geschrieben.
Ich vermute mal, dass sich die """" aufheben.

TheMiller 11. Sep 2010 11:22

AW: Dateitypverknüpfung und Parameter mit Leerzeichen
 
Moin zurück ;)

Ja vielen Dank. Das ist mir gestern Abend dann auch aufgefallen. Ich war dann leider nur nicht mehr am PC und habe so das Antworten vergessen.

Aber genau das war's!


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz