
お世話になります。
VB2008でiniファイルの中身を書き換えるプログラムを作っているのですが
↓コード
Dim LineLists As String
Dim FileObj As Object
Dim ListFile As String
Dim f As New Form2
If f.ShowDialog(Me) = DialogResult.OK Then
Vertext.Text = f.TextBox1.Text
End If
Try
FileObj = New IO.StreamReader(Foldername & "\CUS\Basic.ini", System.Text.Encoding.Default)
ListFile = FileObj.ReadToEnd()
FileObj.Close()
Catch ex As Exception
MessageBox.Show("指定のファイルが見つかりません", "エラー", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End Try
LineLists = Split(ListFile, ControlChars.CrLf)
Dim ap As String
ap = LineLists(11).Substring(11, 3)
LineLists(11) = LineLists(11).Replace(ap, Vertext.Text)
LineLists(1) = LineLists(1).Replace("K ", "G")
LineLists(3) = LineLists(3).Replace("K", "G")
LineLists(3) = LineLists(3).Replace("C5", "45")
LineLists(69) = LineLists(69).Replace("Mos", "Gen")
LineLists(75) = LineLists(75).Replace("Mos", "Gen")
LineLists(81) = LineLists(81).Replace("Mos", "Gen")
LineLists(292) = LineLists(292).Replace("L.EXE", "DL.EXE")
LineLists(636) = LineLists(636).Replace("E_001=K_A.kmp", "E_001=KAA.kmp")
まずiniファイルを1行ずつ配列に格納し、それを行指定して文字列を置換するのですが、ちょうど最後の636のところでエラーが出ます。
最初は、テキストボックスに書き込み、置換する文字列を1行ずつ検索していって置換するコードでしたが、あまりに処理時間がかかるのでこちらの方法でやっているのですが・・・
上記の方法ではできましたが、こちらでやるとエラーが出てしまったので、解決策がわかりません。VB初めて2週間です。
どなたかよろしくおねがいします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
iniファイルが637行まで無いんじゃないかなぁ。
VBの場合配列の添え字は0~はじまるので(確か)
読み込んだレコード(行)の
1行目が、LineLists(0)
636行目が、LineLists(635)
になります。
iniファイルが636行だとすると、LineListsの配列の添え字は0~635ですよ。
全体的に1ずつずれていないでしょうか?
原因がわかりました。
デバックした後のiniファイルを見ると500行しかありませんでした。
どうやらLineListsの配列に500行分しかいれれないので、それ以降のものは入れれないみたいです・・・
違う方法でやってみます。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル入力のデータを構造体...
-
バイナリファイルでOutOfMemory...
-
VBScriptの配列は、要素数を指...
-
CSVファイルによる検索の高速化
-
RGBのバイナリデータをCImageに...
-
Cで2次元配列にCSVファイルを...
-
ファイルから構造体へデータを...
-
ファイルからビット単位での読...
-
エクセルのプロパティーでセキ...
-
エクセルvbaでdocuworksprinter...
-
エクセルで複数のコメントのサ...
-
ExcelブックをGoogleスプレッド...
-
カンマ区切りのCSVファイルから...
-
xcopyコマンドの進行状況を表示...
-
サブフォルダから部分一致のエ...
-
VBA★PDFをPDFアプリで印刷し...
-
Wordで差込印刷した後に別々の...
-
動かなくなってしまった古いVBA...
-
マクロから出力されるcsvのダブ...
-
Windows10でコマンドプロンプト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内の(&H0A)を(&H0D0A)...
-
DXFファイルをVBで取り込み、図...
-
バイト型のデータを16進表記で...
-
CSVファイルによる検索の高速化
-
RGBのバイナリデータをCImageに...
-
テキストファイルを後ろから読...
-
perl 特定の文字列をdatファイ...
-
CFileの使い方を教えてください
-
バイナリファイルの一部分をカ...
-
バイナリファイルでOutOfMemory...
-
日本語混じりのファイルをラン...
-
txtファイルの数字を計算
-
バイナリの読み込みから出力まで
-
Excel VBAで画像解析
-
SDKにて。
-
fread関数の使い方がわかりませ...
-
ファイルをメモリに出力する方法
-
VBScriptの配列は、要素数を指...
-
ファイル入力のデータを構造体...
-
Fortranの'read'のVBへの書き換...
おすすめ情報