AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Registry - FileExtensions eintragen
Thema durchsuchen
Ansicht
Themen-Optionen

Registry - FileExtensions eintragen

Ein Thema von Jarmen_Kell · begonnen am 22. Mär 2005 · letzter Beitrag vom 24. Mär 2005
 
Jarmen_Kell

Registriert seit: 17. Mär 2005
188 Beiträge
 
#1

Registry - FileExtensions eintragen

  Alt 22. Mär 2005, 18:10
Also unter der folgenden Url

http://www.dsdt.info/tipps/?id=236

habe ich eine Function gefunden, um Dateiendungen in die Registry einzutragen.

So das ganze sieht bei mir jetzt so aus.
Also auf einem Form befindet sich eine Check-List-Box (ClBoxFileAssis) u.A mit folgenden Items:

.mp2
.mp3
.wma

Dan wird bei einem ButtonOnClick das folgende gemacht:
Delphi-Quellcode:
var
I:Integer;
begin
 [...]
  for I:=0 to CLBoxFileAssis.Items.Count do
    if CLBoxFileAssis.Checked[I]
      then
        mainform.RegistExtension(ClBoxFileAssis.Items[I],ClBoxFileAssis.Items[I] + '-File','PhynPlayer',mainform.pppath + 'phynplayer.exe',ParamStr(0),'"%1"',0);
Dann in TMainform:

Delphi-Quellcode:
function Tmainform.RegistExtension(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;

Nun erscheint der folgende Fehler:
"Incompatible Types: Integer and String" soweit recht logisch. Aber in diesem Fall weiß ich nicht, was hier falsch ist.



Und dann noch etwas: würden damit beim Aufruf mehrerer Dateien über den Explorer auch alle Datei-Namen an das Prog übermittelt werden, oder nur einer davon?

Und denn Sinn von

ParamStr(0), '"%1"'

habe ich auch nicht so ganz verstanden


Joa, mal gucken, ob das jemand erklären kann ^^
Naja bestimmt
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz