VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2003/11/18(Tue) 12:45
投稿者ちり
Eメール
URL
タイトルRe^2: 配列の中の文字列を検索しその位置を知るには


みなさん回答ありがとうございます。
Like演算子って知りませんでした。試してみます。

20行まとめて読み込みってのは意外な処理ですね。
まったく思いつきませんでした。これも試してみます。

エディタ等で手作業するのはちょっと厳しいと思い、
vbで処理しようとしています。

DLLを作成ってのは、スキル不足なので不可能そうです。


いろいろアイディアをいただきましたので、また、いろいろ検討してみます。
ちなみに、現在の状況なんですけど、

データを読み込んで、配列に入れてfor〜nextで処理するに限界を感じて、
ADO2.5で処理しようとしたが、60Mのデータが70〜80Mのmdbになり、
その読み込みの遅さと処理の遅さで断念して、
最終的に、データを読み込んだString型の変数で処理しています。


    Private Sdat As String
    Private Sdat1 As Long, Sdat3 As Long
    Private Sdat2 As String

Function SdatBunkatu(iFst As Long, strKen As String) As Long
    Dim Si As Long

    '目的の文字が含まれていない
    Si = InStr(iFst, Sdat, strKen)
    If Si = 0 Then Exit Function
    
    Sdat1 = InStrRev(Sdat, vbCrLf, Si) + 1
    Sdat3 = InStr(Si, Sdat, vbCrLf)

    Sdat2 = Mid(Sdat, Sdat1 + 1, Sdat3 - Sdat1 - 1)
    Sdat2b = Sdat2

    SdatBunkatu = iFst + 1

End Function

というかんじで目的の行を Sdat2 に入れて変換処理し、

Function SdatKetugo()

'    Sdat = Mid(Sdat, 1, Sdat1) & Sdat2 & Mid(Sdat, Sdat3)
    Sdat = Replace(Sdat, Sdat2b, Sdat2)

End Function

でもとの変数を差し替える。という感じで処理しています。
いろいろ試した中でこれが一番早かったのですが、
実用できるようなスピードが出ていません。

また、なにか良い知恵があればご教授お願いします。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -