AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateityp auslesen

Ein Thema von Balu der Bär · begonnen am 13. Okt 2006 · letzter Beitrag vom 13. Okt 2006
Antwort Antwort
Balu der Bär
(Gast)

n/a Beiträge
 
#1

Dateityp auslesen

  Alt 13. Okt 2006, 10:43
Moin,

ich hab mich jetzt schon dumm und dusselig gesucht, kann es aber einfach nicht finden. Ich möchte gerne den Dateityp einer Datei auslesen, sprich also wenn ich auf eine *.txt-Datei rechtsklicke und Eigenschaften wähle, zeigt der Windows-Dialog mir unter Dateityp Textdatei an. Wie kann ich dies aus meinem Programm heraus auslesen? Praktisch wäre wenn man parallel dazu noch auslesen könnte, mit welchem Programm dieser Dateityp standardmäßig verknüpft ist. Hat da jemand eine Idee? Danke schonmal.
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Dateityp auslesen

  Alt 13. Okt 2006, 10:45
Schau in die Registry
Uwe
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#3

Re: Dateityp auslesen

  Alt 13. Okt 2006, 10:50
Zitat von uwewo:
Schau in die Registry
Die Registry ist groß, hast du da zufällig einen genaueren Pfad?
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#4

Re: Dateityp auslesen

  Alt 13. Okt 2006, 10:55
HKCR\.txt

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#5

Re: Dateityp auslesen

  Alt 13. Okt 2006, 10:57
Ah okay, danke erstmal.
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#6

Re: Dateityp auslesen

  Alt 13. Okt 2006, 11:10
Also provisorisch geht es erstmal so:
Delphi-Quellcode:
function GetContentType(FileExt: String) : String;
begin
  with TRegistry.Create do
  begin
    try
      Rootkey := HKEY_CLASSES_ROOT;
      if OpenKey(FileExt, True) then
      begin
        result := ReadString('Content Type');
      end;
    finally
      Free;
    end;
  end;
end;
Das Ergebnis ist jedoch nicht unbedingt was ich haben wollte, so bringt eine Abfrage von .txt z.B. text/plain, der Windows Explorer zeigt aber "Testdokument" an. Wie kann ich exakt diesen Wert auslesen? Bei Photoshop-Dateien gibt es nämlich z.B. gar keinen Key "Content Type", sodass dort nichts ausgelesen werden kann.
  Mit Zitat antworten Zitat
Thorben77

Registriert seit: 22. Okt 2004
359 Beiträge
 
#7

Re: Dateityp auslesen

  Alt 13. Okt 2006, 11:23
Durch ein bisschen Suchen gefunden:
Im Schlüssel „.txt“ gibt es bei mir als Standardwert „txtfile“, wenn man dann bei HKCR unter „txtfile“ guckt, gibt's wieder 'nen Standardwert: das gesuchte „Textdatei“. (Ich hoffe mal, dass das für alle Dateitypen so zu finden ist.)
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#8

Re: Dateityp auslesen

  Alt 13. Okt 2006, 11:30
@Balu: Du könntest auch einen Blick in die berühmten Win32-API-Tutorials von Luckie werfen. In der List-View-Demo (erweitert von einem jungen, talentierten Programmierer mit den Initialen des Microsoft Installers ) findest du die [dp="SHGetFileInfo SHGFI_TYPENAME"]Lösung[/dp].
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#9

Re: Dateityp auslesen

  Alt 13. Okt 2006, 11:47
Danke an euch alle, es klappt jetzt.
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:00 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