Autor Beitrag
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2510
Erhaltene Danke: 44

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 17.09.13 17:30 
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

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
Gerd Kayser
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 632
Erhaltene Danke: 121

Win 7 32-bit
Delphi 2006/XE
BeitragVerfasst: Di 17.09.13 19:48 
user profile icongalagher hat folgendes geschrieben Zum zitierten Posting springen:
Da sollte dann 'Textdatei' herauskommen.

So geht's:
ausblenden volle Höhe 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

Für diesen Beitrag haben gedankt: galagher
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2510
Erhaltene Danke: 44

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 17.09.13 20:19 
Genau das, danke! :zustimm:

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!