![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
.netでのiniファイル読込がうまくいきません。
何が悪いのかさっぱりわかりません。
ご指摘お願いいたします。
環境
os :xp 開発ソフト VB.NET ver 1.1.4322 SP1
ソース
Private Declare Function GetPrivateProfileString Lib "kernel32" _
Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long
'実行ファイルパスの取得 *VB6のapp.path
Shared Function GetAppPath() As String
Return System.IO.Path.GetDirectoryName( _
System.Reflection.Assembly.GetExecutingAssembly().Location)
End Function
Function INI_DBPATH_READ(ByVal FilePath As String) As String
Dim lngRet As Long
'読み込みバッファ(固定長)
Dim strGetBuff As String = 256
'iniファイルより読み込む文字列のサイズ
Dim intGetSize As Integer
'セクション名
Dim strSection As String
'キー名
Dim strKey As String
'読み込みエラー時の出力文字列
Dim strErr As String
'iniファイル名(フルパス)
Dim striniFn As String
strGetBuff = Space(256)
strSection = "TIFF_FOLDER"
strKey = "PATH"
strErr = "失敗"
striniFn = Replace(GetAppPath(), "\bin", "\Ini") & "\test.ini"
intGetSize = 256
'strGetBuffに文字列を取得する
lngRet = GetPrivateProfileString(strSection, strKey, strErr, _
strGetBuff, intGetSize, striniFn)
'末尾のNull除去
MsgBox(Microsoft.VisualBasic.Left(strGetBuff, InStr(strGetBuff, Chr(0)) - 1))
End Function
iniファイルの内容
[TIFF_FOLDER]
PATH=成功
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_16.png?e8efa67)
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
これでうまくいくと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【お題】甲子園での思い出の残し方
「球場の砂を持って帰る」はもう古いと思った高校球児が、甲子園で負けた際に、思い出に残そうと思って行ったこと
-
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
Select Case文でこのようなことは可能でしょうか?
Visual Basic(VBA)
-
-
4
CloseとDisposeの違い
Visual Basic(VBA)
-
5
【VB.NET】App.configにファイルパスを設定して読み込みたい
Microsoft ASP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
xcopyコマンドの進行状況を表示...
-
エクセルVBAで一つ上の階層...
-
ExcelVBAの使い方 ¥の使い方...
-
EXCEL(VBA)で指定フォルダ内の...
-
VBAとロングファイル名
-
パスワード保護されたExcelファ...
-
C++でネットワークパスのファイ...
-
VBAでパワーシェルを実行したい...
-
Excel 相対パス
-
ファイル名の半角スペースについて
-
VB.NETで参照設定
-
outlook開けない
-
Cの関数で自分自身のパス取得
-
Shell関数内で変数を使うことに...
-
アプリケーションのインストー...
-
【VB.NET】App.configにファイ...
-
指定したフォルダ内の最新ファ...
-
エクセルのファイルオープン時...
-
VBA★PDFをPDFアプリで印刷し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
バッチファイル 二つ上のディ...
-
エクセルVBAで一つ上の階層...
-
エクセルのマクロで特定フォル...
-
xcopyコマンドの進行状況を表示...
-
Excel 相対パス
-
【VBA】ExcelマクロでCSVファイ...
-
ExcelVBAの使い方 ¥の使い方...
-
指定したフォルダ内の最新ファ...
-
EXCEL(VBA)で指定フォルダ内の...
-
【VB.NET】App.configにファイ...
-
phpに関わる所での、form actio...
-
SaveAsの保存先について
-
コマンドプロンプトのコピー関...
-
VBA★PDFをPDFアプリで印刷し...
-
VBS パスに変数を入れたい
-
A列に記載されているフォルダ...
-
AccessからExcel最小化
-
C#でのProcess.Startと変数path
-
fopenでのパス指定
おすすめ情報