Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 249187 (10623)
  Suchen
 Zurück zur Übersicht
 AutorThema: MultiEdit mit über 32k Speicher
Frank Abbing
Datum:10.02.02 20:26 Antwortenals Email verschicken (frankabbing@12move.de) 


Hallo,

weiß jemand, wie ich ein mehrzeiliges MultiEdit Feld erzeugen kann, das mehr als 32k Zeichen aufnehmen kann, also ohne Speicherbeschränkung? Am besten mit horizontalen und vertikalen Scrollbalken integriert...
Geht das ?

Gruß, Frank


Sven Schneider
Datum:11.02.02 10:32 Antwortenals Email verschicken (sv.sch@freenet.de) 


Hallo,

>weiß jemand, wie ich ein mehrzeiliges MultiEdit Feld erzeugen kann, das mehr als 32k Zeichen aufnehmen kann, also >ohne Speicherbeschränkung?
Soweit ich weiß, geht das nur mit einem RichEdit-Control.

Sven



Frank Abbing
Datum:11.02.02 19:59 Antwortenals Email verschicken (frankabbing@12move.de) 


Hallo,

ja? Und wie kann ich sowas erzeugen. Hast du vielleicht ein Beispiel parat?

Gruß, Frank


Frank Abbing
Datum:11.02.02 21:14 Antwortenals Email verschicken (frankabbing@12move.de) 


Hallo,

momentan versuche ich mich an diesem MultiEdit.
Kann das mehr Speicher als 32k aufnehmen, weiß das jemand?

x&=@Control("EDIT","",$548100c4,cx1&,cy1&,Cx2&,cy2&,%hwnd,0,%hinstance,$0200)

...und dann das nächste Problem. Wie kann ich einen Text an dieses MultiEdit schicken, Strings haben ja ebenfalls die 32k-Grenze, und Bereiche erzeugen einen Falschen Dateityp-Fehler.

SetText x&,text$

Hoffe immer noch auf eure Hilfe ;-)

Gruß, Frank



Sven Schneider
Datum:12.02.02 09:54 Antwortenals Email verschicken (sv.sch@freenet.de) 


Hallo,

schau dir mal die PRFellow-Vorlage prfdemo an, dort ist ein Beispiel.

Sven


Andreas Miethe
Datum:12.02.02 16:25 Antwortenals Email verschicken (andreas@andreas-miethe.de) 


Hallo Frank,

ein Edit-Control kann als Single-Line maximal 32k und als Multi-Line maximal 64k aufnehmen.
Standardmaessig nimmt das Edit 32k auf.
Du kann aber mit EM_SETLIMITTEXT bis auf 64k erhoehen.
SendMesssage(Edit&,EM_SETLIMITTEXT,65535,0)
Den Text kannst Du mit @ReadText oder @Blockread und @SendMessage(Edit&,$000C,0,Bereich#) ins Edit-Control bringen.

Wenn 64k nicht reichen dann musst Du auf das Richedit-Control zugreifen, das waere fuer mich auch immer die erste Wahl, da mehr Moeglichkeiten zur Manipulation zur Verfuegen stehen.

Hier mal ein kleines Beispiel:

Declare rtf&,hdll&
Declare Datei$,Datei#

SetTrueColor 1
CLS RGB(192,192,192)
Let hdll&=UseDll("Riched32.dll")
Let rtf&=Control("RichEdit","",$563000C4,0,0,0,0,%hwnd,1000,%HInstance,$200)
UseFont "Arial",16,0,0,0,0
@sendmessage(rtf&,$30,%font,1) 'Font setzen
SendMessage(rtf&,1077,0,65535) 'Standard 32K-Grenze hochsetzen
SetWindowpos rtf& = 10,10-500,300
Datei$ = "C:\\autoexec.bat"
Dim Datei#,Filesize(Datei$)+10
ReadText Datei#,Datei$
@SendMessage(rtf&,$000C,0,Datei#)
Waitinput
Waitinput
Dispose Datei#
DestroyWindow(rtf&)
Freedll hdll&
End

Gruss
Andreas


Frank Abbing
Datum: 12.02.02 16:50 Antwortenals Email verschicken (frankabbing@12move.de) 


Hallo.

Vielen Danke, Leute!
Ich werde eure Ratschläge ausgiebig testen.

Gruß und Dank,
Frank


 Zurück zur Übersicht