| |
|
|
GDL | Hallo Profaner,
habe das Problem, dass ich bei folgendem Code es nicht hinbekomme, dass auch die Leerzeichen am Anfang einer Zeile im RTF mit zurückgegeben werden.Vielleicht weiss jemand Rat oder ne andere Lösung.Danke. KompilierenMarkierenSeparieren $H Windows.ph
$H Messages.ph
$H Richedit.ph
declare reg&,ende%,ende&,zeile$
Struct CHARRANGE = cpMin&,cpMax&
================================================================
Proc RicheditGetLine
Parameters REG&
returns linechars
Declare Range#,Retval&,Ret$,RetLong&
Dim Range#,CHARRANGE
SendMessage(REG&,~EM_EXGETSEL,0,Range#)
Retval& = SendMessage(REG&,~EM_EXLINEFROMCHAR,0,Range#.cpMin&)
Ret$ = Space$(100000) Zeile weglassen bringt Profan zum sofortigen Absturz
SendMessage(REG&,~EM_GETLINE,Retval&,Addr(Ret$))
Dispose Range#
Return Trim$(Ret$) bei return ret$ kein Reagieren
EndProc
======================================================================
window 0,0 - 600,600
ende&=createbutton(%hwnd,"Ende",500,500,80,20)
reg&=@Create("RichEdit",%hwnd,"",10,10,200,200)
setfocus(reg&)
clear ende%
whilenot ende%
getmessage
case getfocus(ende&):ende%=1
if &wparam=13
beep
sendkey(reg&,8)
zeile$=RicheditGetLine(reg&)
sendkey(reg&,10)
sendstring(reg&,zeile$)
sendkey(reg&,10)
endif
wend
Servus Georg |
|
|
| |
|
|
|
| Tausche
return trim(.. in return ..
Salve. |
|
|
| |
|
|
|
GDL | Hallo iF,
habe es im code vermerkt, mit return ret$ kein Reagieren des Programmi mehr.
Servus Georg |
|
|
| |
|
|
|
Jörg Sellmeyer | komisch... bei mir gibts mit Return Ret$ keine Probleme Win98SE - vielleicht ists ja bei ME mal wieder alles anders.... |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 01.08.2005 ▲ |
|
|
|
|
GDL | Hallo Jörg
wenn Io l' Code folgendermassen abändere und dann 1 + Return eingebe siehts laut Anhang aus.Ein return ret$ hat einen Absturz zur Folge, der nur noch mit dem Resetknopf beendet werden kann. Bei Anzeige im Hauptfenster mit drawtext passiert dies. KompilierenMarkierenSeparieren $H Windows.ph
$H Messages.ph
$H Richedit.ph
declare reg&,ende%,ende&,zeile$,lang&
Struct CHARRANGE = cpMin&,cpMax&
================================================================
Proc RicheditGetLine
Parameters REG&
returns linechars
Declare Range#,Retval&,Ret$,RetLong&
Dim Range#,CHARRANGE
SendMessage(REG&,~EM_EXGETSEL,0,Range#)
Retval& = SendMessage(REG&,~EM_EXLINEFROMCHAR,0,Range#.cpMin&)
Ret$ = Space$(100000) Zeile weglassen bringt Profan zum sofortigen Absturz
SendMessage(REG&,~EM_GETLINE,Retval&,Addr(Ret$))
Dispose Range#
zeile$=ret$
Return Trim$(Ret$) bei return ret$ kein Reagieren
EndProc
======================================================================
window 0,0 - 600,600
ende&=createbutton(%hwnd,"Ende",500,500,80,20)
reg&=@Create("RichEdit",%hwnd,"",10,10,200,200)
setfocus(reg&)
clear ende%
whilenot ende%
getmessage
case getfocus(ende&):ende%=1
if &wparam=13
sendkey(reg&,8)
RicheditGetLine(reg&)
sendkey(reg&,10)
sendstring(reg&,zeile$)
sendkey(reg&,10)
zeile$=left$(zeile$,80)
drawtext 1,500,zeile$
endif
wend
Servus Georg |
|
|
| |
|
|
|
| |
|
| |
|
|
|
GDL | Hallo iF,
super dies geht, obwohl ich net weis warum.Hängt dies mit der Richedit dll Version vielleicht zusammen? Wird ohne die Längenbeschränkung sonst zuviel zurückgegeben(Überschreiten der Profan-Stringlänge). Auf alle Fälle muss ich die Länge dann noch mit ret$=left$(ret$,150) begrenzen, da sonst noch ne Leerzeile eingefügt wird.Aber es geht jetzt.
Servus Georg |
|
|
| |
|
|
|
| Sowas habe ich mir gedacht. Deshalb mein Tipp.
Ich hätte mir an Deine Stelle einfach mal das was vom Sendmessage zurückgegeben wird 1:1 im Hexeditor angeschaut. Ich habe mir gedacht das dort vielleicht auch noch etwaige Sonderzeichen übermittelt werden - und das XProfan beim Return bzw. bei der Weitergabe da etwas im Speicher verkehrt macht. Also - Trick 1.5e17 - schubse den Inhalt des Strings erstmal durch eine XProfan-eigene Stringmanipulationsprozedur. Zum Glätten quasi.
Salve. |
|
|
| |
|
|
|
| |
|
| |
|
|
|
GDL | Ach ich hab doch Windows so lieb, lauter nette Sachen per Anfänger, so wie ich. Ich glaube ich brauch ne Auszeit. Im geposteten Code gehts, in der Anwendung dann geht nichts mehr. Es wird zwar im Richedit alles wunderbar angezeigt, aber ich kann den String nicht mehr auswerten, da die eigentliche Information von lauter kleinen senkrechten Strichen umrahmt ist.Diese verschwinden zwar bei return trim(ret$) meine Leerzeichen am Zeilenanfang aber leider auch.
Scheinbar ist es nicht possibile, die aktuelle Zeile eines Richedit so auszulesen, wie die Zeile tatsächlich ist.Schade.
Servus Georg |
|
|
| |
|
|
|
| Dochdoch ists - ich probiers morgen Vormittag gleich mal.
Salve. |
|
|
| |
|
|
|
Michael Wodrich | Wird die Zeile vielleicht in Unicode zurückgegeben (Leerzeichen gewandelt)?
Wer kennt sich mit Unicode aus und kann mal eine Filterfunktion schreiben?
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 01.08.2005 ▲ |
|
|
|