Seite 1 von 2

EditorGadget Zeilen begrenzung

Verfasst: 22.05.2007 20:55
von GreyEnt
Hallo @ All,

weiß jemand wie ein EditorGadget begrenzt ist?
Ich möchte gerne ca. 60.000 Zeilen einfügen, das Programm steigt aber ohne warnung aus.
Hab bislang noch kein passendes Thema auf PureBoard gefunden.

danke schonmal

Dieter

Verfasst: 22.05.2007 21:28
von Fluid Byte
#EM_SETLIMITTEXT

Verfasst: 22.05.2007 21:28
von Andreas
Hi Dieter,

Das EditorGadget ist standardmässig auf 32.767 Zeichen begrenzt.

Du kannst mit dem API-Call EM_EXLIMITTEXT eine neue Begrenzung setzen.
SendMessage_(Handle,#EM_EXLIMITTEXT,0,NeuerWert).

Bei einer Zeilenbegrenzung wird es schon etwas komplizierter.
Du müsstest bei jeder Eingabe prüfen in welcher Zeile Du Dich befindest, geht mit SendMessage_(Handle,#EM_GETLINE,0,0), und darauf reagieren.

Verfasst: 22.05.2007 21:48
von GreyEnt
danke für die Antworten,

Wenn die begrenzung auf die Zeichen und nicht die Zeilen besteht, so könnte ich doch als ersten durchgang plump die gesammten Zeichen zählen. neue begrenzung mit EM_EXLIMITTEXT setzen. Und dann z.B. den EditorGadget mit AddGadgetItem(0,-1,a$) füllen?

Verfasst: 22.05.2007 22:49
von ts-soft
>> Das EditorGadget ist standardmässig auf 32.767 Zeichen begrenzt.
Das war einmal :mrgreen:
Standardmässig in PB unbegrenzt

Verfasst: 23.05.2007 07:51
von GreyEnt
>> Das EditorGadget ist standardmässig auf 32.767 Zeichen begrenzt.
Das war einmal
Standardmässig in PB unbegrenzt
Aber es scheint definitiv am EditorGadget zu liegen.
Wenn ich AddGadgetItem(0,-1,a$) auskomentiere läuft das Progrämmchen.

Dieter

Verfasst: 23.05.2007 09:08
von Kai
ts-soft hat geschrieben:>> Das EditorGadget ist standardmässig auf 32.767 Zeichen begrenzt.
Das war einmal :mrgreen:
Standardmässig in PB unbegrenzt
Stimmt nicht, stimmt nich BÖÖÖÖÖÖÖÖ :lol:

Code: Alles auswählen

OpenWindow(0, 0, 0, 200, 200, "Testfenster", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
EditorGadget(0, 5, 5, 190, 190)
Debug SendMessage_(GadgetID(0), #EM_GETLIMITTEXT, #Null, #Null)

Verfasst: 23.05.2007 09:27
von GreyEnt
Und was kann ich nun machen?
evtl.
SendMessage_(GadgetID(0), #EM_SETLIMITTEXT, #Null, dateigröße) ?
wenn das so geht. wie gebe ich die dateigröße an?
In Byte oder einen HEX Wert?

Verfasst: 23.05.2007 10:35
von Ligatur
Kai hat geschrieben:
ts-soft hat geschrieben:>> Das EditorGadget ist standardmässig auf 32.767 Zeichen begrenzt.
Das war einmal :mrgreen:
Standardmässig in PB unbegrenzt
Stimmt nicht, stimmt nich BÖÖÖÖÖÖÖÖ :lol:

Code: Alles auswählen

OpenWindow(0, 0, 0, 200, 200, "Testfenster", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
EditorGadget(0, 5, 5, 190, 190)
Debug SendMessage_(GadgetID(0), #EM_GETLIMITTEXT, #Null, #Null)
Stimmt doch :wink:

Code: Alles auswählen

OpenWindow(0, 0, 0, 200, 200, "Testfenster", #PB_Window_SystemMenu|#PB_Window_ScreenCentered) 
CreateGadgetList(WindowID(0)) 
EditorGadget(0, 5, 5, 190, 190) 
AddGadgetItem(0, -1, Str(SendMessage_(GadgetID(0), #EM_GETLIMITTEXT, #Null, #Null)))
t.s = ""
For i = 0 To 60000
	t + "a"	
Next i
AddGadgetItem(0, -1, t)
e.s = GetGadgetText(0)
SetWindowTitle(0, Str(Len(e)))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow

Verfasst: 23.05.2007 17:48
von ts-soft