??
字號:
1.此函數控件在vb6,windowsme調試通過
2.vb運行后,要使用但未添加此函數控件,請先添加:工具箱——部件——瀏覽——選擇abouttextandfile.ocx
3.調用方式,控件名加函數名(如下例):
控件名.Seektxt ........ '不需要返回值,隱式調用(不要括號)
call 控件名.Seektxt(........) '不需要返回值,顯式調用
變量名=控件名.Seektxt(........) '獲取返回值。
4.此函數控件的初始控件名為Function1
5.xcdzip35.ocx為壓縮函數必用控件,請不要刪除,您也可以自己單獨調用,試一下。
函數一:
Seektxt(boxtype, Findtxt As String, Optional Word As Boolean, _
Optional Macase As Boolean, Optional Fangxiang As Long, _
Optional Refind As Boolean, Optional Tihua As Long, _
Optional Changetxt As String) As Long
使用此函數,可以令您在文本框中輕輕松松向上,向下,全部方向,從文未或文首根據各種
匹配條件進行查找和再查找,當然,也可以在各個方向,根據不同的匹配條件進行單個替換
和再替換,或在整個文本框,或在選定的文本中進行全部替換,而無需您再編寫太多的代碼。
此函數若用于textbox控件,請將 HideSelection 屬性設為false,找到的字符才能高亮顯示
部分 說明
boxtype 必要參數,被搜索的textbox或richtextbox控件的名稱。
findtxt 必要參數,接受搜索的字符串表達式。
word 可選參數,是否要求全字匹配,是為true,否為false,缺省為false
macase 可選參數, 是否要求區分大小寫,是為true,否為false,缺省為false
fangxiang 可選參數, 指定查找的方向,缺省為3,全部方向(具體的可取值看下面說明)
refind 可選參數,是否要重新從文本框的第一個字符或最后一個字符找起,是為true,否為false,缺省為false
設置此參數為true的前提是fangxiang的取值必須為4或者5,否則函數將自動屏蔽此參數(既當此參數的值為缺省值false)
tihua 可選參數,替換,取值0(也是缺省值)為不進行替換,1為單獨替換,2為在選擇文本中進行替換,3為整個文本框進行替換
changetxt 可選參數, 替換字符串表達式.缺省或者為空字符串,則是將找到的字符刪除.
fangxiang參數的設置值
值 描述
1 從當前光標位置向上搜索
2 從當前光標位置向下搜索
3 從當前光標開始,進行全部方向的搜索
4 從文本框的第一個字符開始,向下搜索
5 從文本框的最后一個字符開始,向上搜索
函數返回值:
值 描述
0 表示在指定的方向和條件下,已搜索或替換完畢
-1 文本框為空不進行查找
-2 第二個參數為空,沒有給予要查找的字符串
-3 查找方向或替換方式的取值超出許可范圍
-4 替換方式取值2,但文本框沒有選擇文本
-5 第一個參數非Textbox或Rrichtextbox文本框
示例程序:
一個richtextbox控件
一個combobox控件,設計時按順序添加“單獨替換”,“選定文本替換”,“全部替換”三項
兩個checkbox控件,分別顯示為“區分大小寫”,“全字匹配”
五個optionbutton控件數組,分別顯示為“向上查找“,“向下查找”,“全部方向”,“文未找起”,“文首找起”(“全部方向”在設計時設為選定狀態)
兩個commandbutton控件 分別為“查找”,“替換”
兩個文本框,一個為查找內容輸入,一個為替換內容,與兩個命令按鈕相對應
'通用部分的聲明:
Dim fanxia As Integer '標記用戶選擇的查找方向
Dim txtchang As Boolean '標記查找內容或替換內容發生改變
Private Sub Form_Load()
Combo1 = Combo1.List(0) '初始顯示替換方式為單獨替換
fanxia = 3 '方向初始為3(全部方向)
End Sub
Private Sub Command1_Click() 'richtextbox控件的查找
Call Function1.Seektxt(Text3, Text1, -Check1.Value, -Check2.Value, fanxia, txtchang)
txtchang = False '查找之后應將txtchang還為false,否則會每一次都從文未或文首查起,而不會查找下一條
End Sub
Private Sub Command2_Click() 'richtextbox控件的替換
Call Function1.Seektxt(RichTextBox1, Text1, -Check1.Value, -Check2.Value, fanxia, txtchang, Combo1.ListIndex + 1, Text2)
txtchang = False
End Sub
Private Sub Text1_Change()
txtchang = True '標記查找或替換內容發生改變,作用:當用戶的查找或替換內容發生改變且選擇的查找方向為文首或
End Sub '文未找起,則可用此值作為refind參數的值,重新從頭或從最后找起,當然,您也可以不設置此值
'提示:seektxt函數的refind參數若傳遞為true ,則fangxiang參數的值必須是4或者5,否則函數將自動屏蔽
Private Sub Text2_Change() 'refind參數(既當此參數為缺省值false)
txtchang = True
End Sub
Private Sub Option1_Click(Index As Integer)
fanxia = Index '記下用戶選擇的查找方向
End Sub
函數返回0,表示在指定的方向和條件下,已搜索或替換完畢.此示例程序沒有接受函數的返回值
您也可以用例如A=Function1.seektxt(........)的方式來接受返回值.
請注意,如果是Textbox控件,其Hideselection屬性必須設為false
函數二:
OnlyOpenFolder(frm, ByVal Title As String) As String
此函數能打開只能選擇文件夾的對話框。frm為窗體名稱,title為提示信息。
如:call onlyopenfolder(form1,"請選擇目錄:")
函數三:
Getlincount(txtBoxName) As Long
獲取文本框總行數,boxname為文本框的名稱,如果文本框為空則返回0
如:i=getlincount(text1)
函數四:
GetLine(BoxName, Whichline As Long) As String
獲取指定行的內容,boxname為為文本框的名稱,whichline為指定的行數,如果沒有這一行,則返回"-1"
函數四:
Getlength(BoxName, Whichline As Long) As Long
獲取指定行長度,參數與上同,沒有這一行,則返回-1
函數五:
GetCaretPos(BoxName, LineNo As Long, ColNo As Long)
獲取光標在文本框的位置,boxname為為文本框的名稱,lineno和colno返回光標的行和列
如:dim i as long
dim k as long
call function1.getcaretpos(text1,i,k)
msgbox “行為" & str(i) + vbcrlf + "列為" & str(k)
函數六:
Undo(BoxName)
調用此參數可在文本框中進行撤消操作,boxname為文本框名稱
函數七:
EditLine(BoxName, ByVal Whichline As Long, ByVal ChangeTxt As String) As Boolean
修改某一行,若changetxt為空串,則是將找到的內容刪除,修改成功返回true,否則返回false
函數九:
GetStrInLine(BoxName, ByVal Findstr As String, Optional ByVal mcase As Boolean,_
Optional GetlineItem As Boolean) As String
獲取文本框中包含指定字符串的所有行的內容或者所有行號
boxname為為文本框的名稱,Findstr為要查找的字符串表達式
mcase指定是否要區分大小寫,默認是不區分大小寫,若mcase為true則區分大小寫
若getlineitem為true,則是返回所有以"\"隔開的行號,缺省是返回內容
函數十:
DelSpace(ByVal Txt As String) As String
刪除字符串中所有空格
函數十一:
lUcase(ByVal Txt As String, ByVal ChangeTxt As String, Optional ByVal Typelei As Boolean) As String
在字符串中將指定字符轉為大\小寫,Typelei缺省是轉為小寫,傳遞為true則轉為大寫
txt為被查找的字符串,changetxt為要轉換的字符
函數十二:
CountStr(ByVal Txt As String, Optional ByVal FindTxt As String) As Long
在字符串統計某一字符串總數,txt為被查找的字符串,findtxt為要查找的字符串
函數十三:
Delchange(ByVal Txt As String, ByVal FindTxt As String, Optional SpaceTxt As String) As String
刪除或替換字符串中指定的字符,若spacetxt傳遞為空串則是刪除
txt為被查找的字符串,findtxt為要修改的字符串
函數十四:
IsAllStr(ByVal Txt As String) As Boolean
判斷字符串中是否包含數字,有則返回true,否則返回false
函數十五:
SaveTree(Treename, ByVal Path As String) As Long
將treeview的內容保存到文件中,treename為treeview控件的名稱,path為保存路徑名稱
如果目錄表為空則跳出不保存savetree返回0
保存成功返回1,否則返回-2
如果傳遞的第一個參數非treeivew控件返回-1
保存treeview的目錄結構,有一個非常重要的前提就是,
節點名稱中(node的text屬性)不能帶有"*"號,才能正確保存和讀取
函數十五:
ReadTreeFile(Treename, ByVal Path As String) As Long
讀取目錄文件到treeview中,是上面的逆函數
函數返回值 說明
1 讀取成功
0 文件沒找到
-1 路徑沒找到
-2 目錄文件為空
-3 目錄文件有空行或內容受損
-4 未啟動圖像控件,或此控件的圖片數量不足
-5 第一個參數非treeview控件
-6 未知錯誤
函數十六:
IsDat(ByVal Txt As String) As Boolean
判斷一個字符串是否純為數字,不包含任何其他的可視字符,是返回true,否則返回false
函數十七:
FileIsHave(ByVal FilePath As String) As Boolean
判斷文件是否存在
函數十八:
FolderIsHave(ByVal FolderPath As String) As Boolean
判斷文件夾是否存在
函數十九:
GetFileAttrib(ByVal filename As String) As String
返回文件屬性
返回值 說明
r 只讀
h 隱藏
s 系統
a 存檔
或者返回三者的各種組合
0 無設置屬性
函數二十:
setFileAttrib(ByVal filename As String,Attr As String) As Boolean
設置文件屬性, attr為要設置的屬性值,參考上面的屬性值。
如:call function1.setfileattrib("c:\1.txt","rh") 設置為只讀和隱藏屬性
函數二十一:
GetFolderAttrib(ByVal Foldername As String) As String
返回文件夾屬性,與函數十九一樣.
函數二十二:
SetFolderAttrib(ByVal Foldername As String, Attr As String) As Boolean
設置文件夾屬性。
函數二十二:
AddFile(Boxtype, ByVal Path As String, Optional ByVal Clean As Boolean) As Boolean
此函數能使文本框(textbox)保存、裝載文件變得更簡單易行,因為它能使textbox文
本框象richtextbox文本框擁有loadfile方法一樣,一句代碼即可裝入文件。
其次,不僅僅是保存和裝入簡單,此函數還可以使文本框能追加一個或多個文件,或同時調
入兩個以上文件(包括textbox和richtextbox文本框),特別是richtextbox文本框,即可以
追加txt格式的文件,也可以追加rtf格式的文件,甚至是兩種文件同時追加。
Boxtype為richtextbox或textbox的名稱
Clean為true,則是將調入的文件內容覆蓋文本框的內容,否則,將調入的文件內容追加到文本框中,缺省為false(追加)
如:call function1.addfile(richtextbox1,"c:\1.txt" & "*" & "c:\1.rtf") '用"*"隔開要打開的各個文件,如果是一個則不必
函數二十三:
SaveFile(BoxName, ByVal Path As String) As Boolean
保存textbox控件的文本內容到文件。boxname為文本框名稱,path為保存的路徑和文件名
如果path指向的文件已存在,則會進行覆蓋
保存成功返回true,否則返回false(如文件已存在并具有只讀屬性無法寫入)
如:call funcion1.savefile(text1,"c:\1.txt")
函數二十四:
GetFolderCount(ByVal Foldername As String) As Long
獲取某個文件夾中的文件夾總數,包括受保護的操作系統文件夾和隱藏文件夾,但不包括其下級文件夾
函數二十五:
GetFileCount(ByVal Foldername As String) As Long
獲取某個文件夾中的文件總數,包括受保護的操作系統文件和隱藏文件,但不包括下級文件夾的文件
函數二十六:
GetAllFileName(ByVal Foldername As String) As String
獲取某個文件夾中的所有文件的名稱,包括受保護的操作系統文件和隱藏文件,但不包括下級文件夾的文件,各個文件名用“\"號隔開
函數二十七:
GetSysFolder(ByVal TypeFolder As Long) As String
獲取系統文件夾
參數 返回值
0 windows的安裝路徑
1 system系統文件夾
2 temp臨時文件夾
3 desktop桌面文件夾
4 MyDocuments我的文檔文件夾
5 Fonts字體文件夾
6 StartMenu開始菜單文件夾
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -