01-17-2021, 03:47 AM
sorry got busy for a few
the more you keep changing the string that is in combo box the more difficult it will be to find in qm editor.
try this
Macro M4
the more you keep changing the string that is in combo box the more difficult it will be to find in qm editor.
try this
Macro M4
str pattern="(?:.*\:sub\..*)"
_s.getmacro("A1" 0)
str d
int i
ARRAY(str) a
findrx(_s pattern 0 4 a)
a.sort
for i 0 a.len
,d.formata("%s[]" a[0 i])
d.replacerx(":sub.Sub" " ") ;;Delete useless characters
d.replacerx(";;" " ") ;;Delete useless characters
d.trim
str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x0 0 0 224 136 "Dialog" "4"
;3 ComboBox 0x54230641 0x0 8 8 96 122 ""
;1 Button 0x54030001 0x4 116 116 48 14 "OK"
;2 Button 0x54030000 0x4 168 116 48 14 "Cancel"
;END DIALOG
;DIALOG EDITOR: "" 0x2040B01 "*" "" "" ""
str controls = "3"
str cb3=d
if(!ShowDialog(dd &sub.DlgProc &controls)) ret
TO_CBGetItem(cb3)
cb3.trim
mac+ "A1"
_s.getmacro("A1" 0)
cb3.replacerx("\s+" " :sub.Sub" 4)
out cb3
cb3.replacerx("\s+(\w+)" " ;;${1}" 4)
out cb3
int cp1=findrx(_s cb3 0 1)
out cp1
int h=GetQmCodeEditor
SendMessage(h SCI.SCI_CLEARSELECTIONS 0 0)
0.1
SendMessage(h SCI.SCI_GOTOPOS cp1 0)
int cp=SendMessage(h SCI.SCI_GETCURRENTPOS 0 0) ;;currentpos: begin of the line
out cp
#sub DlgProc
function# hDlg message wParam lParam
sel message
,case WM_INITDIALOG
,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case IDOK
,case IDCANCEL
ret 1