Autor Beitrag
hydemarie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Di 14.03.17 02:34 
Hm. Gut, gibt es denn eine sinnvolle Exception, die ich da auf dem Weg irgendwo abfangen könnte?
(Also: Versuch UTF8 - wenn Fehler, versuch ASCII - wenn Fehler, versuch ANSI - ...).
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.17 02:40 
- Nachträglich durch die Entwickler-Ecke gelöscht -
hydemarie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Di 14.03.17 02:42 
Keinen Stress, du kommst ja zu nix anderem mehr als meine doofen Fragen zu beantworten. :zustimm:
hydemarie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Di 14.03.17 02:47 
Ulkige Idee bzw. was funktioniert: TMBCSEncoding.
Mal basteln.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.17 02:51 
- Nachträglich durch die Entwickler-Ecke gelöscht -

Für diesen Beitrag haben gedankt: hydemarie
hydemarie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Di 14.03.17 02:54 
Hübsch, klingt aber, als wäre es bei einem Logviewer, der quasi dauernd das Log nachlädt, wenn es pausenlos weiter beschrieben wird, etwas unpraktisch.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.17 02:56 
- Nachträglich durch die Entwickler-Ecke gelöscht -
hydemarie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Di 14.03.17 02:59 
Das Encoding für das aktuelle "Form" ändert sich ja nicht dauernd. Das kann man ja beim ersten Mal direkt speichern.
hydemarie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Di 14.03.17 03:02 
Scheint nur bedingt zu funktionieren.

ausblenden Delphi-Quelltext
1:
OpenFile(FilesToOpen[i], TMBCSEncoding.Create(LastStoredEncoding));					


Alles bestens, wenn der int = 65001 und die Datei eine Unicodedatei ist. An ASCII-Dateien beißt sich TMBCSEncoding mit jeder übergebenen Zahl die Zähne aus. Auch 1252, obwohl 1252 eigentlich stimmen sollte. Ich schlafe mal drüber. (Bin voraussichtlich auch erst Mittwoch wieder fähig, dran zu arbeiten. Pardon!)
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.17 03:08 
- Nachträglich durch die Entwickler-Ecke gelöscht -

Für diesen Beitrag haben gedankt: hydemarie
hydemarie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Di 14.03.17 03:12 
Wenn es denn funktionieren würde. Aber ASCII ist halt keine Multi-Byte-Kodierung ...

Was tun?

Gute Nacht erst mal.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 14.03.17 07:51 
Muss es denn ein TRichEdit sein? Mit einem simplen TMemo gibt es in der Regel weniger Probleme.

Und um eine ganz andere Implementierung zu haben, wäre auch noch SynEdit eine Idee. Vor allem, wenn im Log etwas syntaktisch hervorgehoben werden soll (was ich wegen TRichEdit vermute?).
hydemarie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Di 14.03.17 10:16 
Ich möchte für zwei Dinge eine Möglichkeit zur einfachen Formatierung haben:

1) Livesuche im aktuellen Fenster.
2) Farbliche Kennzeichnung von bspw. DEBUG-Zeilen.

Und zwar gleichzeitig.

Mit TRichEdit geht das. :?
t.roller
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 118
Erhaltene Danke: 34



BeitragVerfasst: Di 14.03.17 12:24 
CurrentEncoding allein reicht als Parameter nicht aus.

Mit folgendem Code funktioniert es bei mir:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure TForm1.ButtonClick(Sender: TObject);
var
  Encoding : TEncoding;
  EncIndex : Integer;
begin
    EncIndex := OpenTextFileDialog1.EncodingIndex;
    Encoding := OpenTextFileDialog1.Encodings.Objects[EncIndex] as TEncoding;

if OpenTextFileDialog1.Execute then
    RichEdit1.Lines.LoadFromFile(OpenTextFileDialog1.FileName, Encoding);
end;


Zuletzt bearbeitet von t.roller am Di 14.03.17 15:49, insgesamt 2-mal bearbeitet

Für diesen Beitrag haben gedankt: hydemarie
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 14.03.17 13:17 
user profile iconhydemarie hat folgendes geschrieben Zum zitierten Posting springen:
1) Livesuche im aktuellen Fenster.
2) Farbliche Kennzeichnung von bspw. DEBUG-Zeilen.
Für beides benutze ich ein TSynMemo. Das ist sehr schnell und noch dazu auch dafür gedacht, während du beim TRichEdit die Zeilen erst markieren und deren Attribute ändern musst. Bei SynEdit gibt es dafür schlicht das Event OnSpecialLineColors, in dem ich die Farben nur setzen muss.

Für diesen Beitrag haben gedankt: hydemarie
hydemarie Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 475
Erhaltene Danke: 51



BeitragVerfasst: Di 14.03.17 13:49 
SynEdit wollte ich extra nicht unbedingt nutzen, hatte da Performancebedenken (externe Bibliotheken klingen immer nach Extrarechenaufwand). Wie gut kommt ein SynMemo mit einer 10-Megabyte-Datei klar? (Das ist so das avisierte Maximum.) - Nachtrag: Mbyte, nicht kbyte, natürlich.

Zitat:
CurrentEncoding allein reicht als Parameter nicht aus.


Danke!


Zuletzt bearbeitet von hydemarie am Di 14.03.17 16:07, insgesamt 1-mal bearbeitet
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 14.03.17 13:58 
Ähm... SynEdit ist deutlich schneller als TRichEdit, weil du bei TRichEdit durch die Attribute usw. einen relativ hohen Overhead hast...

Eine 3,5 MiB Delphiquelltextdatei (eine importierte Typbibliothek ;-)) wird hier inkl. Syntaxhighlighting in nicht einmal 100 Millisekunden geladen und angezeigt. ;-)

Für diesen Beitrag haben gedankt: hydemarie
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.17 14:08 
- Nachträglich durch die Entwickler-Ecke gelöscht -
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 14.03.17 14:28 
Wir benutzen Synedit auch unter 10.1 Berlin. Ich habe die Synedit Units aber in unser eigenes Komponentenpackage integriert um nicht bei jeder neuen Delphiversion so viele Package installieren zu müssen.

Zudem gibt es auch für 10.1 Berlin offizielle Packages. Siehe Repository:
github.com/SynEdit/SynEdit

Für diesen Beitrag haben gedankt: hydemarie
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.03.17 14:43 
- Nachträglich durch die Entwickler-Ecke gelöscht -