AB4.04/4.1のコンパイラが落ちる
Posted: 2005年8月26日(金) 01:59
プログラミング掲示板のソートの問題をAB4に移植しようとして以下のコードを書いたのですが,コンパイル(デバッグ,リリースともに)するとAB4.04,4.1ともにコンパイラが落ちてしまいます。
原因の調査お願いします。
※環境
Windows XP SP2を使用しています。下のコードは1つのabpファイルに書いてあります。
原因の調査お願いします。
※環境
Windows XP SP2を使用しています。下のコードは1つのabpファイルに書いてあります。
コード: 全て選択
#prompt
Print "program start", Time$()
'
' ファイルオープン
'
Open "infile.csv" For Input As #1
Open "outfile.csv" For Output As #2
'
' ファイルリード、テーブルストック
'
Const DATANUM = 1000
Dim FileData[25] As String
Dim i As Long, j As Long, tblcnt As Long
Dim keytbl[ELM(DATANUM)] As String
Dim datatbl[ELM(DATANUM)] As String
Print "tbl stock start", Time$()
tblcnt=-1
While Eof(1)=0
For i=0 To 25
Input #1, FileData
Next
tblcnt=tblcnt+1
If tblcnt>=DATANUM Then Exit While
keytbl[tblcnt]=FileData[0]+FileData[1]
datatbl[tblcnt]=Str$(tblcnt)
For i=0 To 25
datatbl[tblcnt]=datatbl[tblcnt]+","+FileData
Next
Wend
Print "tbl stock end", Time$()
'
' 単純選択法ソート
'
Dim p1 As Long, p2 As Long, p3 As Long
Dim buf As String ' データの交換用
Print "sort start", Time$()
p3=tblcnt
For i=0 To p3-1
p1=i: p2=i
For j=i+1 To p3
If keytbl[p1]>keytbl[j] Then
p1=j
End If
If keytbl[p2]<keytbl[j] Then
p2=j
End If
Next
If p1<>i Then
buf=keytbl: keytbl=keytbl[p1]: keytbl[p1]=buf
buf=datatbl: datatbl=datatbl[p1]: datatbl[p1]=buf
End If
If p2<>i Then
buf=keytbl[p3]: keytbl[p3]=keytbl[p2]: keytbl[p2]=buf
buf=datatbl[p3]: datatbl[p3]=datatbl[p2]: datatbl[p2]=buf
p3=p3-1
End If
Next
Print "sort end", Time$()
'
' ソートしたテーブルをファイルに出力
'
Print "file out start", Time$()
For i=0 To tblcnt
Print #2,datatbl
Next
Print "file out end", Time$()
'
' ファイルクローズ
'
Close #1
Close #2
Print "program end", Time$()
'
' 処理終了確認
'
*ProgramEnd
Print "ソート処理が終了しました。"