BASICプログラムをVisualBasicプログラムに書き換えるには?

解決


オッシロスッコープ  2004-12-22 02:14:00  No: 118435

横河電機製デジタルオシロスコープ(DL1740)より取得した波形データを
フーリエ変換し表示させようと思っています。過去に使ったBASICプログラムを
VisualBasicプログラムに書き換えようとしているのですがその方法が全く解かりません。もし書き換えの仕方を知っている方やこれに関する情報が載っているサイトを知っている方がいらっしゃったら教えて下さい。よろしくお願いします。


nero  2004-12-22 03:17:42  No: 118436

>過去に使ったBASICプログラム
ってまさかN88Basicですか、まさかね。
QuickBasicですか?


ねろ  2004-12-22 03:19:16  No: 118437

名前を変換しようとして送っちゃった。(^^;


オッシロスッコープ  2004-12-22 03:36:18  No: 118438

ちょっとどのBASICかは解かりませんが下にプログラムの一部を載せときます。ちなみにVB6.0に書き換えようとしています。    

 i = 0                                   'Definition Of Sampling Interval
    j = 0
    k = 0
    l = 0
    If (Abs(am(i) - Amin) > 2) Then
        i = i + 1
        End If
    If (j = 0) Then
        j = j + 1
        End If
    If (i - l > 300) Then
        start = Fix(k / j)
        End If
    j = j + 1
    k = k + i
    l = i
    i = i + 1
    If (i < 999) Then
        GoTo if (abs(am(i)-Amin)>2) then
        i = i + 1
        End If
        End If
    Print "Two minimums are not found."
    GoTo Input #"Push Local and Return";AAA
    GoTo If (abs(am(i)-Amin)>2) Then
        i = i + 1
        End If
    start = Fix(k / j)
    j = 1
    k = i
    l = i
    i = i + 1
    If (Abs(am(i) - Amin) > 2) Then
       If (i - l > 10) Then
       fine = Fix(k / j) - 1
       End If
       End If
    j = j + 1
    k = k + i
    l = i
    GoTo i=i+1
    If (i - 1 > 10) Then
       fine = Fix(k / j) - 1
       End If
    GoTo i=i+1
    fine = Fix(k / j) - 1
    Print fine + "-" + start
    pt = fine - start + 1
    n = 64
    Print n; "Points"

こんな感じです。


ガッ  2004-12-22 04:21:13  No: 118439

QBASICっぽぃなw
構造化プログラムが書けて喜んだ記憶がある(ぇ
>GoTo Input #"Push Local and Return";AAA
…こういうの書いて動いた気分がしないのだが…(orz
ま、オレの知らない構文なんて一杯あるわけか(U゜∀゜U

とりあえず、Abs関数とFix関数は同じ処理だと思われw
構文も、まぁ一部のGoto命令を除けばVBの構文と合致すると思う。
Print文は、Debug.PrintやForm.Printなどでまかなえるとして、
Input文は(知ってる範囲では)なくなったと思う。
代用する関数を用意すれば解決できるだろう。

※さて、定例の誤爆会議を開始s(ry


ねろ  2004-12-22 06:00:52  No: 118440

>Definition Of Sampling Interval
サンプリングの周期の設定と書いてあるよ。
>GoTo If (abs(am(i)-Amin)>2) Then
これはQBではないな。
HPBasicでもなさそうだし。。。。
この
>GoTo Input #"Push Local and Return";AAA

>GoTo i=i+1
あたりが判れば、変換はそんなに難しくなさそうな。

なにをしてるプログラムで何の上で動いたいたのか判れば
何とかなるかも。


花ちゃん  2004-12-22 18:14:12  No: 118441

問題は、データを読み書きしている部分があるとやっかいです。
(この部分は作り直す方が簡単)

どの位のステップのコードか知りませんが、どちらにしても
手作業で変換する事になるので作り直すのと殆ど同じ手間がかかるかと
思いますよ。

私的には、そのコードをVB6.0用に書き換えるより、一から作り直した方が
早いような気がします。


花ちゃん  2004-12-22 18:39:23  No: 118442

場合によっては、VB6.0に書き換えるより、F-BASIC に変換するなら
簡単です。(こちらは自動で書き換えできる)

http://www.pst.fujitsu.com/products/fbasic/


オッシロスッコープ  2004-12-22 21:15:02  No: 118443

VB6,0からF-BASICで試したらうまくいきました。また他の案でも試してみます。
ねろさん、ガッさん、花ちゃんさんの皆さん、どうもありがとうございました。
大変役に立ちました!


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加