![]() |
AW: Fastreport eine Textdatei laden
Stimmt (ich weiß, wovon ich rede :mrgreen:). Man hat einfach zuviel Zeit.
Aber um nochmal Feuer ins Gies zu ölen: Anstatt zu sagen 'Ich sag zu dem Thema nichts mehr' wäre es einfacher, einfach nichts zu dem Thema zu sagen. Andererseits: Wieso kann man nicht einfach mal Senf dazugeben aber mit der Bitte, diesen Senf heute mal nicht zu kommentieren. Ach ja, weil man Leute mit ihrem 20m langen und 5m breiten Schlips per se nicht verfehlen kann. Eine seltsame Mode, diese Riesenschlipse. :-D |
AW: Fastreport eine Textdatei laden
Hallo Zusammen,
sorry dass der Thread so aus dem Ruder läuft :-( Zur Sache wollte ich noch berichten, ich habe alle folgende Varianten nacheinander ausprobiert doch ohne Erfolg. Ich sehe immer Chinesische Zeichen. Es funktioniert nur über den Umweg einer TStringList.
Delphi-Quellcode:
Gruß Kostas
...
with TfrxMemoView(frxreport1.findobject( ObjectName )) do begin ... Lines.LoadFromFile(Datei); Lines.LoadFromFile(Datei, TEncoding.Default); Lines.LoadFromFile(Datei, TEncoding.ANSI); Lines.LoadFromFile(Datei, TEncoding.ASCII); Lines.LoadFromFile(Datei, TEncoding.BigEndianUnicode); Lines.LoadFromFile(Datei, TEncoding.Unicode); Lines.LoadFromFile(Datei, TEncoding.UTF7); Lines.LoadFromFile(Datei, TEncoding.UTF8); Memo.LoadFromFile(Datei); Memo.LoadFromFile(Datei, TEncoding.Default); Memo.LoadFromFile(Datei, TEncoding.ANSI); Memo.LoadFromFile(Datei, TEncoding.ASCII); Memo.LoadFromFile(Datei, TEncoding.BigEndianUnicode); Memo.LoadFromFile(Datei, TEncoding.Unicode); Memo.LoadFromFile(Datei, TEncoding.UTF7); Memo.LoadFromFile(Datei, TEncoding.UTF8); ... end; ... |
AW: Fastreport eine Textdatei laden
Zitat:
|
AW: Fastreport eine Textdatei laden
Zu dem Lines hatte ich grade noch was in meinem letzten Post geändert. (siehe das [edit] am Ende)
Aber grade sah ich das im Code.
Delphi-Quellcode:
Es geht also Lines und Memo. (ich würde dennoch zu Lines raten, denn das stimmt wenigstens mit der VCL ala TMemo überein, aber egal)
// analogue of Memo property
property Lines: TWideStrings read FMemo write SetMemo; So wie der Code für XE aussieht, sollten diese Vier
Delphi-Quellcode:
funktionieren. (eher Default, für dem entsprechen Code wo früher die ANSI-Funktionen verwendet wurde)
Lines.LoadFromFile(Datei, TEncoding.Default);
Lines.LoadFromFile(Datei, TEncoding.ANSI); Memo.LoadFromFile(Datei, TEncoding.Default); Memo.LoadFromFile(Datei, TEncoding.ANSI); Eine "aktuelle" FastReport-Version benutzt du aber? Nja, wenn es dennoch nicht geht, dann hat da wirklich mal jemand richtig Mist gebaut. (bei FastReport oder Embarcadero) Aber Hauptsache es gibt wenigstens eine funktionierende Lösung. :D |
AW: Fastreport eine Textdatei laden
Ich verwende aktuell Fastreport Version 4.13.3
Werde ich gleich mal aktualisieren und danach nochmals testen. Gruß Kostas |
AW: Fastreport eine Textdatei laden
Die klassische Foren-Situation. Da stellt wer eine harmlose Frage und Dritte (!) bekommen sich wegen Nichtigkeiten in die Haare.
Fügt etwas inhaltliches zum Thema bei oder lasst es bitte bleiben. Nicht jedem Krumen (Kommentare) muss man aufpicken. Wirklich nicht. |
AW: Fastreport eine Textdatei laden
Nur mal doof zum Thema gefragt:
Zitat:
Bin da am Rande auch an dem Thema interessiert, weil ich mit D6 eine CGI für ein Web-Portal in HTML5 und daher UTF-8 erstellen soll, wo auch Textbausteine aus Dateien kommen. Aber auch Daten aus einer Datenbank (MS SQLServer) wo Charset der Felder noch irgendein Ascii ISO ist. |
AW: Fastreport eine Textdatei laden
Wenn die Datei keine Codierungsinformationen enthält (bei textdateien das BOM), dann kann man versuchen die Bytes zu anlysieren (funktioniert aber nicht ganz sicher)
oder man verwendet ein Stantardformat. Bei Textdateien gehen viele Windows-Programme von ANSI aus. (z.B. bei XML ist es per Spezifikation überall UTF-8) Das TWideStrings geht aber ohne Info (Vorgabe per Encoding-Parameter oder über ein vorhandenes BOM) einfach von UTF-16 aus, was beim "chinesisch" enden muß, wenn es vorher ANSI oder UTF-8 war. TStrings/TStringList nimmt ohne Info daher CP_ACP also die ANSI-CodePage des Systems, damit der Code zu alten ANSI-Delphis (vor D2009) kompatibel bleibt. |
AW: Fastreport eine Textdatei laden
Hallo Zusammen,
FastReport ist soeben aktualisiert worden in der Version 4.15.9 Doch leider ohne Erfolg. Die Textdatei wird von einem fremden Tool generiert. Es ist das Inhaltsprotokoll einer SEPA XML-Datei. Ich bin mir nicht sicher ob Notepad++ die aktuelle Codierung anzeigt. Die StatusBar zeigt Dos\Windows ANSI und im Menu-Format ist der Punkt auf ANSI. Gruß Kostas |
AW: Fastreport eine Textdatei laden
Bei XML steht die eigentliche Codierung eigentlich in der XML-Processorinfo
XML-Code:
.
<?xml ... encoding="UTF-8"?>
Für reine Texteditoren sieht das dann aber eher wie ANSI aus, da XML kein BOM vorschreibt. Und wenn nichts angegeben ist, dann ist es, wie schon erwähnt, immer UTF-8. (außer bei Programmen die XMLs erstellen und sich nicht an die Spezifikation halten) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:47 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-2025 by Thomas Breitkreuz