• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB.NETでのiniファイル読込について。)

VB.NETでのiniファイル読込について

このQ&Aのポイント
  • .netでのiniファイル読込がうまくいかない問題について相談です。
  • VB.NETでのiniファイルの読み込みがうまくいかない状況で、質問の詳細やソースコードを共有しました。
  • 詳細な状況や環境、ソースコードを共有し、VB.NETでのiniファイル読み込みの問題の解決策を求めています。

質問者が選んだベストアンサー

  • ベストアンサー
  • NYOI
  • ベストアンサー率58% (56/96)
回答No.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 これでうまくいくと思います。

Qoo1985
質問者

お礼

おおお!イケました。 固定長の部分が間違っていたのですね ありがとうございます!!

その他の回答 (1)

  • NYOI
  • ベストアンサー率58% (56/96)
回答No.1

どこでエラーになりますか? iniファイルの設置場所は間違っていませんか?

Qoo1985
質問者

補足

エラーと言うか、strErrの"失敗"が出力されます。 読み込めなかったと言う事ですよね。 ファイルの場所はapp.pathのiniフォルダなので間違いないと思うのですが… 私のソースで"成功"が出力されるはずなのですが、"失敗"なんです。

関連するQ&A