- ベストアンサー
VB.NETでのiniファイル読込について
- .netでのiniファイル読込がうまくいかない問題について相談です。
- VB.NETでのiniファイルの読み込みがうまくいかない状況で、質問の詳細やソースコードを共有しました。
- 詳細な状況や環境、ソースコードを共有し、VB.NETでのiniファイル読み込みの問題の解決策を求めています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
vb6時代コードそのまんまになってるのが原因みたいです。 例えばLong型で宣言されている部分は.NETではIntegerになります。 その他数箇所手を入れました。 まずAPI部分 Private Declare Function GetPrivateProfileString Lib "kernel32" _ Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _ ByVal lpKeyName As String, _ ByVal lpDefault As String, _ ByVal lpReturnedString As System.Text.StringBuilder, _ ByVal nSize As Integer, _ ByVal lpFileName As String) As Integer つづいて INI_DBPATH_READ部分 Sub INI_DBPATH_READ(ByVal FilePath As String) Dim lngRet As Long '読み込みバッファ(固定長Stringというのは.NETではナイ) Dim strGetBuff As New System.Text.StringBuilder strGetBuff.Capacity = 256 'iniファイルより読み込む文字列のサイズ Dim intGetSize As Integer 'セクション名 Dim strSection As String 'キー名 Dim strKey As String '読み込みエラー時の出力文字列 Dim strErr As String 'iniファイル名(フルパス) Dim striniFn As String strSection = "TIFF_FOLDER" strKey = "PATH" strErr = "失敗" striniFn = Replace(GetAppPath(), "\bin", "\Ini") & "\test.ini" 'strGetBuffに文字列を取得する lngRet = GetPrivateProfileString(strSection, strKey, strErr, _ strGetBuff, strGetBuff.Capacity, striniFn) MsgBox(strGetBuff.ToString) End Sub これでうまくいくと思います。
その他の回答 (1)
- NYOI
- ベストアンサー率58% (56/96)
どこでエラーになりますか? iniファイルの設置場所は間違っていませんか?
補足
エラーと言うか、strErrの"失敗"が出力されます。 読み込めなかったと言う事ですよね。 ファイルの場所はapp.pathのiniフォルダなので間違いないと思うのですが… 私のソースで"成功"が出力されるはずなのですが、"失敗"なんです。
お礼
おおお!イケました。 固定長の部分が間違っていたのですね ありがとうございます!!