Entwickler-Ecke

Dateizugriff - Dateityp aus der Registry auslesen


galagher - Di 17.09.13 17:30
Titel: Dateityp aus der Registry auslesen
Hallo!

Wie kann ich mit Delphi den Dateityp aus der Registry auslesen, ohne, dass dazu eine existierende Datei zu nötig ist? Ich weiss, das steht irgendwo in der Registry, nur wie komme ich da ran?

Etwa so:
Result := GetFileDescription('txt'); Da sollte dann 'Textdatei' herauskommen.

lg
galagher


Gerd Kayser - Di 17.09.13 19:48

user profile icongalagher hat folgendes geschrieben Zum zitierten Posting springen:
Da sollte dann 'Textdatei' herauskommen.

So geht's:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
procedure TMainform.Button1Click(Sender: TObject);
var
  TempStr : String;
begin
  TempStr := GetFileDescription('.txt');
  ShowMessage(TempStr);
end;

// uses Registry;
function TMainform.GetFileDescription(Endung: String): String;
var
  Reg    : TRegistry;
  Fehler : Boolean;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKey_Classes_Root;

    if Reg.OpenKeyReadOnly(Endung) then      // nur Lesezugriff
      begin
        Fehler := false;
        Result := Reg.ReadString('');        // '' = Standard-Schlüssel
      end
    else
      begin
        Fehler := true;
        Result := '1. Eintrag fehlt!';
      end;
    Reg.CloseKey;

    if not Fehler then
      begin
        if Reg.OpenKeyReadOnly(Result) then
          begin
            Result := Reg.ReadString('');
            if Result = '' then
              Result := '2. Eintrag fehlt!';
          end
      end;
    Reg.CloseKey;
  finally
    Reg.Free;
  end;
end


galagher - Di 17.09.13 20:19

Genau das, danke! :zustimm: