tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルテキストをtextboxに配置
記事No12885
投稿日: 2008/08/12(Tue) 00:37
投稿者イチノセ
みなさん、はじめまして。
VB6.0 winvista 32 環境でプログラムを作っています。
テキストファイルの中から特定の文字列(項目名)を複数のテキストボックスに
配置しようとしているのですが、テキストボックスに表示されるのは
すべての行の項目名が入ってしまいます。
これを一行ずつテキストボックスに収めるにはどうすれば良いのでしょうか?

※テキストの中身(test001.txt)
0001,あいうえお,アイウエオ,aiueo
0002,かきくけこ,カキクケコ,kakikukeko
0003,さしすせそ,サアシスセソ,sashisuseso
 ・
 ・
 ・
この中のカナ部分のみを複数のテキストボックスへ配置したいのです。

試したコード

   Dim line As String
        Dim Item() As String
        Dim reader As New System.IO.StreamReader("D:\test001.txt", System.Text.Encoding.Default)
        TextBox1.Clear()
        Do Until reader.EndOfStream
            line = reader.ReadLine
            Item = line.Split(",")
            'TextBox1.AppendText(line.Substring(3) & ControlChars.CrLf)
            TextBox1.AppendText(Item(2))
            TextBox2.AppendText(Item(2))
        Loop
        reader.Close()

実際の動作は、TextBox1と2も同じく[アイウエオカキクケコサシスセソ・・・・]
になってしまいます。
どれが一行目でどれが2行目なのか等記入すれば思いどおりに表示できるのでしょうか?



その記述方法がわからないのですが、どなたか知恵を貸していただけませんでしょうか?

[ツリー表示へ]
タイトルRe: テキストをtextboxに配置
記事No12886
投稿日: 2008/08/12(Tue) 05:26
投稿者nobu
初めまして。
> VB6.0 winvista 32 環境でプログラムを作っています。

VB6と言う事なので私なら下記の様な Line Input 文で1行づつ読み込み
Split でカンマ毎に項目を分割してコントロール配列のテキストボックスに
書き込むようにしますが....。

VB6しか知らない私はテキストファイルを読むには何時も
Line Input 文を使っているので提示されたコードはなじみがないですが
本当にVB6なのでしょうか? 

今回の様に複数の(それも多数の)テキストボックスが必要な場合には
コントロール配列のテキストボックスを使う方が良いかと思います。

Private Sub Command1_Click()

Dim lngFileNo As Long
Dim tmp As String
Dim dat() As String
Dim i As Integer

   lngFileNo = FreeFile
  
   Open "C:\test001.txt" For Input As #lngFileNo
   i = 0
   Do
       Line Input #lngFileNo, tmp
       dat = Split(tmp, ",")
       Text1(i).Text = dat(2)
       i = i + 1
   Loop Until EOF(lngFileNo)
   Close #lngFileNo

End Sub


> TextBox1.AppendText(Item(2))
> TextBox2.AppendText(Item(2))

Append を使えば同じTextBox1に次々に文字が追加されていってしまう様に思います。

[ツリー表示へ]
タイトルRe^2: テキストをtextboxに配置
記事No12888
投稿日: 2008/08/12(Tue) 10:03
投稿者イチノセ
> 初めまして。
> > VB6.0 winvista 32 環境でプログラムを作っています。
>
> VB6と言う事なので私なら下記の様な Line Input 文で1行づつ読み込み
> Split でカンマ毎に項目を分割してコントロール配列のテキストボックスに
> 書き込むようにしますが....。
>
> VB6しか知らない私はテキストファイルを読むには何時も
> Line Input 文を使っているので提示されたコードはなじみがないですが
> 本当にVB6なのでしょうか? 
>
すみません、2008でした。。

[ツリー表示へ]
タイトルRe^3: テキストをtextboxに配置
記事No12889
投稿日: 2008/08/12(Tue) 10:56
投稿者イチノセ
> > 初めまして。
> > > VB6.0 winvista 32 環境でプログラムを作っています。
> >
> > VB6と言う事なので私なら下記の様な Line Input 文で1行づつ読み込み
> > Split でカンマ毎に項目を分割してコントロール配列のテキストボックスに
> > 書き込むようにしますが....。
> >
> > VB6しか知らない私はテキストファイルを読むには何時も
> > Line Input 文を使っているので提示されたコードはなじみがないですが
> > 本当にVB6なのでしょうか? 
> >
> すみません、2008でした。。
改めてVB.NET用掲示板に書き込みさせていただきました。
場所を間違えて申し訳ございません。

[ツリー表示へ]