Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Welche Dateiendung soll ich verwenden? (https://www.delphipraxis.net/15676-welche-dateiendung-soll-ich-verwenden.html)

The-X 2. Feb 2004 17:58

Re: Welche Dateiendung soll ich verwenden?
 
ich glaub irgendwas mit 256 zeichen,
weiss ich aber nicht genau

FriFra 2. Feb 2004 20:28

Re: Welche Dateiendung soll ich verwenden?
 
Man kann übrigens für jede einzelne Extension auch einstellen, dass diese NICHT angezeigt wird, egal was sonst auf dem Rechner eingestellt ist ;) (Dafür setzt man den Wert "EditFlags" [REG_BINARY] für das entspr. Format auf 00 00 01 00) 8)
Ich verwende seit Jahren "unsichtbare" lange Extensions um meinen Konfigurationsdateien eigene Icons zuweisen zu können. Wenn man diese langen Extensions sehen würde, würde mich das allerdings schon etwas stören...

Stanlay Hanks 2. Feb 2004 20:31

Re: Welche Dateiendung soll ich verwenden?
 
Hi FriFra!
Dazu hätte ich zwei Fragen:

1. Sieht man diese Endungen auch nicht, wenn man in den Ordner Optionen entsprechende Änderungen vornimmt? Da gibts doch so ne Option "Bekannte Dateinamenserweiterungen ausblenden" oder so :gruebel:

2. Erscheint dann gar keine Endung?

Man liest sich, Stanlay :hi:

FriFra 2. Feb 2004 20:36

Re: Welche Dateiendung soll ich verwenden?
 
1. Nein, man sieht Die Endung nicht ;) (unter Win98, 98 SE, ME, 2000, XP, 2003 getestet)
2. Ja, es erscheint gar keine keine Endung. Die einzige Möglichkeit die Endung zu sehen ist wenn man auf die Datei über einen Open- bzw. SaveDialog zugreift und wenn deren Filter entspr. eingestellt ist sieht man den vollständigen Namen im Auswahlfenster, sonst aber nicht...

Du kannst Deine Datei dann aber immernoch "Meinedatei.ini.meineendung" nennen, dann sieht es aus wie eine ini mit anderem Icon ;) ... ich bin da mal zufällig drauf gestossen, als ich beim Download über NetAnts zip's mit anderem Symbol gesehen hab, obwohl ich mir immer alle extensions anzeigen lasse...

Stanlay Hanks 2. Feb 2004 20:40

Re: Welche Dateiendung soll ich verwenden?
 
Danke für die Antwort. Das wird gleich gespeichert. Kann man bestimmt später mal gut brauchen. :thumb:

Man liest sich, Stanlay :hi:

SirThornberry 2. Feb 2004 21:12

Re: Welche Dateiendung soll ich verwenden?
 
Ich nehm schon seit ewigkeiten die endung .sav Früher hatte ich udl aber seit windows 98 wird die endung ja irgendwie verwendet (sav = save / udl = user defined list)

Phoenix 2. Feb 2004 21:19

Re: Welche Dateiendung soll ich verwenden?
 
Es sind nach den alten Standards die Zeichen a-z, die Ziffern 0-9 und die Zeichen "_", "+" und "-" in Dateinamen und für die Dateinamenerweiterung erlaubt.

Das macht zusammen 39 Zeichen. 39*39*39 Kombinationsmöglichkeiten ergeben 59.319 verschiedene Kombinationsmöglichkeiten.

Ich denke, da wirst Du doch schon eine finden. z.B. 'Mein Eigenes Format' -> .mef
- und ich habe ehrlich gesagt noch nie eine .mef - Datei gesehen :)

SirThornberry 2. Feb 2004 21:26

Re: Welche Dateiendung soll ich verwenden?
 
@Frifra: Irgendwie bekomm ich das nicht hin - Ich hab unter HKey_Classes_Root\.mp3 einen Binärwert von "00 00 01 00" unter dem Namen EditFlags hinzugefügt aber es zeigt mir immer noch die dateiendung bei mp3s an.
.mp3 verweist bei mir auf winamp.file und auch darin hab ich das mit dem EditFlags probiert - auch ohne erfolg

FriFra 2. Feb 2004 21:47

Re: Welche Dateiendung soll ich verwenden?
 
:oops: Ups... da hab ich blödsinn geschrieben. Es muss ein Wert "NeverShowExt" eingefügt werden ;)

Ich verwende dafür immer folgende procedure:
Delphi-Quellcode:
procedure RegisterFileType(Extension: string; exepfad,
  description: string; IconIndex: integer);
var
  reg: TRegistry;
  Created: boolean;
  MyBin: array[0..3] of byte;
begin
  Created := False;
  try
    reg := TRegistry.Create;
    reg.RootKey := HKEY_CLASSES_ROOT;
    //create a new key --> .[Extension]
    reg.OpenKey('.' + Extension, True);
    try
      //create a new value for this key --> [Extension]file
      reg.Writestring('', Extension + 'file');
    finally
      reg.CloseKey;
    end;
    //create a new key --> [Extension]file
    reg.CreateKey(Extension + 'file');

    //write description
    reg.OpenKey(Extension + 'file', True);
    reg.Writestring('', description);
    reg.Writestring('NeverShowExt', '');
    if reg.ValueExists('AlwaysShowExt') = True then
      reg.DeleteValue('AlwaysShowExt');

    MyBin[0] := 0;
    MyBin[1] := 0;
    MyBin[2] := 1;
    MyBin[3] := 0;
    reg.WriteBinaryData('EditFlags', MyBin, 4);

    reg.CloseKey;

    //create a new key pcifile\DefaultIcon
    reg.OpenKey(Extension + 'file\DefaultIcon', True);
    //and create a value where the icon is stored --> c:\project1.exe,0
    if reg.Readstring('') <> exepfad + ',' + IntToStr(IconIndex) then
    begin
      Created := True;
      try
        reg.Writestring('', exepfad + ',' + IntToStr(IconIndex));
      finally
        reg.CloseKey;
      end;
      reg.OpenKey(Extension + 'file\shell\open\command', True);
      //create value where exefile is stored --> c:\project1.exe "%1"
      try
        reg.Writestring('', exepfad + ' "%1"');
      finally
        reg.CloseKey;
      end;
    end;
  finally
    reg.Free;
  end;
  if Created = True then
    SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;

SirThornberry 2. Feb 2004 22:09

Re: Welche Dateiendung soll ich verwenden?
 
mit deiner Funktion klappts aber wenn ich bei einem bestehenden Typ
den schlüssel "NeverShowExt" hinzufüge und EditFlags setze gehts nicht :-/
Ich hab auch versucht den zweig der mit der procedure erstellt wurde zu exportieren und dann in der .reg datei die daten abzuändern aber auch da klappt es nicht wenn ich die regdatei dann ausführe. Geht das ganze eventuell für txtfile usw gar nicht?


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:55 Uhr.
Seite 3 von 4     123 4      

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