Source / code snippets | | | | - Page 1 - |
| RudiB. | Hello together,
i hope so can someone help.... i want one characters a Rich-Edit Window read and a Stringvariable transfer. Mark/select skin Yes there but then ?? this is my Lösungsansatz, functions only not.
Sendmessage(Rtf&,~EM_SETSEL,6,7)'--markiert the 7.th characters in the Richedit-Text
test$=Sendmessage(Rtf&,~EM_GETSEL,0,0)'--here should the characters z.B the characters "s" or. Chr$(115) read go, this standing too on position 7 in the Text
print Test$'--spending is "458758"
|
| | | | |
| | « this Posting watts as Solution marked. » | | RudiB. | Hello Georg,
super many Thanks...this is The Solution...
Declare x&,y&,y_neu&,testtext$,Richedit&,n$,area#,rtf#
Dim rtf#,84
Cls
Richedit&=Create("Richedit",%hwnd,"",20,20,600,300)
Testtext$="Declare test&,satz&,anzahl&,farb_anzahl&,superanzahl&,x&,y&,z&\n\
satz&=22\n\
anzahl&=44\n\
farb_anzahl&=100\n\
anzahl&=farb_anzahl&*30\n\
superanzahl&=anzahl&\n\
...\n\
...\n\
...\n\
etc. in the Listing"
SetText Richedit&,TestText$
n$="anzahl&"'--this Text should sought go(only to that example)
DIM area#,16
clear area#
x&=-1
y_neu&=-1
While 1
Long area#,0=x&+1
Long area#,4=-1
Long area#,8=Addr(n$)
x&=Sendmessage(Richedit&,$0438,2,area#)'--EM_FINDTEXT (2=Flagparameter for only whole Wörter search)
Case x&=-1:BREAK
y&=moeglichkeit_1_instr("_",GetText$(Richedit&),y_neu&)
Sendmessage(Richedit&,$00B1,x&,x&+Len(n$))'--Cursor settle
y_neu&=x&+Len(n$)
Ifnot y&=x&
rtf_SetColor RGB(255,0,0)
Endif
SetFocus(Richedit&)
'Sleep 100
EndWhile
waitinput
Dispose area#
end
Proc rtf_SetColor
Parameters a&
Clear rtf#
LONG rtf#,0=84
LONG rtf#,4=$40000000
LONG rtf#,20=a&
sendmessage(Richedit&,1092,1,rtf#)'-EM_SETCHARFORMAT
ENDPROC
Proc moeglichkeit_1_instr
Parameters such$,Text$,pos&
InStr(such$,Text$,pos&)
ENDPROC
your first Solution with "Instr" is it...habs into Loop with installed. PERFEKT.......sometimes sees one whom woods not sheer trees.
large thanks from munich |
| | | | | |
| | Georg Teles | good evening,
the EM_GETSEL markiert whom Text visible in the Edit, moreover must to the Edit zunchst fokusieren
CLS
var rtf& = Create("RichEdit", %hWnd, "Das is a small Test", 5, 5, 300, 300)
SetFocus(Rtf&)'first Fokus settle, before markiert becomes
Sendmessage(Rtf&,$00B1,6,7)'--markiert the 7.th characters in the Richedit-Text
waitinput
I have no idea what You very to have, so would I the solve:
or umständlich:
CLS
declare Test#
dim Test#,100
var rtf& = Create("RichEdit", %hWnd, "Das is a small Test", 5, 5, 300, 300)
Sendmessage(Rtf&,$000D,100,Addr(Test#))
print Mid$(String $(Test#,0),23,1)'markiert the latest s in the Text
DisPose Test#
waitinput
END
Regards |
| | | | |
| | RudiB. | Hello Georg, first time thanks for your response.... now To of my Problematik, have to a lauffähiges example appended. i want in a Programmlisting to variables search... now comes in this Listing The Variable "anzahl&" and "farb_anzahl&" to, I Search now only to "anzahl&" with the Suchoption 2 for only whole Wörter in FINDTEXT. here becomes but now too the "anzahl&" in the Variable "farb_anzahl&" with found/markiert, but should not so his. therefore would like I a check the Zeichens to the Suchvariable manage. means: if characters to Suchvariable = _ (Unterstrich) then markiere not. there I had even on ~EM_GETTEXT virtual, kriegs but not there...
Declare x&,testtext$,Richedit&,n$,area#,rtf#
Dim rtf#,84
Cls
Richedit&=Create("Richedit",%hwnd,"",20,20,600,300)
Testtext$="Declare test&,satz&,anzahl&,farb_anzahl&,superanzahl&,x&,y&,z&\n\
satz&=22\n\
anzahl&=44\n\
farb_anzahl&=100\n\
anzahl&=farb_anzahl&*30\n\
superanzahl&=anzahl&\n\
...\n\
...\n\
...\n\
etc. in the Listing"
SetText Richedit&,TestText$
n$="anzahl&"'--this Text should sought go(only to that example)
DIM area#,16
clear area#
x&=-1
While 1
Long area#,0=x&+1
Long area#,4=-1
Long area#,8=Addr(n$)
x&=Sendmessage(Richedit&,$0438,2,area#)'--EM_FINDTEXT (2=Flagparameter for only whole Wörter search)
Case x&=-1:BREAK
Sendmessage(Richedit&,$00B1,x&,x&+Len(n$))'--Cursor settle
rtf_SetColor RGB(255,0,0)
SetFocus(Richedit&)
'Sleep 100
EndWhile
SetFocus(Richedit&)
waitinput
Dispose area#
end
Proc rtf_SetColor
Parameters a&
Clear rtf#
LONG rtf#,0=84
LONG rtf#,4=$40000000
LONG rtf#,20=a&
sendmessage(Richedit&,1092,1,rtf#)'-EM_SETCHARFORMAT
ENDPROC
|
| | | Xprofan X4 Rudolf Beske / München
Hardware: NB Intel I9 - 16GByte RAM | 11/24/21 ▲ |
| |
| | Thomas Freier | have time into Documentation the RTFHandling.pcu of Dieter Zornow seen, also with EM_FINDTEXT operates, but since were a Einschränkung, that only the first 64kb search go. for More takes it The EM_FINDTEXTEX . If (2=Flagparameter for only whole Wörter search) is correct, and Wortgebilde not ausschließt, would I do not only x&=-1 exit, separate on space, point and comma to and to the Suchtext Verify. |
| | | Gruß Thomas Windows XP SP2, XProfan X2 | 11/25/21 ▲ |
| |
| | RudiB. | Hello Thomas,
to that one besagt the "X&=-1" Yes , the the document until end search becomes, or. the end the Dokuments access is. useful is the the Return Value of Sendmessage with
...and with all others Zeichencodes z.B comma,space etc. becomes it indeed correctly. recognized, even only at Unterstrich not. the functions too with Texten larger as 64 KB.....
therefore Search I Yes to the Possibility the characters to the found Suchbegriff auszulesen. but ~EM_GETSEL spit me only numbers from .....möglicherweise Speicheradressen, still How read I from ?????? |
| | | | |
| | Georg Teles | good evening,
I had as a Ansatz - for InStr and MemPos dürften no characters a problem his or no Completed: all characters give ... if You MemPos still in the Loop umsetzen can, can you neither druckbare characters search, there i was To rotten a Proc for you To write :/
Declare x&,testtext$,Richedit&,n$,area#,rtf#
Dim rtf#,84
Cls
Richedit&=Create("Richedit",%hwnd,"",20,20,600,300)
Testtext$="Declare test&,satz&,anzahl&,farb_anzahl&,superanzahl&,x&,y&,z&\n\
satz&=22\n\
anzahl&=44\n\
farb_anzahl&=100\n\
anzahl&=farb_anzahl&*30\n\
superanzahl&=anzahl&\n\
...\n\
...\n\
...\n\
etc. in the Listing"
SetText Richedit&,TestText$
n$="anzahl&"'--this Text should sought go(only to that example)
DIM area#,16
clear area#
x&=-1
While 1
Long area#,0=x&+1
Long area#,4=-1
Long area#,8=Addr(n$)
x&=Sendmessage(Richedit&,$0438,2,area#)'--EM_FINDTEXT (2=Flagparameter for only whole Wörter search)
Case x&=-1:BREAK
Sendmessage(Richedit&,$00B1,x&,x&+Len(n$))'--Cursor settle
rtf_SetColor RGB(255,0,0)
SetFocus(Richedit&)
'Sleep 100
EndWhile
' InStr benefit: can itself a Loop form, d.h. position,
' ex the huier sought becomes, begins with -1 ... with gefundenem Result can
' to gefudenen position +1 dazugezählt and be a new Search launched go, as long as
' the Result not The previous Suchposition was
print "1. Result 1. function: "+Str $(moeglichkeit_1_instr("farb_",GetText$(Richedit&),-1))
' too well, problematically Better get going with the position, these must always -1 his,
' there the MemPos only whom first Fund outputs
' the can vermeinden, if The Textvariable circa ex the found position + length gekürzt becomes
' and ex the position -1 weitergesucht + The length and the previous position the abgeschnittenen Strings hinzugezählt go must !
print "1. Result 2. function: "+Str $(moeglichkeit_2_mempos("farb_",GetText$(Richedit&),-1))
print "-------------------------------------------------------------"
' InStr in Loop
moeglichkeit_1_instr_schleife("farb_",GetText$(Richedit&),-1)
print "-------------------------------------------------------------"
' here there nothing To see :/
moeglichkeit_2_mempos_schleife("farb_",GetText$(Richedit&),-1)
'SetFocus(Richedit&)
waitinput
Dispose area#
end
Proc rtf_SetColor
Parameters a&
Clear rtf#
LONG rtf#,0=84
LONG rtf#,4=$40000000
LONG rtf#,20=a&
sendmessage(Richedit&,1092,1,rtf#)'-EM_SETCHARFORMAT
ENDPROC
Proc moeglichkeit_1_instr
Parameters such$,Text$,pos&
InStr(such$,Text$,pos&)
ENDPROC
Proc moeglichkeit_2_mempos
Parameters such$,Text$,pos&
declare Text#, p&
dim Text#, len(text $)
char Text#,0 = Text$
p& = MemPos(Text#,pos&,such$)
DisPose Text#
Return p&
ENDPROC
Proc moeglichkeit_1_instr_schleife
Parameters such$,Text$,pos&
declare end%, laufvar&, var&, i%
end% = 0
var& = -2
laufvar& = -2
i% = 0
WhileNot end%
var& = Str $(moeglichkeit_1_instr("farb_",GetText$(Richedit&),laufvar&))
Ifnot ((laufvar&+1) < var&)
print "#--- No further hits found ---#"
break
EndIf
laufvar& = var&+1
inc i%
print Str $(i%)+". found position Loop: "+Str $(var&)
EndWhile
ENDPROC
Proc moeglichkeit_2_mempos_schleife
Parameters such$,Text$,pos&
print "war To rotten, a Proc To write, the hoisted is To big\nder Text must zugeschnitten go until previous hits + length\ndes textes and at next Ergebniss must these previous position + length\nzur new found position dazugerechnet go :/"
Return
ENDPROC
Regards |
| | | | |
| | RudiB. | Hello Georg,
super many Thanks...this is The Solution...
Declare x&,y&,y_neu&,testtext$,Richedit&,n$,area#,rtf#
Dim rtf#,84
Cls
Richedit&=Create("Richedit",%hwnd,"",20,20,600,300)
Testtext$="Declare test&,satz&,anzahl&,farb_anzahl&,superanzahl&,x&,y&,z&\n\
satz&=22\n\
anzahl&=44\n\
farb_anzahl&=100\n\
anzahl&=farb_anzahl&*30\n\
superanzahl&=anzahl&\n\
...\n\
...\n\
...\n\
etc. in the Listing"
SetText Richedit&,TestText$
n$="anzahl&"'--this Text should sought go(only to that example)
DIM area#,16
clear area#
x&=-1
y_neu&=-1
While 1
Long area#,0=x&+1
Long area#,4=-1
Long area#,8=Addr(n$)
x&=Sendmessage(Richedit&,$0438,2,area#)'--EM_FINDTEXT (2=Flagparameter for only whole Wörter search)
Case x&=-1:BREAK
y&=moeglichkeit_1_instr("_",GetText$(Richedit&),y_neu&)
Sendmessage(Richedit&,$00B1,x&,x&+Len(n$))'--Cursor settle
y_neu&=x&+Len(n$)
Ifnot y&=x&
rtf_SetColor RGB(255,0,0)
Endif
SetFocus(Richedit&)
'Sleep 100
EndWhile
waitinput
Dispose area#
end
Proc rtf_SetColor
Parameters a&
Clear rtf#
LONG rtf#,0=84
LONG rtf#,4=$40000000
LONG rtf#,20=a&
sendmessage(Richedit&,1092,1,rtf#)'-EM_SETCHARFORMAT
ENDPROC
Proc moeglichkeit_1_instr
Parameters such$,Text$,pos&
InStr(such$,Text$,pos&)
ENDPROC
your first Solution with "Instr" is it...habs into Loop with installed. PERFEKT.......sometimes sees one whom woods not sheer trees.
large thanks from munich |
| | | | |
| | Georg Teles | Yes perfect,
oh, I have but Mist posted, have überlesen, what You konkret wanted seh today too whom woods not sheer trees - to that target has But led hehehehehe
Regards from the bathe-Württembergischer / Bayrischer boundary (Ulm) |
| | | | |
|
Zum QuelltextThemeninformationenthis Topic has 3 subscriber: |