テキストボックスで1行ごと比較するには

解決


てる  2004-11-26 17:37:24  No: 86926  IP: [192.*.*.*]

こんな質問をしていいのか分からないのですが、どうしても分からなくて投稿します。
TextBoxにファイルを読み込んだ後に(バイナリーで読み込んで改行コード変更を行っている)
ある文字列がある行のみを表示するようにしたいのですが、
テキストボックス内を1行づつ読み込み方法が分かりません。

よろしくお願いします。

編集 削除
ねろ  2004-11-26 22:32:40  No: 86927  IP: [192.*.*.*]

一行ずつ配列に入れて
    Dim b() As String
    b = Split(Text1.Text, vbCrLf)
後は煮るなり、焼くなり好きにしては。

編集 削除
てる  2004-11-27 16:39:00  No: 86928  IP: [192.*.*.*]

ありがとうございます。
やってみます。

編集 削除
てる  2004-12-02 16:17:51  No: 86929  IP: [192.*.*.*]

うまくうごきました。
あとこれで配列に入れた場合、配列数が分からないのですが
分かる方法は無いでしょうか?
行数は多くて70000ぐらいになるります。

編集 削除
Toshihiko  2004-12-02 16:22:17  No: 86930  IP: [192.*.*.*]

UBound命令があります。

使い方は

Dim Temp1() as integer

MsgBox UBound(Temp1)

と言った感じだったと思います。(不安)
これで配列の数が出力されるはずです。

編集 削除
Toshihiko  2004-12-02 16:24:45  No: 86931  IP: [192.*.*.*]

すみません。ちょっとコードがわかりにくかったかもしれません。
Splitも入れるとこうです。

Dim Temp1() as Integer

Temp1 = Split(Text1.Text, vbCrLf)

MsgBox UBound(Temp1)

編集 削除
てる  2004-12-02 17:22:23  No: 86932  IP: [192.*.*.*]

ありがとうございます。
ちょっと直接値をいれてやってみたのですが、Forでまわしたとき
32678で引っかかってしまい取り出すことが出来なくなります。

このような場合どういった対処をしたら良いのでしょうか?
やってる事を簡単に言うと配列70000あり、一行ずつ「ある文字列」と比較して
一致した場合、別の配列に格納しています。

編集 削除
nanashi  2004-12-02 17:27:45  No: 86933  IP: [192.*.*.*]

Forに使ってる変数をIntegerで宣言したりしてませんか?
Long型にした方が処理も早いらしいし(微差だと思いますが)、2147483647まで使えます。

編集 削除
 2004-12-07 15:37:00  No: 86934  IP: [192.*.*.*]

ありがとうございました。無事動きました。

編集 削除