Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Memo/RichEdit läd nicht alles (https://www.delphipraxis.net/126581-memo-richedit-laed-nicht-alles.html)

Ruio 28. Dez 2008 20:23


Memo/RichEdit läd nicht alles
 
Ich habe hier ein Problem:
Delphi-Quellcode:
Memo1.Lines.LoadFromFile(dateiname);
Das Memo läd grade mal eine Zeile von mehreren Tausend.
Es gibt keine Fehlermeldung.
Woran liegt das?

roga 28. Dez 2008 20:30

Re: Memo/RichEdit läd nicht alles
 
Fehlt evt. ein Zeilenumbruch? Kann man in den Eigenschaften von TMemo einstellen. Auch das Anzeigen der Scrollbars.

Matze 28. Dez 2008 20:34

Re: Memo/RichEdit läd nicht alles
 
Das liegt sicher an irgendeinem Steuer-, Unicode-Zeichen oder ähnlichem.

Das Thema gab's aber schon öfters, beispielsweise hier.

Vielleicht hilft es, eine Unicode-Komponente zum Darstellen zu nutzen.

Grüße

Ruio 28. Dez 2008 20:47

Re: Memo/RichEdit läd nicht alles
 
Zitat:

Zitat von Matze
Das liegt sicher an irgendeinem Steuer-, Unicode-Zeichen oder ähnlichem.

Das Thema gab's aber schon öfters, beispielsweise hier.

Vielleicht hilft es, eine Unicode-Komponente zum Darstellen zu nutzen.

Grüße

Jetzt wo du's sagst...
Kansst du mir mal so eine Komponente nennen? (Wenn ja, dann sag auch gleich bei welchem Kategorie)

Eigentlich will ich ja nur die Zeilen die gleich sind entfernen.

Matze 28. Dez 2008 20:50

Re: Memo/RichEdit läd nicht alles
 
Also bei Delphi 2005, das du laut Profil nutzt, ist meines Wissens nichts dabei. Erst ab Delphi 2009 glaube ich.

Ich denke, unicodefähige Komponenten findest du bei torry.net.

Grüße

Luckie 28. Dez 2008 20:50

Re: Memo/RichEdit läd nicht alles
 
Oft hilft es auch, wenn man sich die Daten dann mal mit einem Hex-Editor anguckt.

taaktaak 28. Dez 2008 20:51

Re: Memo/RichEdit läd nicht alles
 
Wozu dann Memo oder RichEdit?
Nimm doch gleich 'ne Stringliste.
Wie groß ist denn die Datei?

Ruio 28. Dez 2008 21:13

Re: Memo/RichEdit läd nicht alles
 
Mit StringListen gibts das selbe Problem wie mit den Memos.

Zitat:

Zitat von Luckie
Oft hilft es auch, wenn man sich die Daten dann mal mit einem Hex-Editor anguckt.

Das ist schlecht bei 6 MB großen Dateien.

Die Unicode-Komponenten von torry.net werde ich mal probieren.

taaktaak 28. Dez 2008 21:16

Re: Memo/RichEdit läd nicht alles
 
Na, dann sind da "unverdauliche" Steuerzeichen drin!

// edit: Du schreibst, dass du doppelte Zeilen eleminieren willst. Woran erkennst du die denn? An CRLF?

Fussball-Robby 28. Dez 2008 21:23

Re: Memo/RichEdit läd nicht alles
 
Das kann aber auch ohne zusaätzliche Komponenten gehen, probiers mal damit.

Edit: Oh das war Quatsch, funktioniert wohl auch nicht. aber ich hatte hier mal eine Routine dafür gefunden, ich suche mal..

Edit2: Das hier hilft vielleicht.

Ruio 28. Dez 2008 22:39

Re: Memo/RichEdit läd nicht alles
 
Das aus dem Edit 2 sieht gut aus.

Danke :)

Luckie 29. Dez 2008 09:03

Re: Memo/RichEdit läd nicht alles
 
Zitat:

Zitat von Ruio
Zitat:

Zitat von Luckie
Oft hilft es auch, wenn man sich die Daten dann mal mit einem Hex-Editor anguckt.

Das ist schlecht bei 6 MB großen Dateien.

Wie so ist das schlecht? Du sdollst ja nicht jedes einzelne Zeichen angucken. Sondern nur mal gucken, was du da eigentlich für Daten hast.

Die Muhkuh 29. Dez 2008 09:48

Re: Memo/RichEdit läd nicht alles
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von Ruio
Zitat:

Zitat von Luckie
Oft hilft es auch, wenn man sich die Daten dann mal mit einem Hex-Editor anguckt.

Das ist schlecht bei 6 MB großen Dateien.

Wie so ist das schlecht? Du sdollst ja nicht jedes einzelne Zeichen angucken. Sondern nur mal gucken, was du da eigentlich für Daten hast.

Eben, schon ein einfaches 00h reicht aus, um nur bis zu dieser Stelle hin zu laden :zwinker:

Oreaden 29. Dez 2008 09:51

Re: Memo/RichEdit läd nicht alles
 
Ich rätsle derzeit, mit dem ORAKEL weshalb man Komponenten benötigt, wenn man nur die doppelten Zeilen entfernen möchte? Wir wissen nicht wieso so etwas nötig wäre...

Hier sollte doch eine einfache While Schleife genügen, in der die Lese-/Schreiboperationen mit readln/writeln durchgeführt werden, natürlich mit der korrekten Datentypsdefinition. Hier wäre dann das Dateiendezeichen ^Z, sollte aber beim geeigneten Datentyp automatisch richtig interpretiert werden, ansonsten, kann man ja auch die Datei Zeichenweise oder Blockweise lessen oder schreiben, welche nur die Länge der Datei voraussetzen. Hier müsstest Du halt deine Strings selbst im richtigen Typ zusammensetzen, vergleichen und nur die nötigen zurückschreiben.

Noch einen schönen und erfolgreichen Arbeitstag
OREADEN

SirThornberry 29. Dez 2008 10:16

Re: Memo/RichEdit läd nicht alles
 
Zitat:

Zitat von Oreaden
Ich rätsle derzeit, mit dem ORAKEL weshalb man Komponenten benötigt, wenn man nur die doppelten Zeilen entfernen möchte? Wir wissen nicht wieso so etwas nötig wäre...

Hier sollte doch eine einfache While Schleife genügen, in der die Lese-/Schreiboperationen mit readln/writeln durchgeführt werden, natürlich mit der korrekten Datentypsdefinition. Hier wäre dann das Dateiendezeichen ^Z, sollte aber beim geeigneten Datentyp automatisch richtig interpretiert werden, ansonsten, kann man ja auch die Datei Zeichenweise oder Blockweise lessen oder schreiben, welche nur die Länge der Datei voraussetzen. Hier müsstest Du halt deine Strings selbst im richtigen Typ zusammensetzen, vergleichen und nur die nötigen zurückschreiben.

Noch einen schönen und erfolgreichen Arbeitstag
OREADEN

:thumb: Ich sehe es ebenso das eine Komponente mit Kanonen auf Spatzen geschossen ist. Erst recht muss es keine visuelle Komponente sein. Komponenten sind zwar meist einfach zu gebrauchen jedoch decken sie in aller Regel recht viele Fälle ab weshalb man mit einer Speziallösung da mehr Performance hat.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 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