Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Desktop.ini datei öffnen (https://www.delphipraxis.net/100569-desktop-ini-datei-oeffnen.html)

xZise 30. Sep 2007 18:26


Desktop.ini datei öffnen
 
Hi Dp,
wie kann ich mit Delphi Unicode Inidateien öffnen?

MfG
xZise

Garfield 30. Sep 2007 18:47

Re: Desktop.ini datei öffnen
 
Du kannst sie in eine TTNTStringList oder WideStringList (Unit WideStrings) laden.

Oder die Unit TIniFiles nehmen, unter anderem Namen speichern, die Class TIniFile entfernen und den Rest von Ansi auf Wide ändern. Wobei die TStringlist am besten mit TTNTStringlist ersetzt wird. Bei WideStringList muss die zu öffnende Datei sonst ganz sicher Unicode sein.

xZise 30. Sep 2007 20:35

Re: Desktop.ini datei öffnen
 
Hi,
ich habe mir mal das komplette TNTPack gedownloadet und installiert.
Allerdings habe ich nun versucht die "TTNTIniFile" zu verwenden, aber leider funktioniert das irgendwie nicht:
Delphi-Quellcode:
with TTntIniFile.Create(FPath + sr.Name + '\Desktop.ini') do
  try
    pathbuffer := ReadString('.ShellClassInfo', 'InfoFile', '');
    if Length(pathbuffer) >= 1 then
    begin
      if pathbuffer[1] = '%' then
      begin
        pathbuffer := Copy(pathbuffer, 2, Length(pathbuffer) - 1);
        idx := Pos('%', pathbuffer);
        pathbuffer := Copy(pathbuffer, 1, idx - 1);
        pathbuffer := GetEnvironmentVariable(Copy(pathbuffer, 1, idx - 1)) + Copy(pathbuffer, idx + 1, Length(pathbuffer) - idx);
      end;
      idx := 0;
    end else
      idx := 0;
  finally
    Free;
  end;
Aber ich bekomme immer nur einen Leerstring !
Obwohl die Datei existiert:
Zitat:

[.ShellClassInfo]
IconFile=%SystemRoot%\system32\SHELL32.dll
IconIndex=85

gsh 30. Sep 2007 21:21

Re: Desktop.ini datei öffnen
 
Zitat:

Zitat von xZise
Delphi-Quellcode:
pathbuffer := ReadString('.ShellClassInfo', 'InfoFile', ''); //<-- hier
Zitat:

[.ShellClassInfo]
IconFile=%SystemRoot%\system32\SHELL32.dll
IconIndex=85

hab kurz drauf geschaut ... müsste es nicht IconFile anstatt InfoFile heißen?

Garfield 30. Sep 2007 21:31

Re: Desktop.ini datei öffnen
 
Zitat:

Zitat von gsh
hab kurz drauf geschaut ... müsste es nicht IconFile anstatt InfoFile heißen?

Das dürfte es sein.

Das TTNTIniFile hatte sich bei mir mit DXGettext gebissen, weshalb ich es nicht verwendet habe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:51 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 by Thomas Breitkreuz