![]() |
AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen
Delphi-Quellcode:
Beim LoadFromFile siehe Encoding-Parameter.
MyStringList.LoadFromFile(Dateiname);
Memo1.Lines.Text := MyStringList.Text; // oder MyStringList.LoadFromFile(Dateiname); Memo1.Lines.Assign(MyStringList); // oder MyStringList.LoadFromFile(Dateiname); Memo1.Lines.Clear; Memo1.Lines.AddStrings(MyStringList); // oder einfach nur Memo1.Lines.LoadFromFile(Dateiname); Und daß das Memo bei #0 aufhört, ist völlig normal ... es ist eine Sache der WinAPI und da kann Emba auch rein garnichts machen. Es währe grob fahrlässig, wenn Emba hier einfach eine Zeichenkonvertierung in die TStringList einbaut, nur weil du keine Lust hast die Daten richtig zu laden und notfalls "ungültige" Zeichen zu ersetzen. |
AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen
Was willst du überhaupt angezeigt haben?
Und wofür? Ich hab so das Gefühl dass dein ganzer Steuerzeichen-Kram nicht so das Wahre ist. Oder anders gefragt: Was hast du überhaupt vor in deinem Projekt? |
AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen
Eins vorab:
Ich habs verstanden warum es nicht geht und hoffe keine weitere Diskussion draus zu machen. Es liegen mir eben manchmal Dateien vor, die Steuerzeichen enthalten und manchmal eben nicht. Ich möchte aber mit ein und der selben Routine, diese Datei einlesen und anzeigen. Ich möchte eben auch die Funktionen wie Delete, Count usw. einer TStringList nehmen, deswegen gehe ich auch über die TStringList. Wichtig für mich sind nicht die Steuerzeichen anzuzeigen oder kryptische Zeichen, ich will den normalen Text, der dahinter vielleicht wieder kommt sehen. Ich könnte mir also die TStringList überschreiben und beim Laden evtl. vorhandene Steuerzeichen einfach raus löschen. Ich will die ja gar nicht haben/sehen. Grüße |
AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen
Wenn so ein Dateiinhalt angezeigt werden soll, dann muss man sich in Abhängigkeit von der verwendeten Anzeigekomponente um die Präsentierung der Daten kümmern.
Ein TMemo kann nur Text anzeigen und bei einem #0 wird alles danach verworfen (nicht angezeigt). Also kann man für die Anzeige diese #0 durch etwas anderes ersetzen (z.B. mit
Delphi-Quellcode:
). Das eignet sich natürlich nicht mehr zum Bearbeiten.
'#00'
Oder man bemüht eine andere Komponente (im Zweifelsfall muss man sich eine selber erstellen), die dass dann so anzeigt, wie es Notepad++ macht. |
AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen
Ich will es doch gar nicht anzeigen !!
:twisted: |
AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen
Zitat:
Sind keine enthalten, werden die auch nicht entfernt. |
AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen
Es gibt nunmal einige Zeichen, die nicht "darstellbar" sind.
Das sind vorallem die Contols C0 (also alles vor dem Leerzeichen > #0 bis #31) und auch im Controls C1 (#128..#159) sind manchmal solche Zeichen drin. (je nach Codepage, bzw. Interpreter) ![]() Und weiter oben im Unicode gibt es ebenfalls bestimmte Bereiche, wo dieses gilt. Vorallem siehe unten die komplette rechte Spalte (Specials bis Noncharacters in Charts) Für die Contols C0 gibt es "sichtbare" Zeichen, welche man als Ersatz für die Steuerzeichen nutzen kann, wenn man sie anzeigen will. Technical Symbols > Control Pictures Steuercodes sind Steuercodes. Sie steuern also irgendwas und (standardmäßig) zeigen nichts an, jenachdem wer sie ob und wie interpretiert. Und dann kommt es auch noch auf die verwendete Schriftart und registrierte Weiterleitungen drauf an, welche Zeichen letztendlich tatsächlich darstellbar sind. |
AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen
Du willst es in ein Memo schreiben, aber nicht anzeigen? :gruebel:
|
AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen
Ja ich will die Datei im Memo anzeigen und nein, ich will in dem Memo die Steuerzeichen nicht sehen.
Ich werde jetzt einfach vor dem Laden der Datei prüfen, ob ich Steuerzeichen darin finde, diese dann ggf. rauslöschen und wieder meine Stringlist Routine zum einlesen nehmen. Grüße |
AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen
Das ist doch im Wesentlichen das, was Sir Rufo beschrieben hat.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 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