2010-05-17 100 views

回答

2

粘土,

看看這篇文章在DevX.com

Read/Write INI without using API

這應該讓你在一個很好的方向指向。這些模塊有點髒,在這一點上,需要存儲INI的路徑。相反,只需修改模塊以直接使用您的字符串,您應該會收到所需的結果。讓我知道這是如何解決你的。

1

ini文件將存儲在硬盤上。如果你想保存在註冊表中,而不是(這應該被添加到註冊表文件也是如此),你可以使用這些功能:

SaveSetting 
GetSetting 
0

如果你不想把它保存在磁盤上,我認爲這可能是困難使用任何特定的API調用。但是,如果它是一個ini文件,它應該是結構化的格式,爲什麼不直接循環直到你想要的部分,然後從它讀取你想要的值。

這是一個漫長的時間,但它應該是這樣的,我認爲:

只是Split它換行符得到線組成的數組,然後每個部分應該按照一定格式的開始和在那裏的每一行你檢查它是否包含一個=我認爲,如果是這樣的話,那麼第一個=左邊的所有東西都是該值的名稱,它右邊的所有內容都是值。

0

聲明兩個Windows API函數進口

Public Declare Function GetPrivateProfileStringA Lib "kernel32.dll" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long 

Public Declare Function WritePrivateProfileStringA Lib "kernel32.dll" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long 

對於閱讀

sReturn = Space(255) 
sReturn = Left(sReturn, GetPrivateProfileStringA(header, key, defaultReturn, sReturn, 255, filePath)) 

對於書面方式

WritePrivateProfileStringA header, key, Datum, filePath 

記住的INI文件的結構是

[header] 
key=data 
+0

Carolos,那些從/到FILES而不是從內部字符串讀取/寫入的。 – 2010-05-21 22:55:46

0

是的,在VB6中幾乎所有的東西都是可能的。但我不認爲有任何Windows API來做到這一點。

如果你找不到一個圖書館來做到這一點,你將不得不爲自己編碼。如果您必須自己編寫代碼,請參閱您是否可以找到一些可用於ini文件的現有代碼,以瞭解如何使用ini文件。

+0

有兩個用於處理INI文件的窗口API函數,GetPrivateProfileStringA和WritePrivateProfileStringA。 – 2010-05-21 21:12:50

+0

那些需要一個文件。 – Echo 2010-05-22 05:29:13

相關問題