AddGadgetItemText / EditorGadget
Verfasst: 30.07.2006 10:59
Moin moin,
bin gerade dabei mir einen Editor zu bastel und möchte dazu das EditorGadget benutzen.
Dabei habe ich einige Problemchen.
Zunächst wollte ich das Editorgadget mit PureBasicbefehlen "beschicken", öffnete also eine Textdatei und las sie mit ReadString aus. Den gelesenen String schrieb ich mit AddGadgetItemText in das EditorGadget.
Die ins EditorGadget eingelesene Datei schrieb ich nun unter anderem Namen wieder weg, dazu benutzte ich WriteStringN.
Funzt nicht, die Dateien haben unterschiedliche Länge!
Hab folgendes rausgefunden: Wenn ich mit AddGadgetItemText einen String in das EditorGadget schreibe, wird dieser nach ca. 2230 Zeichen abgeschnitten, mal sind es 2230, mal 2238 Zeichen.
Nun sind in der Textdatei Zeilen, die zum Teil mehr als 4500 Zeichen haben.
Zunächst dachte ich nun, das das EditorGadget auf diese Zeichenanzahl pro Zeile begrenzt ist, was sich aber als falsch herrausstellte.
Habe also die Textdatei mit STREAMIN eingelesen und mit STREAMOUT wieder weg.
Siehe die Weggeschriebene Datei ist identisch mit dem Original.
Das nächste Problem ist das das Editorgadget ein "automatischen" Zeilenumbruch macht.
Ich meine nicht den Zeilenumbruch den man mittels SETTARGETDEVICE am Ende des Fensters ein und ausschalten kann, sondern einen Zeilenumbruch nach 1558 Zeichen!
Die Zeile wird dort umgebrochen (nicht abgeschnitten).
Der Microsoft Editor von Windows XP macht bei mir das gleiche allerdings schon nach 1025 Zeichen.
Soweit zu meinen Problemchen, nun auch noch die Fragen:
1) Ist die Begrenzung von Set/Add/GetGadgetItemText bewusst so gemacht oder ein Bug?
Wenn es kein Bug ist, kann ich die Funktion für das EditorGadget zumindest nicht gebrauchen, da mir ja unter Umständen nicht die komplette Zeile übergeben wird.
2) Da der "automatische" Zeilenumbruch des EditorGadgets bei 1558 Zeichen und beim MS-Editor bei 1025 Zeichen weit auseinander liegt, läßt mich vermuten, das sich dies steuerbar ist.
Habe in der API-Referenz gesucht, aber nichts gefunden. Wahrscheinlich bin ich zu blind. Auch im Boar hab ich nichts gefunden
Weis einer von Euch ob und wenn wie das geht?
bin gerade dabei mir einen Editor zu bastel und möchte dazu das EditorGadget benutzen.
Dabei habe ich einige Problemchen.
Zunächst wollte ich das Editorgadget mit PureBasicbefehlen "beschicken", öffnete also eine Textdatei und las sie mit ReadString aus. Den gelesenen String schrieb ich mit AddGadgetItemText in das EditorGadget.
Die ins EditorGadget eingelesene Datei schrieb ich nun unter anderem Namen wieder weg, dazu benutzte ich WriteStringN.
Funzt nicht, die Dateien haben unterschiedliche Länge!
Hab folgendes rausgefunden: Wenn ich mit AddGadgetItemText einen String in das EditorGadget schreibe, wird dieser nach ca. 2230 Zeichen abgeschnitten, mal sind es 2230, mal 2238 Zeichen.
Nun sind in der Textdatei Zeilen, die zum Teil mehr als 4500 Zeichen haben.
Zunächst dachte ich nun, das das EditorGadget auf diese Zeichenanzahl pro Zeile begrenzt ist, was sich aber als falsch herrausstellte.
Habe also die Textdatei mit STREAMIN eingelesen und mit STREAMOUT wieder weg.
Siehe die Weggeschriebene Datei ist identisch mit dem Original.
Das nächste Problem ist das das Editorgadget ein "automatischen" Zeilenumbruch macht.
Ich meine nicht den Zeilenumbruch den man mittels SETTARGETDEVICE am Ende des Fensters ein und ausschalten kann, sondern einen Zeilenumbruch nach 1558 Zeichen!
Die Zeile wird dort umgebrochen (nicht abgeschnitten).
Der Microsoft Editor von Windows XP macht bei mir das gleiche allerdings schon nach 1025 Zeichen.
Soweit zu meinen Problemchen, nun auch noch die Fragen:
1) Ist die Begrenzung von Set/Add/GetGadgetItemText bewusst so gemacht oder ein Bug?
Wenn es kein Bug ist, kann ich die Funktion für das EditorGadget zumindest nicht gebrauchen, da mir ja unter Umständen nicht die komplette Zeile übergeben wird.
2) Da der "automatische" Zeilenumbruch des EditorGadgets bei 1558 Zeichen und beim MS-Editor bei 1025 Zeichen weit auseinander liegt, läßt mich vermuten, das sich dies steuerbar ist.
Habe in der API-Referenz gesucht, aber nichts gefunden. Wahrscheinlich bin ich zu blind. Auch im Boar hab ich nichts gefunden
Weis einer von Euch ob und wenn wie das geht?