❶ VB編的程序,要求把中文界面改成英文界面
最好的方法就是利用ini文件存儲語言信息,然後軟體啟動的時候自動讀取,然後載入到菜單和標簽項裡面,可以實現多語言切換
❷ VB中ini文件的遍歷
'利用API函數批量讀取某個節所有項目
"kernel32"Alias"GetPrivateProfileSectionA"(ByVallpAppNameAsString,ByVallpReturnedStringAsString,ByValnSizeAsLong,ByVallpFileNameAsString)AsLong
'對API抱裝了一下,參數1.節名;2.文件名(包括路徑)。返回字元串,每個項目以英文逗號分隔。
(ByVallpAppNameAsString,ByVallpFileNameAsString)AsString
IfDir(lpFileName)<>""Then
DimbufferAsString
buffer=Space(FileLen(lpFileName))
IfGetPrivateProfileSection(lpAppName,buffer,Len(buffer),lpFileName)>0Then
DimlocAsInteger
loc=InStr(buffer,Chr(0)&Chr(0))
buffer=Left(buffer,loc-1)
buffer=Replace(buffer,Chr(0),",")
getProfileSection=buffer
EndIf
EndIf
EndFunction
'這個函數用上面的函數獲取ini文件中的串,把它轉換為兩維數組返回,如讀取錯誤返回null
(ByValSectionAsString)AsVariant
OnErrorGoToerrHandle
Dima
a=Split(Section,",")
Dimar()AsString
ReDimar(UBound(a),1)
DimiAsInteger
Dimitems
Fori=0ToUBound(a)
items=Split(a(i),"=")
ar(i,0)=items(0)
ar(i,1)=items(1)
Next
ProfileSectionToArray=ar
ExitFunction
errHandle:
ProfileSectionToArray=Null
EndFunction
'這是測試
PrivateSubCommand1_Click()
DimkeyvaluesAsString
keyvalues=getProfileSection("舞台燈光","c:123.ini")
Dimar
ar=ProfileSectionToArray(keyvalues)
IfNotIsNull(ar)Then
DimiAsInteger
Fori=0ToUBound(ar,1)'遍歷二維數組
Debug.Printar(i,0),ar(i,1)
Next
EndIf
EndSub
'一次只能讀取一個節,如果要把幾個節的項目合在一個數組中,可以多getProfileSection幾次連接成一個字元串,然後再ProfileSectionToArray
❸ 請問如何用ASP讀取ini配置文件,
不建議這么做。
假設你用scripting.filesystemobject或者adodb.stream組件來讀文件內容
那麼判斷ip 和 name 的值是是要寫很復雜的東西,而且效率也不高。
那麼怎麼解決這個問題呢?
建議你用xml
把system.ini改寫為system.xml
如下:
<system>
<ip name=123 >192.168.0.1</ip>
</system>
通過xmldom的讀數節點,就很容易實現。
'創建DOM對象
set objDom=server.CreateObject("MicroSoft.XMLDom")
'取得XML數據
objDom.load(Server.Mapth("system.xml"))
set objtofind=objdom.documentElement.SelectSingleNode("//system/ip")
'取出這個節點對象的 節點名,節點值,某個屬性值,和全部的XML
nodename=objtofind.nodename
nodevalue=objtofind.text
objtofind.GetAttributeNode("name").NodeValue '屬性名為name的屬性值
'取出一個屬性節點對象
set objattrtofind=objdom.documentElement.SelectSingleNode("//system/ip"). GetAttributeNode("name")
'取出這個節點的屬性名,屬性值
nodeattrname=objattrtofind.nodename
nodeattrvalue=objattrtofind.nodevalue
遍歷這個集合
for each element in objnodes
response.write element.nodename
response.write element.text
next
不管你system下有多少子類,都可以讀出來,你只要按xml格式寫。
❹ 怎麼遍歷讀取ini文件的所有節點
ini文件讀取一般要引入win32API函數來完成,可以參考以下的函數ReadSection,結果以StringCollection的形式返回,你可以自己再做後續處理: public string FileName; //INI文件名 //聲明讀寫INI文件的API函數 [DllImport("kernel32")]
❺ 如何用dos命令遍歷文件夾目錄樹將 *.txt 文件重命名為 *.ini,
@echo off
set a=0
setlocal EnableDelayedExpansion
for %%n in (*.TXT) do (
ren "%%n" "!復*!.ini"
)
*號不可以當作制文件名,你新建一個文本, 復制上面的信息到文本中, 保存-關閉, 然後修改文件的後綴名為 .bat 運行即可.
注意: 這個bat文件必須跟所要改名的ini/TXT文件在同一文件夾下.
補充回答: 如果你確定兩個文件夾內的文件名都一樣, 那你可以先對文件進行名稱排序. (滑鼠右鍵-排列圖標-名稱)