EditorGadget Zeilen begrenzung

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
GreyEnt
Beiträge: 376
Registriert: 20.07.2006 19:41

EditorGadget Zeilen begrenzung

Beitrag 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
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

#EM_SETLIMITTEXT
Windows 10 Pro, 64-Bit / Outtakes | Derek
Andreas
ToolbarKönig
Beiträge: 142
Registriert: 08.09.2004 08:33

Beitrag 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.
Gruss Andreas
Benutzeravatar
GreyEnt
Beiträge: 376
Registriert: 20.07.2006 19:41

Beitrag 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?
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Das EditorGadget ist standardmässig auf 32.767 Zeichen begrenzt.
Das war einmal :mrgreen:
Standardmässig in PB unbegrenzt
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
GreyEnt
Beiträge: 376
Registriert: 20.07.2006 19:41

Beitrag 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
Benutzeravatar
Kai
Beiträge: 264
Registriert: 29.09.2005 20:58
Computerausstattung: iMac 2019
Wohnort: Hannover
Kontaktdaten:

Beitrag 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)
Meine Homepage - Aktuelle Projekte - Launcher
Letzte PB-Version - Window 7 x86
Benutzeravatar
GreyEnt
Beiträge: 376
Registriert: 20.07.2006 19:41

Beitrag 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?
Benutzeravatar
Ligatur
Beiträge: 196
Registriert: 09.07.2006 00:41

Beitrag 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
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten