-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRQdebugger816AS-4.bas
16131 lines (12907 loc) · 454 KB
/
RQdebugger816AS-4.bas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
$INCLUDE "RAPIDQ.INC"
$INCLUDE "QXpTheme.INC"
$INCLUDE "QButtonXP.inc"
$INCLUDE "ConvertToTruePath.inc"
$Include "NewWndProc.inc" ' or $Include "CallBackAll.Inc"
$Include "QtabControlEx.inc"
$include "QColorButton.inc"
'cls
ver$="b816AS Jul 2023"
Declare Sub TabPopUpMenuReloadFile
Declare Sub OpenCurrPrjClick
Declare Sub TabListCmboxChange
Declare Sub ArdLogFileButnonclick
Declare sub SetTab25length
DECLARE SUB ListBoxDrawItem(Index AS INTEGER, State AS BYTE, Rect AS QRECT)
DECLARE SUB ListBoxMeasureItem(Index AS INTEGER, Height AS INTEGER)
DelWinListBoxClr=clm
Declare Sub FindDisabledFilesOnClick
'!!! ---- $INCLUDE ------ lIsFusion
Declare Function CreateDirIfNotExists (DirName$) as long
Declare Sub SplitterV3Moved
Declare Sub LogBtnRightOnClick
Declare Sub LogBtnCntrOnClick
Declare Sub LogBtnLeftOnClick
Declare Sub ArdCliHelpFormShow
Declare Sub ArdCliOnOnSetEditText(Col%, Row%, Value$, Sender AS QSTRINGGRID)
Declare Sub ArdCliOnListDropDown (Col%, Row%, BYREF S AS STRING, Sender AS QSTRINGGRID)
Declare Sub ArdCliHelpFormClose
Declare Sub ArdCliCmdHelpComboChange
Declare Sub LibMngFormShow
Declare Sub StopItOnClick
Declare Sub LibMngListGridSelectCell(Col%, Row%, CanSelect%, Sender as QStringGrid)
Declare Sub LoadJson
Declare Sub Tab25AddTab
Declare Sub Tab25DelTab
Declare Sub ArduinoToolsCmboxOnChange
Declare Sub ArduinoCmdCmboxOnChange
Declare Sub sketchbookPathBtnonclick
Declare Sub Tab25Change
Application.HintPause=100
Application.HintColor =&H7AFF59'' &H00FF00
'Application.HintColor =0 '&H7AFF59'' &H00FF00
'Application.HintTextColor=clr
darkcolor=&H272727 '&H5A5654
'$APPTYPE gui
$INCLUDE "QFILEDIALOG.INC"
$INCLUDE "RichEdPopUp.inc"
$INCLUDE "QColorDialog.inc"
$Include "constants.inc"
'$include "QColorButton.inc"
$include "Object\QINI.inc"
$include "Object\QStatusBarEx.inc"
$include "Form.inc"
$define WM_SETFOCUS &H7
$define WM_KILLFOCUS &H8
RQversion$="RQ Advanced Search v1.05-12INC"
RQversionDate$="15 Jul 2023"
noletter$=cr+lf+",./\| !@#$&^&*()+=-?><~`;:[]{}"+chr$(39)+ht+qt
FileNameToCopy$=""
dim TmpFileSLtextCP$ as string
dim TmpFileSLtext$ as string
TmpFileSLtextCP$="---" ' êîïèÿ äëÿ òåêñòà ôàéëà äëÿ ïîñëåäóþùèõ ïåðåêîäèðîâîê
TmpFileSLtext$="++++++"
AlreadyFound=0 ' óæå íàéäåí, íå íàäî èñêàòü â äðóãèõ êîäèðîâêàõ ýòîãî ôàéëà
NoSearch=0 ' íå èñêàòü â äàííîé êîäèðîâêå
'defint SelGridClr,OldSelGridClr
SelGridClr=&h80ffff 'clGreen'
SDNum=0
SDGAlka=1
SDPath=2
SDName=3 '2
SDSize=4
SDDate=5
SDTime=6
SDColor=7 '6
OldSubDir$=""
defint GridClr
GridClr=&HD9FFCE
codP$="Win"
declare function ansi2koi lib "fbsv.dll" alias "ANSI2KOI@4"( src as string) as long 'string
declare function koi2ansi lib "fbsv.dll" alias "KOI2ANSI@4"( src as string) as long ' as string
declare Function ConvertCP lib "fbsv.dll" alias "CONVERTCP@16"_
( byref strSrc As String, nFromCP As Long, nToCP As Long, byref strOut As string) as long
'declare function ansi2koi lib "FBKoi.dll" alias "ANSI2KOI@4"( src as string) as long 'string
$IFNDEF strl1$
defint _crlf=2
'!*****************************************
FUNCTION STRL1$ (value AS long) AS STRING
tmp$=STRF$(value, ffFixed, 11, 18)
if instr(tmp$,".")>0 then decSep$="."
if instr(tmp$,",")>0 then decSep$=","
STRL1$ = field$(STRF$(value, ffFixed, 11, 18),decSep$,1)
END FUNCTION
$ENDIF
$OPTION ICON "./resource/buggs.ico"
declare function GetMatches lib "fb_regex.dll" alias "GETMATCHES@16"_
( byref regex as string, byref SrcText as string, byref ptrArrBeg as integer, byref ptrArrEnd as integer ) as integer
Declare Function WinExec Lib "kernel32" Alias "WinExec" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA"_
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
'print ' "curdir$=";curdir$
'curdir1$=curdir$
'print"curdir1$=";curdir1$
'print 12," ",timer
'Declare Sub TimerOnceOver
declare Function ConvertCodePage(SourceString As String, inPage As long, outPage As long) As string
DECLARE FUNCTION SetParent Lib "user32" Alias "SetParent" (hWndChild As Long,hWndNewParent As Long) As Long
Declare Function GetConsoleCP Lib "kernel32" Alias "GetConsoleCP" () As Long
Declare Function SetConsoleCP Lib "kernel32" Alias "SetConsoleCP" (ByVal wCodePageID As Long) As Long
Declare Function GetConsoleOutputCP Lib "kernel32" Alias "GetConsoleOutputCP" () As Long
Declare Function SetConsoleOutputCP Lib "kernel32" Alias "SetConsoleOutputCP" (ByVal wCodePageID As Long) As Long
'print"GetConsoleCP=";GetConsoleCP
'print"GetConsoleOutputCP=";GetConsoleOutputCP
'SetConsoleCP(1251)
'SetConsoleOutputCP(1251)
'print"êîíñîëü GetConsoleCP=";GetConsoleCP
'print"êîíñîëü GetConsoleOutputCP=";GetConsoleOutputCP
dim ArdBoardList as QStringlist
PortName$=""
BoardName$=""
FQBN$=""
Core$=""
'!!! ---- Resource -----
$RESOURCE sOpen AS "./resource/sOpen.bmp"
$RESOURCE Run_rsc as ".\resource\Run.bmp"
$RESOURCE Bug2s as "resource\Bug2s.bmp"
$RESOURCE AddWatch_rsc as "resource\AddWatch.bmp"
$RESOURCE DelWatch_rsc as "resource\DelWatch.bmp"
$RESOURCE DelAllWatch_rsc as "resource\DelAllWatch.bmp"
$RESOURCE ClearAllBrP_rsc as "resource\ClearAllBrP.bmp"
'$RESOURCE CloseDbg_rsc as "resource\2775.bmp"
'print 22," ",timer
'$INCLUDE "resource.inc" 'c:\BAS\RAPIDQ\RQ IDE\
Declare Sub ViewTplFileMng
$RESOURCE SubNext_BMP AS "resource\Subnext.bmp"
$RESOURCE SubPrev_BMP AS "resource\Subprev.bmp"
'$RESOURCE Compile_BMP AS "resource\Compile.bmp"
$RESOURCE Copy_BMP AS "resource\Copy.bmp"
$RESOURCE Cut_BMP AS "resource\Cut.bmp"
'$RESOURCE Delete_BMP AS "resource\Delete.bmp"
$RESOURCE New_BMP AS "resource\New.bmp"
$RESOURCE Open_BMP AS "resource\Open.bmp"
$RESOURCE OpenHEX_BMP AS "resource\OpenHEX.bmp"
$RESOURCE Paste_BMP AS "resource\Paste.bmp"
$RESOURCE Save_BMP AS "resource\Save.bmp"
'$RESOURCE SelectAll_BMP AS "resource\Selectall.bmp"
$RESOURCE Undo_BMP AS "resource\Undo.bmp"
$RESOURCE FileMng_BMP as "resource\OutlineGrey.bmp" ' components\filelistbox.bmp"
'$RESOURCE SavePrj_BMP as "resource\Prj1.BMP"
$RESOURCE SavePrj_BMP as "resource\SAVEALL.bmp"
'H:\RQIDE\resource\stringgrid.bmp H:\RQIDE\resource\SAVEALL.bmp
$RESOURCE FBLogo_bmp as "resource\FBsslogo1.BMP"
$RESOURCE SubList_bmp as "resource\listbox.bmp" ' "SubList.BMP"
$RESOURCE DirTree_bmp as "resource\ObjTree.bmp"
$RESOURCE IncTree_bmp as "resource\IncTree.bmp"
'----------------------------------------------
const MF_BYCOMMAND = 0
const MF_BYPOSITION = &H400
Declare Function SetMenuItemBitmaps Lib "user32" Alias "SetMenuItemBitmaps" (hMenu As Long, _
nPosition As Long, wFlags As Long, _
hBitmapUnchecked As long, hBitmapChecked As long) As Long
CONST LR_LOADFROMFILE = &H10
CONST LR_CREATEDIBSECTION = &H2000
DECLARE FUNCTION LoadImage Lib "user32" ALIAS "LoadImageA" (hInst AS LONG,lpsz AS STRING, dwImageType AS LONG,dwDesiredWidth AS LONG, dwDesiredHeight AS LONG,dwFlags AS LONG) AS LONG
function LoadMP( BMPFileNAme as string) as long
result = LoadImage(0, BMPFileNAme,0,0,0,LR_LOADFROMFILE OR LR_CREATEDIBSECTION)
end function
hsOpen_BMP =LoadMP("resource\obj\Open.bmp")
hCopy_BMP =LoadMP("resource\Copy.bmp")
hCut_BMP =LoadMP("resource\Cut.bmp")
hDelete_BMP =LoadMP("resource\Delete.bmp")
hNew_BMP =LoadMP("resource\New.bmp")
hOpen_BMP =LoadMP("resource\Open.bmp")
hOpenHEX_BMP =LoadMP("resource\OpenHEX.bmp")
hPaste_BMP =LoadMP("resource\Paste.bmp")
hSave_BMP =LoadMP("resource\Save.bmp")
hSelectAll_BMP =LoadMP( "resource\Selectall.bmp")
hUndo_BMP =LoadMP("resource\Undo.bmp")
'$include "QDirListView.inc"
Const GWL_STYLE=-16
Const TVS_NOTOOLTIPS=&H80
Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (hwnd As Long, nIndex As Long, dwNewLong As Long) As Long
Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (hwnd As Long, nIndex As Long) As Long
codp$="win"
'-------------------------------------
DIM ColorDialog AS QColorDialog
ColorDialog.customer(1)=&HFF0000
ColorDialog.customer(2)=&H00FF00
ColorDialog.customer(3) = &H0000FF
ColorDialog.customer(4) = &HFF00FF
ColorDialog.customer(5) = &H00FFFF
ColorDialog.customer(6) = &HFFFFFF
ColorDialog.customer(7) = &H559911
ColorDialog.customer(8) = &HEE44BB
ColorDialog.customer(9) = &HBB44EE
ColorDialog.customer(10) = &H115599
ColorDialog.customer(11) = &H333333
ColorDialog.customer(12) = &H666666
ColorDialog.customer(13) = &H999999
ColorDialog.customer(14) = &HABABAB
ColorDialog.customer(15) = &HDDDDDD
ColorDialog.customer(16) = &H550000
defint ClrDlgOpen
'defint SelGridClr ''öâåò ïîäñâåòêè ÿ÷åéêè
defint clrTok ' öâåò òåêóùèõ òîêåíîâ
defint RowClr,OldRow=1 'íîìåð ïîäñâå÷åííîé ñòðîêè
defint NumParStyle=11 '-1' ÷èñëî ñòðîê îïèñàíèÿ ñòèëÿ îôîðìëåíèÿ.
defint fontcolor ', bgcolor, bordercolor
defstr ClrSchComBoxText$
Dim StrFontA as QFont
defint hdc '-- device handle'
DIM M AS QMEMORYSTREAM
defint FIRSTVISIBLELINE,LastVISIBLELINE
defint FirstChar
'SortLabelCount =64 '---
'dim SortLabel(SortLabelCount) as QPanel
defint BegSub ' ïîçèöèÿ íà÷àëà òåêóùåé ïðîöåäóðû
defint NoReload ' ôëàã ðàçðåøåíèÿ ïåðåçàãðóçêè ôàéëà â íîâîå îêíî
'--------------------------------------
ScreenWidth=Screen.Width
ScreenHeight=Screen.Height
'!!!----- Memory status -------
Type T_MEMORYSTATUS
dwLength As Long
dwMemoryLoad As Long
dwTotalPhys As Long
dwAvailPhys As Long
dwTotalPageFile As Long
dwAvailPageFile As Long
dwTotalVirtual As Long
dwAvailVirtual As Long
End Type
Declare Sub GlobalMemoryStatus Lib "kernel32" Alias "GlobalMemoryStatus" (lpBuffer As T_MEMORYSTATUS)
Dim tMemInfo As T_MEMORYSTATUS
Declare Sub ShowFreePhysicalMemory
'-----------------------------------------
defint KeyDowned, KeyUpped, bline,eline,numtab ' ïðè íàæàòèè îòñòóï
OldClipBrd$="--"
defint ListGridReady=0
defint lineNumber=0
SubDelim$="'!******************************************"
dim SEarchList as QStringList
FNtmp$ ="" ' èìÿ ôàéëà îòêðûòîãî ÷åðåç ôàéë ìåíåäæåð èëè ÷åðåç inc tree
'!!!----- Formatting ----
defint PrevSubNamePos,SubNamePos,NextSubNamePos,SubLineIdx,FuncNamePos
'IndentWords$="For-Next;With-End With;Select case-case-select else-end select;If-elseif-else-end if;Create-end create;While-wend;Do-Loop"
'SubCount=0
'SubCountOver=0
' !!!-----language ---------
scanLngCol=3
numLine=0 '5
'!!!-----language Pack ----
'dim LangVar$ (2048) as string
SrcLang=3 ' English - íîìåð ñòîëáöà â âåðõíåé òàáëèöå
'--- Declarations --- !!!
Declare Sub DelWinBtnOnClick
Declare Sub CancelDelWinBtnOnClick
Declare Sub DelWinListOnClick
Declare Sub CloseTabBnOnClick
Declare Sub TabPopUpMenuAdd
Declare Sub TabPopUpMenuDel
Declare sub SetTab25Index
Declare Sub DelSchemBtnOnClick
Declare Sub RQFormonresize
Declare Sub RQFormonshow
Declare Sub SearchListFormClose
Declare Sub ArduinoflgCmboxOnChange
Declare Sub CodeSectBtnOnClick
Declare Sub BoardCmbBoxOnChange
Declare Sub BoardCmbBoxOnChange1
Declare Sub TabRightChange
Declare Sub CliFileButnonclick
Declare Sub ArdBasTabChange
Declare Sub ArduinoPrefOnClick
Declare Sub UploadArduinoSketch
Declare Sub VerifyArduinoSketch
Declare Sub CheckPrjOnClick
Declare Sub ViewPrjFileMng
Declare Sub SyntaxHLBoxOnClick
Declare Sub ClrSchEditOnKeyPress(Key AS BYTE)
Declare Sub AddSchemBtnOnClick
Declare Sub ThemeChange
Declare Sub SaveIDEOptions
Declare Sub WinBtnOnmove (X%, Y%, Shift%, sender as QLabel)
Declare Sub FileHEXLoad
Declare Sub DElEmptyRowsOnClick
Declare Sub DElRowOnClick
Declare Sub SrcLangEditOnKeyUp(Key AS Word, Shift AS INTEGER)
Declare Sub H2IncOnClick
Declare Sub SetDefLng
'--- lang declares -----!!!
Declare Sub SaveLangOnClick
Declare Sub ClearLangGrids
Declare Sub CreateLangPack
Declare Sub LangGrid2SetEditText (Col%, Row%, Value$)
Declare Sub LangGrid1SelectCell (Col% , Row%, CanSelect%, Sender AS QStringGrid)
Declare Sub LangGrid1DrawCell (Col%, Row%, State%, Rect AS QRect, Sender AS QStringGrid)
Declare Sub LangGrid2SelectCell (Col% , Row%, CanSelect%, Sender AS QStringGrid)
Declare Sub LangGrid2DrawCell (Col%, Row%, State%, Rect AS QRect, Sender AS QStringGrid)
Declare Sub ScanSrcLang
Declare Sub CreateSectionList
Declare Sub SectionOnClick
Declare Sub RQFormOnMouseMove(X%, Y%, Shift%)
Declare Sub DelLangOnClick
Declare Sub AddLangOnClick1
Declare Sub LangMngFormResize
'--- end lang declares
Declare Sub ReFormatC
Declare Sub FindAll
Declare Sub DOS2Win
declare Sub CreateINCfilesTree
declare Sub ReFormatRTF
declare Sub ReFormatHTml
declare function UCaseR$ (Cases$) as string
declare function LCaseR$ (Cases$) as string
Declare Sub CodPChange (sender as QButtonXP)
Declare Sub QPDecode
Declare Sub UTF8Decode
Declare Sub LoadGridBtnOnClick
Declare Sub SwapcellBtnOnClick
Declare Sub DelDupBtnOnClick
Declare Sub SortBtnOnClick
Declare Sub SortLabelOnClick (Sender as QLabel)
Declare Sub Str2ChrOnClick
Declare SUB HLDrawCell (Col%, Row%, State%, Rect AS QRect, Sender AS QStringGrid)
Declare SUB HLSelectCell ( Col%, Row%, CanSelect%)
Declare Sub HLNewTypeNAme (Col%, Row%, Value$)
Declare Sub IncTreeViewDblClick
Declare Sub ObjTreeViewDblClick
Declare Sub MinRightPanelOnClick
Declare Sub ExpandRightPanelOnClick
Declare Sub CLoseRightPanelOnClick
Declare Sub IncFilesMnuOnClick
Declare Sub CreateINCfileslist
Declare Sub IncTreeViewClick
Declare Sub ObjTreeViewClick
Declare Sub BuildObjTree
Declare Sub TreeViewMouseMove(X AS INTEGER, Y AS INTEGER, Shift AS INTEGER, Sender AS QTREEVIEW)
Declare Sub TreeViewChange(Node AS INTEGER, AllowChange AS INTEGER, Sender AS QTREEVIEW)
Declare Sub ObjTreeOnClick
Declare Sub CheckEmptyWinOnClick
Declare Sub DelEmptyWinOnClick
Declare Sub SplitterV2Moved
Declare Sub WindowsOnClick
Declare Sub DisRemBtnOnClick
Declare Sub HelpRus
Declare Sub HelpEn
Declare Sub PrevBookMark
Declare Sub NextBookMark
Declare Sub PrevSub
Declare Sub NextSub
Declare Sub ReFormatHotTabsCurSub
Declare Sub DelEmptyLinesOnClick
Declare Sub DelCommentsOnClick
Declare sub ReFormatHotTabs
Declare Sub DelHotTabs
Declare Sub DeleteLedSpaces '(Sender as QMenuItem)
Declare Sub ListGridDrawCell (Col%, Row%, State%, R AS QRect)
Declare Sub RichEditSelectAll
Declare Sub RichEditDelete
Declare Sub RichEditPaste
Declare Sub RichEditCopy
Declare Sub RichEditCut
Declare Sub RichEditUndo
DECLARE SUB btnClick(sender as QButtonXP)
declare sub FileListBox1OnChange (Sender as QFileListBox)
declare sub FileListDblClick
declare sub FileClick
declare SUB Check(key AS BYTE)
declare SUB Check1
DECLARE SUB ChangeDirectory
DECLARE SUB ChangeDirectory1
DECLARE SUB ChangeDirectory2
'DECLARE SUB MaskChange
'DECLARE SUB MaskDel
'DECLARE SUB MaskSave
declare sub RefreshDirTree
declare sub FileOnlyOnClick
declare sub AddExtOnClick
declare sub OnDirPopUp
Declare Sub ViewFileMng 'Sender as QMenuItem)
Declare Sub ListSelectCell(Col% , Row%, CanSelect%, Sender AS QStringGrid)
Declare Sub ListChBoxClick
Declare Sub ClearBMark
Declare Sub LoadRqTpl
Declare Sub RqTplChange
'Declare Sub IncFilesChoose (Sender as QMenuItem)
Declare Sub VerifyEventOnClick
Declare Sub PasteDateOnClick
Declare Sub PasteCurFileNameOnClick
Declare Sub PasteSubDelimiter
Declare Sub CMDLParamOnClick
defint ddlflg
Declare Sub FBDllOnClick
Declare Sub FBEXEOnClick
Declare Sub FBCompileOnClick
Declare Sub SavePrjAsOnClick
declare sub GoToLine (LineNumber as int)
declare sub ReplCheckClick
'declare sub ProjectsChoose
declare sub clearWin_bm
declare sub OpenStFiles (Sender as QMenuItem)
declare sub CreatePrjOnClick
DECLARE SUB MainModulePathClick (Sender AS QCOOLBTN)
declare sub RQFormShow
declare sub SortBMark
declare sub SetBMark
declare sub GoToLineError
declare sub ChooseIcon
declare sub SrcEditOnKeyDown (Key AS WORD, Shift AS INTEGER)
declare sub SrcEditOnKeyUp (Key AS WORD, Shift AS INTEGER)
'defbyte SEdKeyDFlg
'defbyte SEdKeyDFlgRep
'defbyte SEdKeyDFlgRep1
declare sub LogValue
declare sub PrintValue
declare sub AddDeclaration (Sender AS QMenuItem)
declare sub FileLoad1
declare function ParseString (StrLine$ as string, VAlMPos as long) as string
setbmf=0
dim RapidQTplItem$(1) as string
'OnceFlg=0
'SetX=600
'SetY=80
defint FMngOpenFlg
' ôëàã îòêðûòèå ôàéëà ïðîèçâîäèòñÿ èç ìåíåäæåðà è îí íå
' äîëæåí âêëþ÷àòüñÿ â ñïèñîê îêîí ïðîåêòà
EditFlg=0 ' òèï ôàéëà â ðåäàêòîðå
'!!! 0 - ôàéë â ðåäàêòîðå íàõîäèòñÿ â ñïèñêå îêîí (ôàéë èç ñîñòàâà ïðîåêòà)
'!!! 1 - ôàéë â ðåäàêòîðå íå íàõîäèòñÿ â ñïèñêå îêîí (ôàéë ÍÅ èç ñîñòàâà ïðîåêòà)
'!!! 2 - include$ ôàéë îòêðûò ÷åðåç äåðåâî inc ôàéëîâ
'ïîçèöèè îêîí
DEFWORD WLTopM=80: DEFWORD WLLeftM=500 : DEFWORD OnceFlgW=0
DEFWORD SLTopM=80: DEFWORD SLLeftM=600: DEFWORD OnceFlgS=0
DEFWORD ObjInTopM=80: DEFWORD ObjInLeftM=400:DEFWORD OnceFlgObj=0
DEFWORD PropSGridH
DEFWORD PropSGridW
'!!! -- FreeBAsic -----
defstr FBCompParam$
'!!!----- Debugger ------
'------------- constant part DebugForm etc. -------
'Dim WatchedVars(1) as string
Dim ~Op(1) as string
dim ~OpPos(1) as integer
dim ~OpLen(1) as integer
dim VarN$(100) as string, VarType$(100) as string
defstr SrcFilePath$ ' ïóòü òåêóùåãî ôàéëà
LangFilePath$=SrcFilePath$+"language\" '---
'call AddClrString ("9141:SrcFilePath$="+(SrcFilePath$), clred, LogEdit)
'MKSubDir (LangFilePath$)
'-------- end of constant part -------------------
DEFWORD dbgflg=0
DEFWORD NumPer=64'128 ' âñåãî ìîæåò íàáëþäàòüñÿ 128 ïåðåìåííûõ è â òîì ÷èñëå ÷òî-òî
dim DebugStr(NumPer) as string '- ýòî ìàññèâ ñòðîê, ïî ÷ècëó ïåðåìåííûõ, êîòîðûé áóäóò íàáëþäàòüñÿ
'Ýòè ñòðîêè áóäóò âñòàâëÿòüñÿ â ïðîãðàììó
dim VAlScope(NumPer) as string ' Global or SubName
dim VAlName(NumPer) as string ' èìÿ ïåðåìåííîé
dim SubVAlName(NumPer) as string ' èìÿ ïåðåìåííîé
dim VAlType(NumPer) as byte ' òèï ïåðåìåííîé 0 - íå ñòðîêîâàÿ 1 - ñòðîêîâàÿ
DEFWORD AddWatchIndex ' íîìåð òåêóùåé äîáàâëÿåìîé ïåðåìåííîé â WatchEdit
' íîìåð îïåðàòîðà, åãî ïîçèöèÿ, äëèíà îïåðàòîðà äëÿ ïîäñâåòêè. 1l
DEFWORD OpersCount ' ÷èñëî íàáëþäàåìûõ îïåðàòîðîâ
'DEFWORD OperPos(4096) ' (8192) ' ïîçèöèÿ
'DEFWORD OperLen(4096) ' (8192) ' äëèíà
'DEFWORD OperLine(4096) ' (8192) ' íîìåð ñòðîêè íà êîòîðîé íàõîäèòñÿ îïåðàòîð.
dim DBGSUbLstPos as QSTRINGLIST
'!!!--------------
defint selB=1, selst=1'art
'------------------------
Dim MsgList as QSTRINGLIST
DEFWORD errlineNumb
DEFWORD OldFirstVisLine
DEFWORD DirTag=0 ' íîìåð êíîïêè óñòàíîêè äèðåêòîðèè â ñåòàïå.
DEFWORD DelPrjFlg=0 ' ïðèçíàê óäàëåíèÿ ïðîåêòà
defstr OpenDialogFilter,OpenDialogInitialDir
dim RQdbini as QINI
dim ProjectIni as QINI
DEFWORD reload
declare sub Splitter2Moved
declare sub LoadFile2Window
RQdbiniflg=0
declare sub RichEditOnMouseDown
declare sub R2Change
declare sub CloseWinOnClick
declare sub LastWindClick
declare sub RefreshBMark
declare sub LastBMarkClick
declare sub DelBMark
declare sub AddBMark
declare sub BMarkChoose (Sender as qmenuitem)
declare sub OpenFileCurs
declare sub SAveLog 'ñîõðàíèòü ñîäåðæàíèå ëîãåäèòà
declare sub SaveMainLog
'$TypeCheck On
Public Const FR_DOWN = &H1
Public Const FR_WHOLEWORD = &H2
Public Const FR_MATCHCASE = &H4
Public Const FR_FINDNEXT = &H8
Public Const FR_REPLACE = &H10
Public Const FR_REPLACEALL = &H20
'- -------------------------'
'!!!- -- îáìåí äàííûìè ìåæäó îêíàìè ---- '
'CONST WM_COPYDATA = &H4A
TYPE COPYDATASTRUCT
dwData AS LONG
cbData AS LONG
lpData AS LONG
END TYPE
DIM DataStruct AS COPYDATASTRUCT
DEFSTR strSend, strRecv, AppName
declare sub FrmClose
DECLARE SUB SendData '(AppName, strSend)
'DECLARE SUB FormWndProc (Hwnd&, uMsg&, wParam&, lParam&)
DECLARE FUNCTION FindWindow LIB "user32" ALIAS "FindWindowA" (ByVal lpClassName AS String, ByVal lpWindowName AS String) AS LONG
'- -------------------------------------------------------
'!!! ----- HiLight -----
Declare Sub HtHLBoxClick
dim HotTAbHL as long
HotTAbHL=1
'declare sub bas2
'-- messages
CONST WM_DESTORY = 2
CONST WM_PAINT = &HF
'-- Edit Control Messages
'-- EDITWORDBREAKPROC code values
Public Const WB_LEFT = 0
Public Const WB_RIGHT = 1
Public Const WB_ISDELIMITER = 2
Type Point
Left As Long
Top As Long
End Type
CONST GWL_WNDPROC = (-4)
CONST GWL_HWNDPARENT = (-8)
'dim ScrollPoint as Point
'DECLARE FUNCTION SetWindowLongAPI LIB "user32" ALIAS "SetWindowLongA" _
'(ByVal hWnd AS LONG, ByVal nIndex AS LONG, ByVal dwNewLong AS LONG) AS LONG
Private Declare Function HideCaret Lib "user32" ALIAS "HideCaret" (ByVal hwnd As Long) As Long
Private Declare Function ShowCaret Lib "user32" ALIAS "ShowCaret" (ByVal hwnd As Long) As Long
'Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" _
'(ByVal lpPrevWndFunc As Long, ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, _
'ByVal lParam As Long) As Long
'Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" _
'(lpPrevWndFunc As Long, hWnd As Long, Msg As Long, wParam As Long, lParam As Long) As Long
'DECLARE SUB FormWndProc (Handle AS INTEGER, uMsg AS LONG, wParam AS LONG, lParam AS LONG)
DECLARE FUNCTION SendMessageApi LIB "user32.dll" ALIAS "SendMessageA" (hWnd AS LONG, Msg AS LONG, wParam AS LONG, lParam AS LONG) AS LONG
Declare Function GetDC Lib "user32" Alias "GetDC"(ByVal hWnd As Long) As Long
Declare Function ReleaseDC Lib "user32" Alias "ReleaseDC" _
(ByVal hwnd As Long, ByVal hdc As Long) As Long
Declare Function SetBkMode Lib "gdi32" Alias "SetBkMode" (ByVal hdc As Long, ByVal nBkMode As Long) As Long
Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
Declare Function SelectObject Lib "gdi32" Alias "SelectObject" (ByVal hdc As Long, ByVal hObject As Long) As Long
Declare Function SetTextColor Lib "gdi32" Alias "SetTextColor" (ByVal hdc As Long, ByVal crColor As Long) As Long
'Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
declare function HiLight lib "HiLightDllv66-4.dll" alias "HiLight@20"_
(byval RhWnd as long, byval HiLiteFontHandle as long, byref ptrQBColor as integer, ptrKeyList as long, hthl as long ) as long
'!! ---- RichEditWndProc -----
declare FUNCTION RichEditWndProc (hWnd AS LONG, uMsg AS LONG, wParam AS LONG, lParam AS LONG) AS LONG
declare FUNCTION StringGridWndProc (hWnd AS LONG, uMsg AS LONG, wParam AS LONG, lParam AS LONG) AS LONG
declare Function fbTally lib "fbFunctions.dll" alias "FBTALLY@8" ( searchstr as string, matchstr as string) as long
declare Function fbFIELD lib "fbFunctions.dll" alias "FBFIELD@12" ( byref Srcstring as string, delimstring as string, fieldNumber as integer) as long 'string
'declare FUNCTION IncEditWndProc (hWnd AS LONG, uMsg AS LONG, wParam AS LONG, lParam AS LONG) AS LONG
Declare Function FillRect Lib "user32" Alias "FillRect" _
(ByVal hdc As Long, lpRect As QRect, ByVal hBrush As Long) As Long
Declare Function GetBkColor Lib "gdi32" Alias "GetBkColor" (ByVal hdc As Long) As Long
' Background Modes
Public Const TRANSPARENT = 1
Public Const OPAQUE = 2
Public Const BKMODE_LAST = 2
dim VisRect as QRect
dim VisPoint as Point
dim VisPoint1 as Point
Dim hBrush As Long
dim bgcolor As Long
dim HiLiteFont as QFont
dim HiLiteFont1 as QFont
HiLiteFont.bold=0
HiLiteFont.Name="FixedSys"
dim ClrSchComBoxList as QStringList 'äîëæåí áûòü ãëîáàëüíûé
'!!! ----- öâåòà ïîäñâåòêè ---
defint HLColor (0 TO 15): for i=0 to 15 : HLColor(i)=0: next i
HLColor(0)=&HB5E6EC ' æåëòîâàòûé
HLColor(1)=&HFF0000 ' ñèíèé
HLColor(2)=&HFF0082
HLColor(3)=&HFF0000
HLColor(4)=&HFF0000
HLColor(5)=&HFF0000
HLColor(6)=&H00BE00
HLColor(7)=&H0077F9
HLColor(8)=&H0000FF ' êðàñíûé
HLColor(9)=0
HLColor(10)=&HF9E7FF
HLColor(11)=clBlue
HLColor(12)=&HFFF2F1
HLColor(13)=&HE2ECf8
HLColor(14)=&HE2ECB8
'!!! ----- öâåòà òåìû ---
defint TmColor (0 TO 15): for i=0 to 15 : TmColor(i)=0: next i
TmColor(0)=&HB5E6EC
TmColor(1)=&HFF0000
TmColor(2)=&HFF0082
TmColor(3)=&HFF0000
TmColor(4)=&HFF0000
TmColor(5)=&HFF0000
TmColor(6)=&H00BE00
TmColor(7)=&H0077F9
TmColor(8)=&H0000FF
TmColor(9)=0
TmColor(10)=&HF9E7FF
TmColor(11)=clDBlue
TmColor(12)=&HFFF2F1
TmColor(13)=&HE2ECf8
TmColor(14)=&HE2ECB8
'!!! -----end HiLight ----------
DECLARE FUNCTION GetFocus Lib "user32" Alias "GetFocus"() AS LONG
DECLARE FUNCTION Setfocus Lib "user32" Alias "SetFocus"(hwnd As Long) AS LONG
defint SrcEditLineCount ' ÷èñëî ñòðîê â ðåäàêòîðå
'!!! ----- popup menu -------
defint MaskBoxHdl, SearchEditHdl
declare sub SearchBlock '(Sender as QRichEdit)
declare sub ClearAllRich ' (Sender as QRichEdit)
declare sub ToLoverCAse '(Sender as QRichEdit)
declare sub ToUpperCAse '(Sender as QRichEdit)
'declare SUB FindOnClick
declare SUB FindText (Sender as QButtonXP)'
declare sub ChangeFontBtnClick
declare sub AddSubs
declare sub GoSubs
NOPAINT=0
NOPAINT1=0
defint SrcEditLen, Modiflg, NeedSubRefresh 'ðàçìåð òåêñòà èçìåíèëñÿ
'DECLARE SUB TabChange
declare sub ObjTabChange
declare sub PropertTabChange
declare sub SearchItOnClick
declare sub RunItOnClick
declare sub CompileOnClick
declare sub CompDebugOnClick
declare sub CompDebugOnClick1
declare sub CompByteOnClick
declare sub CMDLParamOnClick
declare sub RunOnClick
declare sub PauseOnClick
declare sub ContinueOnClick
declare sub StepOverOnClick
declare sub StepInToOnClick
declare sub RunToCursOnClick
declare sub AddWatchOnClick
declare sub DelWatchOnClick
declare sub DelAllWatchOnClick
declare sub ToggleBreakPointOnClick
declare sub ClearAllBreakPointsOnClick
declare sub FormCloseOnClick
declare sub EvalModifOnClick
declare sub WatchListFormResize
declare sub SubListFormResize
declare sub ObjInspectorFormResize
Declare Sub LangManagerOnClick
declare sub CreateFileOnClick
declare sub SaveFileOnClick
declare sub SaveAsOnClick
declare sub SaveAs
declare sub SaveFile
declare sub DeleteFileOnClick
declare sub SavePrjFileOnClick
declare sub SavePrjAsOnClick
declare sub DeletePrjOnClick
declare sub exitProgOnClick
declare sub OpenPrjSrcOnClick
declare sub OpenDebugSrcOnClick
declare sub OpenPrjFrmOnClick
declare sub ObjInspectorOnClick
declare sub SubsListOnClick
declare sub WatchListOnClick
declare sub DirTreeOnClick (Sender as QButtonXP)
declare sub Help1
declare sub Help2
Declare Sub ArduinoCLIHelpClick
'declare SUB Check(key AS BYTE)
declare sub exitProg
declare sub DeleteFile
'declare sub LoadIni
declare sub OpenProject
declare sub OptionsPrj
Declare Sub UtilOnClick
'declare sub ClearGrd
declare sub SaveIni
declare sub DirTreeFormResize
declare sub DirTreeFormOnClose
declare sub CheckDir (Key as Byte)
declare sub GotoHotDir
Declare Sub DirTreeFormShow
declare sub BtnDelHotDirClick
declare sub BtnAddHotDirClick
'DECLARE SUB MaskChange
'DECLARE SUB MaskDel
'DECLARE SUB MaskSave
DECLARE SUB FileLoad
'declare FUNCTION vidnum$ (Num, dig%) as string
declare sub PopUpMe
'declare sub StopS
'declare function TimeString (TimSec as integer) as string
declare SUB RichShowXY
'declare sub R2Change
defstr filname$
'!!! menu ---------'
dim Del AS QMENUITEM
dim BackSpace AS QMENUITEM
dim mnuSep31 AS QMENUITEM
mnuSep31.Caption = "-"
dim AddWatchMnu AS QMENUITEM
dim mnuSep3 AS QMENUITEM
mnuSep3.Caption = "-"
defstr RichRow1, RichCol1, RichRow2, RichCol2, RichRow3, RichCol3
dim StrFont1 as QFont
StrFont1.name="FixedSys"
dim G2Font as QFont
G2Font.Size=18
G2Font.color=clRed
'StrFont.DelStyles(fsBold)
G2Font.name="FixedSys"'"MS Sans qwerty
dim StrFont as QFont
StrFont.Size=8
'StrFont.color=clRed
'StrFont.DelStyles(fsBold)
StrFont.name="FixedSys"'"MS Sans qwerty
DelWinFileName$=""
defstr SrcFileName, DebugString, FrmWndProc, AddInText, StartDir, ext
defstr IncFilesName$
StartPath$ = COMMAND$(0)-Application.ExeName
IdePath$=StartPath$
StartDir=StartPath$ 'curdir$+"\"
mkdir StartPath$+"lang\"
'DIM OpenDialog AS QOpenDialog
DIM OpenDialog AS QFILEDIALOG
OpenDialog.FileName=""
'rem 0
OpenDialog.Filter ="1.All Files *.*|*.*|_
2.Bas Files *.bas;*.rqb;*.vbs|*.bas;*.rqb;*.vbs|_
3.Arduino Files *.ino;*.pde;*.h;*.c;*.cpp|*.ino;*.pde;*.h;*.c;*.cpp|_
4.Config Files *.yml;*.json|*.yml;*.json|_
5.Ini Files *.ini;*.prj|*.ini;*.prj|_
6.Inñ Files *.inc;*.tpl|*.inc;*.tpl|_
7.Log Files *.log|*.log|_
8.Txt Files *.txt|*.txt|_
9.Html Files *.*htm*;*.js;*.vbs;*.css|*.*htm*;*.js;*.vbs;*.css|_
10.Hex Files *.Hex|*.Hex|_
11.Graphics Files *.ico;*.bmp|*.ico;*.bmp|_
12.Media Files *.*wav;*.mid;*.mp3|*.*wav;*.mid;*.mp3|"
'erem
OpenDialog.FilterIndex = 1
'12
OpenDialog.Caption = "QfileDialog"
OpenDialog.FileName= ""
OpenDialog.InitialDir = StartDir
DIM SaveDialog AS QSaveDialog
'DIM SaveDialog AS QFILEDIALOG
DIM FontDialog AS QFontDialog
FontDialog.name="FixedSys"
defint pauseOn, ButtonSizeH, ButtonSize, NumMsg, WatchList_Visible
brem 0
'!!!================
DIM fDialog as qfiledialog
with fDialog
.Filter ="All Files *.*|*.*|_
Bas Files *.bas;*.rqb;*.vbs|*.bas;*.rqb;*.vbs|_
Arduino Files *.ino;*.pde;*.h;*.c;*.cpp|*.ino;*.pde;*.h;*.c;*.cpp|_
Config Files *.yml;*.json|*.yml;*.json|_
Ini Files *.ini;*.prj|*.ini;*.prj|_
Inñ Files *.inc;*tpl|*.inc;*tpl|_