$INCLUDE "RAPIDQ.INC"
DECLARE SUB HistChoose (Sender AS QMENUITEM)
DECLARE SUB ClearHistoryOnClick
DECLARE SUB ChangeDirectory
DECLARE SUB ChangeDirectory1
DECLARE SUB AddClrString (AddString$, Clr, Sender AS QRICHEDIT)
DIM HistorI(9) AS QMENUITEM
FOR i%=0 TO 8
HistorI(i%).OnClick=HistChoose
NEXT i%
DEFINT InsIdx,ReplFlg:
CREATE Form AS QFORM
CAPTION = "RQ Search&Replace"
Font.size=10
windowstate=2
CREATE MainMenu AS QMAINMENU
CREATE History AS QMENUITEM
CAPTION = "History"
CREATE ClearHistory AS QMENUITEM
CAPTION = "Clear History"
OnClick=ClearHistoryOnClick
END CREATE
CREATE BreakItemCh1 AS QMENUITEM
CAPTION = "-"
END CREATE
END CREATE
END CREATE
CREATE DirTree AS QDIRTREE
Left = 150
InitialDir = "c:\bas"
Width =315
Height =300
OnChange =ChangeDirectory1
TabOrder=1
ShowHint=false
font.COLOR=clDred
END CREATE
CREATE LogEdit AS QRICHEDIT
Top = 320
Left = 150
Height = 300
Width =615
HideSelection = 0
HideScrollBars=false
ScrollBars=ssBoth
END CREATE
CREATE FilePanel AS QPANEL
Left =470
Width =300
Height =300
borderstyle= bvLowered
BevelOuter=bvNone
COLOR=&h887E56
CREATE DirBox AS QEDIT
Text = DirTree.Directory
Left = 3
Top = 5
TabOrder = 2
Width =FilePanel.Width-40
END CREATE
CREATE MaskBox AS QCOMBOBOX
Text = "*.*"
Left = 3
Top = 30
TabOrder = 2
Width =FilePanel.Width-16
AddItems "*.*","*.","*.*htm*", "*.txt" , "*.rtf"
END CREATE
CREATE FileListBox1 AS QFILELISTBOX
Left = 3
Top = 50
Width =FilePanel.Width-16
Height =FilePanel.Height-20
Drive = "C"
mask=MaskBox.Text
TabOrder=3
ShowIcons=true
MultiSelect=True
END CREATE
END CREATE
END CREATE
FOR i%=0 TO 8
HistorI(i%).CAPTION= STR$(i%)+"----------"
HistorI(i%).enabled=false
IF HistorI(i%).CAPTION <> "" THEN History.Insert (2, HistorI(i%)):
NEXT i%
Form.SHOWMODAL
SUB HistChoose (Sender AS QMENUITEM)
FileListBox1.Directory=Sender.CAPTION
DirBox.Text =Sender.CAPTION
END SUB
SUB ChangeDirectory1
FileListBox1.Directory=DirTree.Directory
DirBox.Text=DirTree.Directory
FileListBox1.Mask=""
FileListBox1.Mask=MaskBox.Text
CALL AddClrString ("Directory ChangeD "+CURDIR$, clDGreen, LogEdit)
FOR i=0 TO 8
IF HistorI(i).CAPTION=CURDIR$ THEN
ReplFlg=1:
History.DelItems HistorI(i)
History.Insert (2, HistorI(i)):
CALL AddClrString ("move top HistorI("+STR$(i)+").Caption= "+HistorI(i).CAPTION, clDGreen, LogEdit)
CALL AddClrString ("", clDGreen, LogEdit)
EXIT FOR
END IF
ReplFlg=0
NEXT
IF ReplFlg=0 THEN
History.DelIndex(10)
HistorI(InsIdx).CAPTION = CURDIR$:
HistorI(InsIdx).enabled=true
History.Insert (2, HistorI(InsIdx)):
INC InsIdx:
IF InsIdx > 8 THEN InsIdx=0
ELSE
ReplFlg=0
END IF
FOR i=0 TO 8
CALL AddClrString ("HistorI("+STR$(i)+").Caption= "+HistorI(i).CAPTION, clDBlue, LogEdit)
NEXT i
CALL AddClrString ("new InsIdx= "+STR$(InsIdx), clred, LogEdit)
END SUB
SUB ClearHistoryOnClick
InsIdx=0
ReplFlg=0
FOR i=0 TO 8
History.DelIndex(2)
NEXT
FOR i%=0 TO 8
HistorI(i%).CAPTION=STR$(i%)+ " empty"
HistorI(i%).enabled=false
History.Insert (2, HistorI(i%)):
NEXT i%
END SUB
SUB AddClrString (AddString$, Clr, Sender AS QRICHEDIT)
Sender.SelStart =LEN (Sender.Text)
Sender.SelLength =LEN(AddString$)
Sender.SelAttributes.COLOR=Clr
Sender.AddStrings AddString$
END SUB
|