Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TMemo.Lines.LoadFromFile() (https://www.delphipraxis.net/130566-tmemo-lines-loadfromfile.html)

Satty67 10. Mär 2009 19:14

Re: TMemo.Lines.LoadFromFile()
 
Jaja, die Lösung habt Ihr quasi schon gepostet...
Delphi-Quellcode:
if FileExists('Ich_lasse_mich_nicht_öffnen.txt') then begin
  try
    Memo1.Lines.LoadFromFile('Ich_lasse_mich_nicht_öffnen.txt');
  except
    on EFOpenError do ShowMessage('Datei konnte nicht geöffnet werden.');
  end;
end else ShowMessage('Datei existiert nicht.');
<Edit>
Während ich mich hier mit Code abbreche ist der Thread leider schon viel weiter... lasse meinen Code jetzt trotzdem mal stehen.

DeddyH 10. Mär 2009 19:21

Re: TMemo.Lines.LoadFromFile()
 
Genauso in der Art hatte ich das ja auch gemeint :zwinker:

asusbob 10. Mär 2009 19:39

Re: TMemo.Lines.LoadFromFile()
 
Jup, hab ich jetzt auch so implementiert, danke :)

Roefe68 23. Nov 2011 12:45

AW: TMemo.Lines.LoadFromFile()
 
Hallo zusammen

Habe das Problem dass mir das LoadFromFile nicht den ganzen Textinhalt ins Memo lädt.

Delphi-Quellcode:
memoname.Lines.LoadFromFile(Dateiname);
Das Problem tritt nur bei meinem Win7 64-Bit Rechner auf.
Interessanterweise kann ich die Datei mit
Delphi-Quellcode:
ShellExecute(Handle,'open',PChar(Dateiname),Nil, nil, SW_NORMAL);
problemlos komplett öffnen

Kennt jemand das Problem oder besser die Abhilfe

Danke für die Hilfe
Röfe

mkinzler 23. Nov 2011 13:16

AW: TMemo.Lines.LoadFromFile()
 
Was bedeutet: nicht den gesamten Inhalt?

Roefe68 23. Nov 2011 14:20

AW: TMemo.Lines.LoadFromFile()
 
Hi

Die Datei wird geladen, aber nur die ersten paar Zeilen werden geladen.
also aus

[DATEIINHALT]
111111111111111111
222222222222222222
333333333333333333
444444444444444444
111111111111111111
222222222222222222
333333333333333333
444444444444444444
111111111111111111
222222222222222222
333333333333333333
444444444444444444
111111111111111111
222222222222222222
333333333333333333
444444444444444444
[/DATEIINHALT]

wird



[MEMOINHALT]
111111111111111111
222222222222222222
333333333333333333
444444444444444444
111111111111111111


[/MEMOINHALT]

himitsu 23. Nov 2011 14:36

AW: TMemo.Lines.LoadFromFile()
 
Auch wenn z.B. die TStringList intern nicht mit PChar arbeitet, wird dennoch immer beim Auffinden einer #0 die Verarbeitung abgebrochen.
Sobald also dieses Zeichen ( #0 ) in der Datei drin ist, wird alles ab da ignoriert.

PS: AssignFile+Read/ReadLn bricht bei #1A (EOF) ab und nicht bei #0.
Dies ist aber für das TMemo egal, da die API dieser Windows-Komponente sowieso nur mit PChar arbeitet.

Roefe68 23. Nov 2011 14:52

AW: TMemo.Lines.LoadFromFile()
 
Zitat:

Zitat von himitsu (Beitrag 1137526)
Auch wenn z.B. die TStringList intern nicht mit PChar arbeitet, wird dennoch immer beim Auffinden einer #0 die Verarbeitung abgebrochen.
Sobald also dieses Zeichen ( #0 ) in der Datei drin ist, wird alles ab da ignoriert.

PS: AssignFile+Read/ReadLn bricht bei #1A (EOF) ab und nicht bei #0.
Dies ist aber für das TMemo egal, da die API dieser Windows-Komponente sowieso nur mit PChar arbeitet.

Werde ich mal versuchen.
Danke für die Info

Luckie 23. Nov 2011 14:57

AW: TMemo.Lines.LoadFromFile()
 
Was himitsu eigentlich sagen wollte ist, guck dir die Datei mal mit einem Hexeditor an, ob da das Stringendezeichen enthalten ist. Notepad interpretiert die Textdatei eventuell als Unicode-Datei, dann spielt mitten drin ein einzelnes Stringendezeichen keine Rolle.

p80286 23. Nov 2011 14:59

AW: TMemo.Lines.LoadFromFile()
 
benutz doch mal eine Tstringlist um die Datei zu lesen.
Wenn die Anzahl der Zeilen, die gleiche ist (in Datei und Stringlist ) hat TMemo ein Darstellungsproblem.

Die zu lesende Datei mal mit einem Hex-Editor zu öffnen ist natürlich auch kein Fehler

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 Uhr.
Seite 2 von 3     12 3      

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-2025 by Thomas Breitkreuz