AGB  ·  Datenschutz  ·  Impressum  







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

Datei öffnen...

Ein Thema von Patrick.Knott · begonnen am 8. Mär 2007 · letzter Beitrag vom 8. Mär 2007
Antwort Antwort
Patrick.Knott

Registriert seit: 7. Mär 2007
Ort: Breitungen
8 Beiträge
 
#1

Datei öffnen...

  Alt 8. Mär 2007, 14:53
Halle Delphiprogger,

Mal was ganz einfaches, dachte ich...

Ich will aus einem Ordner den ich vorher ausgewält habe die Datei desktop.ini öffnen...

Zitat:
[.ShellClassInfo]
LocalizedResourceName=@%SystemRoot%\system32\shell 32.dll,-21802
InfoTip=@%SystemRoot%\system32\shell32.dll,-12688
IconResource=%SystemRoot%\system32\shell32.dll,-236
Ich versuch dies indem ich sie so laden will...

Delphi-Quellcode:
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
  if fileexists(BrowseForFolder1.FolderName + '\desktop.ini') then
    begin
      memo1.Clear;
      memo1.Lines.LoadFromFile(BrowseForFolder1.FolderName + '\desktop.ini');
    end
  end;
end.
Leider erscheint dann im Memo nur -> yQ <- !

Was mache ich falsch?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Datei öffnen...

  Alt 8. Mär 2007, 14:56
TMemo ist nicht Unicode-Fähig und diese Ini-Dateien liegen vermutlich Unicode-Codiert vor.
Endweder beim Einlesen umcodierung (Funktion gibts in der Codelib) oder Unicodefähige Controls wie Elpack oder TNTWare verwenden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Patrick.Knott

Registriert seit: 7. Mär 2007
Ort: Breitungen
8 Beiträge
 
#3

Re: Datei öffnen...

  Alt 8. Mär 2007, 16:01
Sry also ich habe eine Unicode Datei und in was muss ich die Konvertieren also in welches Format?

ANSI? UTF8?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Datei öffnen...

  Alt 8. Mär 2007, 16:09
Wenn du das normale TMemo verwenden willst mußt du es nach Ansi konvertieren.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Patrick.Knott

Registriert seit: 7. Mär 2007
Ort: Breitungen
8 Beiträge
 
#5

Re: Datei öffnen...

  Alt 8. Mär 2007, 16:58
Ich hab auf irgenteiner Japanischen Webseite folgendes gefunden...

Delphi-Quellcode:
function HexToInt(hex:string):cardinal;
const cHex='0123456789ABCDEF';
var mult,i,loop:integer;
begin
      result:=0;
      mult:=1;
      for loop:=length(hex)downto 1 do
      begin
       i:=pos(hex[loop],cHex)-1;
       if (i<0) then i:=0;
       inc(result,(i*mult));
       mult:=mult*16;
      end;
end;

function UnicodeToAnsi(SubUnicode: string):string; var a:array[0..500] of char;
      s1,s2:char;
      substr1,substr2,s:string;
      str:string;
      i:integer;
   begin
     if length(SubUnicode) mod 4 = 0 then
     Begin
      str:='';
       for i:=1 to length(SubUnicode) div 4 do
       Begin
         s:='';
         substr1:=copy(SubUnicode,i*4-3,2);
         substr2:=copy(SubUnicode,i*4-1,2);
         s1:=chr(hextoint(substr1));
         s2:=chr(hextoint(substr2));
         s:=s+s2+s1;
         strpcopy(a,s);
         str:=str+copy(widechartostring(@(a[0])),1,2);
       end;
       result:=str;
     end;
   end;

Ich hab es so versucht, leider funktionierts nett wirklich..

Delphi-Quellcode:
procedure TForm1.BitBtn3Click(Sender: TObject);
var
st: TStringlist;
z: integer;
i: integer;
begin
  if fileexists(BrowseForFolder1.FolderName + '\desktop.ini') then
    begin
      st := TStringlist.Create;
      st.LoadFromFile(BrowseForFolder1.FolderName + '\desktop.ini');
      z:= st.Count;
      for i:= 0 to z do
       begin
        memo1.text:= UnicodetoAnsi(st);
        end;
      end;
    st.Free;
end;
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Datei öffnen...

  Alt 8. Mär 2007, 18:06
Wenn dann
memo1.lines.add(UnicodetoAnsi(st[i]); );
Und bedenke, dass du so immer die sl freigibst, auch wenn sie möglicherweise garnicht erstellt wurde
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Patrick.Knott

Registriert seit: 7. Mär 2007
Ort: Breitungen
8 Beiträge
 
#7

Re: Datei öffnen...

  Alt 8. Mär 2007, 20:03
Zitat:
Listenindex überschreitet das Maximum (1)
Ich dachte immer es währen andere Dinger die mir mehr Probleme machen als das Konvertieren...
Kann es sein das man schon während die Datei geladen wird sie konviertieren muss
  Mit Zitat antworten Zitat
Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Datei öffnen...

  Alt 8. Mär 2007, 20:12
Zitat von Patrick.Knott:
Kann es sein das man schon während die Datei geladen wird sie konviertieren muss
Verdammt, er hat es gemerkt...

Also die Datei in eine StringList zu packen, welche fast das gleiche ist wie ein TMemo (Hinter dem control) ist nicht so die schlauste art...

Installiere dir einfach die TNT Komponenten, die kosten nix und bieten vollen Unicode Support

Bye Christian
Christian
  Mit Zitat antworten Zitat
Patrick.Knott

Registriert seit: 7. Mär 2007
Ort: Breitungen
8 Beiträge
 
#9

Re: Datei öffnen...

  Alt 8. Mär 2007, 20:15
Hab ich mir fast schon gedacht .

Ich probiers aus...
  Mit Zitat antworten Zitat
Patrick.Knott

Registriert seit: 7. Mär 2007
Ort: Breitungen
8 Beiträge
 
#10

Re: Datei öffnen...

  Alt 8. Mär 2007, 21:32
Jaaaaaaaa... ihr seit ganz toll..

Vielen Dank alles ander ist ein klax

  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 01:59 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