Öffnen Sie eine beliebige Datei in einem Memo?

8

In Notepad können Sie jede Datei öffnen und es werden die Rohdaten darin angezeigt.

Ich würde das gerne in einem TMemo machen, habe aber Mühe, herauszufinden, wie das geht.

Ich habe es geschafft, diesen Code hier zu finden.

Ich habe es zu einer Funktion geändert und für meine Zwecke leicht geändert:

%Vor%

Es funktioniert, aber es wird nur in einer festen Anzahl von Zeichen pro Zeile angezeigt:

Was muss ich ändern, damit es alle Memos auf die gleiche Weise füllt wie der Editor?

    
David Heffernan 08.03.2012, 18:57
quelle

2 Antworten

9

Nun, es ist der if (i mod 16) = 0 -Test, der die Zeilen mit 16 Zeichen abschneidet.

Ich glaube, dass Notepad dasselbe tut wie dieser Code:

%Vor%

Wenn Sie nicht druckbare Zeichen durch '.' ersetzen wollen, können Sie dies leicht tun, indem Sie den obigen Code wie folgt ändern:

%Vor%     
David Heffernan 08.03.2012, 19:12
quelle
3

TStrings wurde zu TEncoding -aware in D2009. Standardmäßig verwendet TStrings.LoadFrom...() TEncoding.Default , sofern Sie nichts anderes angeben. Ich würde vorschlagen, eine benutzerdefinierte TEncoding abgeleitete Klasse zu implementieren, die rohe 8-Bit-Daten liest / schreibt, zB:

%Vor%

.

%Vor%

Dann kannst du es so benutzen:

%Vor%     
Remy Lebeau 08.03.2012 23:22
quelle

Tags und Links