• 締切済み

N88互換BASICで変換したが使えません。その1

昔、NECのPC98でN88BASICを使ってプログラムを起動していましたが、N88互換BASIC for windowsにて変換し、WINDOWSパソコンで使用しようと思い、実行してみたら行番号330のファイルが見つかりませんとエラーが出て困っています。 パソコンと温度計をRS232Cケーブルで接続し、温度データを30秒ごとにパソコンに取り込むというソフトなのですが。昔、会社にいた人が作ったそうです。 プログラムは以下のとおりです。私はBASICのことは全くわかりません。 文字数の都合上、分割して表示します。 1 ' save "B:\BAS\VS_RS232.BAS" 2 ' Program Name:VS_RS232.BAS 30 WIDTH 80,25 :CONSOLE 0,25,0,1 40 DEFINT A-Z:TR.NO=1 50 DIM PV$(30) 60 O$ =":" ' : SET 70 P$ ="." ' . SET 80 Q$ =CHR$(&H22) ' " SET 90 R$ ="," ' , SET 100 SP$ =CHR$(&H20) ' SPACE SET 110 DEF FNF1$(X$,Y$) =MID$(X$,4,2)+MID$(X$,7,2)+MID$(Y$,1,2)+MID$(Y$,4,2)+".DAT" 120 DEF FNF2$(X$,Y,Z) =MID$(X$,Y,2)+STR$(VAL(MID$(X$,Z))) 130 DEF FNF3$(X$,X) =MID$(X$,X,6)

みんなの回答

回答No.1

管理者より: 続きの質問があるのでそちらをご参照下さい

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?q=324879

関連するQ&A

  • N88互換BASICで変換したが使えません。その2

    140 DEF FNF4$(X$) =MID$(X$,1,2)+":"+MID$(X$,3,2)+":"+MID$(X$,5,2) 150 DEF FNF5!(X$,X) =VAL(MID$(X$,X)) 160 CLS 170 LOCATE 20,10 :PRINT "3)How many sensors will you use?" 180 LOCATE 20+40,10 :PRINT " " 190 LOCATE 20+40,10 :LINE INPUT KO.TR$ 200 KO.TR=VAL(KO.TR$) 210 IF KO.TR<1 OR KO.TR>30 THEN BEEP :GOTO 180 220 LOCATE 25,10 :PRINT "Ready to send data?" 230 LINE INPUT AA$ 240 IF AA$<>"" AND AA$<>"Y" AND AA$<>"y" THEN *END. 250 *MAIN.START 260 CLS 270 LOCATE 25,10 :PRINT "****Start*****" 280 LOCATE 70, 0 :PRINT TIME$; 290 ' 300 'Writting data to floppy 310 *DISK.SET 320 FFF$="B:"+FNF1$(DATE$,TIME$) 330 OPEN FFF$ FOR OUTPUT AS #1 340 PRINT #1,Q$+DATE$+Q$+R$+Q$+STR$(KO.TR)+Q$+R$ 'DATE$,SENSORS 350 CLOSE 360 ' 370 'Sampling data every 30 seconds 380 *TIME.30 390 CONSOLE 0,25

  • このプログラムは何言語?何のプログラム?

    このプログラムは何言語?何のプログラム? 手掛かり的な情報は全く無いのです。 10 CLS:CGSET 1,0 20 DEF SPRITE 0,(0,1,0,0,0)= CHR$(1)+CHR$(0)+CHR$(3)+CHR$(2) 30 SPRITE ON 40 FOR X=0 TO 240 50 SPRITE 0,X,120 60 PAUSE 3 70 NEXT

  • VBへの変換の仕方 RS232C送信データとチェックサム

    以下のプログラムをVBに変換する仕方を教えてください。 サンプルプログラム 1110 CHKSUM=0 1120 FOR i=1 to LEN(A$)      'A$は送信データ 1130 CHKSUM=CHKSUM+ASC(MID$(A$,i,1) 1140 NEXT i 1150 C$=CHR$((CHKSUM+13) MOD 256) 1160 PRINT #1,A$;CHR$(13);C$; 私のVBプログラムは1110行から1150行まではそのままで CHKSUM=0 FOR i=1 TO LEN(A$) CHKSUM=CHKSUM+ASC(MID$(A$,i,1) NEXT i C$=CHR$((CHKSUM+13) MOD 256) としました。 送信部分を MSComm1.Output =A$ & CHR$(&H13) & C$ としてみましたが 1160行にあるセミコロン ";" はCHR$(&h3B) として送る必要があるのでしょうか? MSComm1.Output =A$ & CHR$(&h3B) & CHR$(&h13) ・・・・・・ また、データとしてA$="I 02"のチェックサムは "リ" となりますが正しいのでしょうか? 以上ご教示ください。

  • N88互換BASICのプログラムについて。

    私は機械科3年ですが、今年からBASICを勉強しています。次のプログラムのエラー(行番号190にてopenしたファイルに出力できないです)がどうしても解決できないです。N88互換BASICやられている方でどなたか私にアドバイスをしていただけると助かります。 110 REM EX1B by E/F on 2006/04/25 120 PI=3.14159:PHI=30:Y0=.5 130 '************ Output into File ************ 140 CLOSE #1:OPEN "C:\WINBASIC\EX1B_OUT.TXT" FOR OUTPUT AS #1 150 FOR X=0 TO 360 STEP 45 160 A=.2 :Y1=A*SIN((X-PHI))+Y0 170 A=1.2 :Y2=A*SIN((X-PHI))+Y0 180 A=2 :Y3=A*SIN((X-PHI))+Y0 190 PRINT #1,X;",";Y1;",";Y2;",";Y3" 200 PRINT"Out:";X;",";Y1;",";Y2;",";Y3 210 NEXT X 220 CLOSE #1 230 '************ Input from File ************** 240 CLOSE #2:OPEN "C:\WINBASIC\EX1B_OUT.TXT" FOR INPUT AS #2 250 IF EOF(2)<>0 THEN GOTO 190 260 INPUT #2,X,Y1,Y2,Y3 270 PRINT"Inp:x=";X;" y1=";Y1;" y2=";Y2;" y3=";Y3;" 280 GOTO 150 290 CLOSE #2 300 '***** Close All Files and Computer Stop***** 310 CLOSE 320 END

  • Visual Basic によるNC機械制御

    (以下N88-Basic プログラム) open "通信ポート設定" as #1 *INP_DAT   if loc(1)>0 then      DAT$=input$(1,#1)      if DAT$<>chr$(17) then goto *INP_DAT   else      goto *INP_DAT   end if   print #1,"送信データ" stop *NC機からChr$(17)信号がパソコンに入り  Chr$(17)であれば、NC機にデータを送信する  プログラムです。(ポート設定、送信データ内容は省略)  N88ーBASICからWindowsプログラムへ移行したいのですが、  Visual Basicではこのような処理をどのように  すればよいのでしょうか?  宜しくお願いします。

  • RS-232cによるオシロスコープのデータ転送

    日立電子製のオシロスコープの波形データを、パソコンに取り込みたいのですが、うまくいきません。 RS-232cでオシロとパソコン(WinXP)を繋いで、次のような取説の作成例を参考にプログラムを組んで、 これをbasicで実行してみたんですが、何も実行されず。。。 素人で申し訳ありませんが、何かお分かりの方がいらっしゃったら、教えてください! 10 '***Ri(mmmm,nnnn,x) COMMAND (N((BASIC) *** 20 OPEN "COM1:N81NN" AS #1 30 PRINT #1,"R1(0000,0050,B)" 40 RTN$=INPUT$(14,1) 50 FOR I=1 TO 51 60 WRK$=INPUT$(1,1) 70 RTN$=RTN$+MID$(STR$(ASC(WRK$)),2)+"," 80 NEXT I 90 PRINT "Ri RETURN=";RTN$ 100 CLOSE #1 110 END

  • DOSのBASICでの印刷

     今時、BASICなんてと思われるかもしれませんが MS-DOS版BASICでプログラム組んでるんですけど エプソンのプリンタ(ESC/Pスーパー)でコントロールコードを使って、改行量を指定するにはどう書けばいいのですか? (LPRINT CHR$( );)ここら辺が判りません。会社のラベル に使っているので印刷がずれてきてしまいます。どうか どなたかお力お貸しください。

  • AKI-H8から16進2桁のH'00をコマンド送信したいのですが

    はじめまして、どなた様かご教示お願い致します。 AKI-H8/3048FのBASICコンパイラを用い16進2桁のコマンドをシリアル ポートから送信するプログラムを作っています。 CHR$(&H01), CHR$(&H02)はそれぞれ"01"、"02"として送信されている ことをRS232Cラインモニターの16進数表示で確認しました。 ところがCHR$(&H00)を同様に送信してもNUL扱いされてしまい何も実行 されません。ラインモニターでも無視されていることを確認しました。 どうしてもコマンドとして16進2桁の"00"を送信する必要があります。 自分なりに他の関数やアセンブラでもトライしましたが初心者ゆえ 行き詰まりました。宜しくお願い致します。 確認用のプログラムは以下です。 SERIALSET 1, 9600, 8, 1, 0 :!START PRINT #-1, CHR$(&H02) WAIT 1500 PRINT #-1, CHR$(&H01) WAIT 1500 PRINT #-1, CHR$(&H00) WAIT 1500 GOTO !START

  • 十進BASICのグラフィック表示についてなのですが・・・

    グラフィック画面にy=sqr(1-x^2)のグラフとy=-sqr(1-x^2)のグラフを描くプログラムを作りなさい。ただし、 set window -1.5,1.5,-1.5,1.5 としなさい という問題で 私が書いたプログラムは SET WINDOW -1.5,1.5,-1.5,1.5 DRAW axes DEF f(x)=SQR(1-x^2) DEF g(x)=-SQR(1-x^2) LET h=0.01 SET LINE COLOR 9 FOR x=-1 TO 1 STEP h PLOT LINES:x,f(x);x+h,f(x) NEXT x SET LINE COLOR 10 FOR x=-1 TO 1 STEP h PLOT LINES:x,g(x);x+h,g(x+h) NEXT x END なのですが、 DEF g(x)=-SQR(1-x^2) のところでエラーが出ます。 どうすれば、改善されるか思いつかないで教えてください。 よろしくおねがいします。

  • EXCEL→SQL VBAを簡略化したい

    EXCELのVBAを使って、SQLサーバーに接続し、 データテーブルを開き、データを200個(xが100個、yが100個) 書き込みさせたいプログラムを作っています。 強引に1つ1つ書き込みし、200個登録は出来たのですが、 もっとプログラムを簡略化したいと思います。 以下に内容をしめします。 ------------------------------------------- 'SQLデータベースに接続 Set rs = CreateObject("ADODB.RecordSet") Set CN = CreateObject("ADODB.Connection") CN.ConnectionString = "Driver={SQL Server};" & _ "server=○○○.○○.○○.○○; database=DB ; uid=ID; pwd=1234;" CN.Open '-----[Dataテーブル] ----- Set rs = New Recordset rs.Open "Data", CN, adOpenKeyset, adLockOptimistic '[Dataテーブル]に書込み rs.AddNew Worksheets("Sheet1").Select '☆☆☆ rs!x1 = Cells(10, 5).Value rs!x2 = Cells(11, 5).Value rs!x3 = Cells(12, 5).Value rs!x4 = Cells(13, 5).Value    ・    ・     ・    ・ rs!x100 = Cells(109, 5).Value rs!y1 = Cells(10, 7).Value rs!y2 = Cells(11, 7).Value rs!y3 = Cells(12, 7).Value rs!y4 = Cells(13, 7).Value    ・    ・     ・    ・ rs!y100 = Cells(109, 7).Value '☆☆☆ '保存 rs.Update MsgBox "追加しました" '後処理 rs.Close: Set rs = Nothing CN.Close: Set CN = Nothing '終了処理 Set rs = Nothing Set CN = Nothing ------------------------------------------- '☆☆☆で挟まれた部分を繰り返し文で簡潔にプログラミングしたいです。 自分が考えた以下の分では、エラーが出てしまいました。   i = 1   n = 10 Do While i < 100    rs!x"& i &" = Cells(n, 5)    rs!y"& i &" = Cells(n, 7)   i = i + 1   n = n + 1 Loop よりシンプルな構文にしたいと思います。 お手数おかけいたしますが、わかる方いらっしゃいましたら 教えて下さい。

専門家に質問してみよう