VB.netでINIファイルから文字列を取得するにはどうすればよろしいでしょうか?
過去の履歴を見ても理解できません
出来れば、サンプルソースなどを掲載していただけますとありがたいのですが………………
過去ログに、サンプルソースがあって、
それを見ても理解できないとなると、
どうやって回答すればいいのでしょうか?
教えてください。
たとえば、
Public Function GetIni(ByVal section As String, ByVal Key As String, ByVal DefaultString As String) As String
とありますが、呼び出し元はどのようにすればよいのですか?
Call GetIni(ここの値がわかりません)
よろしくお願いします
# VB.NET では、INI ではなく、XML を推奨しているんですけどね...
> Call GetIni(ここの値がわかりません)
セクション名、キー名、デフォルト値の概念もわからないようでは、厳しいのでは?
ちなみに、API を使いたくないのならば。
http://jeanne.wankuma.com/library/
サンプルソースを参考に、動かしてみましたがデフォルト値しかよんでくれません。
ソースは下記のとおりです。
Dim strFullPath As String
Dim strININame As String
Dim Ret As Long '戻り値
Dim strTemp As String '一時格納変数
Dim intLen As Long '文字列長
Dim linebuf As String
linebuf = New String(CChar(" "), 256)
Dim buf As String
buf = New String(CChar(" "), 256)
Dim INI_DBPATH_READ As String
'INIファイル名取得
'iniファイルのファイル名作成
strININame = System.IO.Path.Combine(PUB_AppPath, PUB_ExeName & ".ini")
'バッファを確保
strTemp = ""
strTemp = strTemp.PadLeft(1024, Chr(0))
intLen = Len(strTemp)
Ret = GetPrivateProfileString(section, Key, DefaultString, _
strTemp, intLen, strININame)
If Ret > 0 Then
buf = Microsoft.VisualBasic.Left(linebuf, InStr(linebuf, Chr(0)) - 1)
INI_DBPATH_READ = buf
End If
End Function
なにが問題なのでしょうか?
>なにが問題なのでしょうか?
あなたの考える力が問題なんでしょう。
変数section、Key、DefaultStringの中身は何でしょうか?
また、変数linebufは
> linebuf = New String(CChar(" "), 256)
と設定しているので
> buf = Microsoft.VisualBasic.Left(linebuf, InStr(linebuf, Chr(0)) - 1)
としても意味がないのでは?
変数strTempも、GetPrivateProfileStringで取得した文字列が入っている
はずなのに、無視しているし・・・
普通なら
buf = Microsoft.VisualBasic.Left(strTemp, InStr(strTemp, Chr(0)) - 1)
として所得すると思うんだが・・・。
みなさん
おさわがせしました。
ツイート | ![]() |