商品価格検索システムサンプルプログラム
1010 '/* sample.bas -- Copyright by Technical Industry Japan Corp. */
1020 '/******************************************************************/
1030 '/*                                            */
1040 '/* RS ENTRY−1サンプルプログラム                        */
1050 '/*                                            */
1060 '/******************************************************************/
1070 DEFINT I,J,K: ONN=1: OFFF=0: DIM KENSU[25]
2000 '------------------------------------
2010 '  プログラム開始
2020 '------------------------------------
2030 *MAIN
2040 CONSOLE 0,25,0,1: WIDTH 80,25: CLS: COLOR 5
2050 LOCATE 21,0: PRINT "★★★ 商品価格検索プログラム ★★★"
2060 COLOR 6: LOCATE 31,3: PRINT "問い合せ処理中です"
2070 CONSOLE 5,23: CLS: COLOR 7
2080 OPEN "COM:N81NN" AS #1
2090 S.COUNT=0
2100 PRINT #1,CHR$(&H1B)+CHR$(0)+CHR$(0)       : ' ENTRY-1 初期化
2110 PRINT #1,CHR$(&H1B)+CHR$(&H5A)+CHR$(0)    : ' カーソル追従 OFF
3000 '------------------------------------
3010 '  メインループ
3020 '------------------------------------
3030 WHILE( 1 )
3040 SEND$=CHR$(&H1B)+CHR$(&H44)+CHR$(10)+CHR$(1)+CHR$(4)
3050 SEND$=SEND$+"ショウヒンコードヲニュウリョク [ ] "
3060 PRINT #1,SEND$;                  : ' ID4桁入力待ちにする
3070 FOR I=1 TO 1000: NEXT I               : ' ディレイ
3080 GOSUB *RECIVE.BUFF.CLEAR            : ' RS-232C受信バッファクリア
3090 GOSUB *RECIVE.PROC                : ' IDを受信する
3100 IF RCV$="9999" THEN *END.PROC
3110 GOSUB *SEARCH.PROC                : ' 受信したIDより検索
3120 SEND$=LEFT$(MSG$,16)+CHR$(&HD)+MID$(MSG$,17)
3130 FOR I=1 TO 1000: NEXT I           : ' ディレイ
3140 PRINT #1,CHR$(&H1B)+CHR$(&H51)+CHR$(0)+SEND$; : ' 検索結果送信
3150 IF ERR.FLG=OFFF THEN *KEY.WAIT
3160 PRINT #1,CHR$(&H1B)+CHR$(1)+CHR$(10); : ' エラー音を鳴らす
3170 *KEY.WAIT
3180 FOR I=1 TO 1000: NEXT I            : ' ディレイ
3190 PRINT #1,CHR$(&H1B)+CHR$(&H30)+CHR$(1); : ' キー入力許可
3200 GOSUB *RECIVE.WAIT              : ' 確認の間をとる
3210 WEND
4000 '------------------------------------
4010 '  終了処理を行なう
4020 '------------------------------------
4030 *END.PROC
4040 PRINT #1,CHR$(&H1B)+CHR$(0)+CHR$(0) : ' ENTRY-1 初期化
4050 CLS: PRINT "検索件数";S.COUNT;"件を、処理しました。": PRINT
4060 RESTORE *PLICE.DATA
4100 FOR I=1 TO 23 STEP 2
4110 READ NO1$,NAME1$,NO2$,NAME2$
4120 PRINT SPC(4);"NO.";NO1$;" : ";LEFT$(NAME1$,16);KENSU[I];"件";
4130 IF I=23 THEN 4150
4140 PRINT ,;"NO.";NO2$;" : ";LEFT$(NAME2$,16);KENSU[I+1];"件"
4150 NEXT I
4200 PRINT: PRINT: PRINT "どれか、キーを押して下さい";
4210 GOSUB *STACK.CLEAR: A$=INPUT$(1)
4220 CONSOLE 0,25,0,1: CLS: CLOSE:
4230 END
10000 '------------------------------------
10010 ' 受信処理
10020 '------------------------------------
10030 *RECIVE.PROC
10040 WHILE( LOC(1)=0 )
10050 IF INKEY$=CHR$(&H1B) THEN *END.PROC
10060 WEND
10070 INPUT #1,RCV$
10080 GOSUB *BEEP.CLICK
10090 RETURN
10100 '------------------------------------
10110 ' 1文字受信待ち処理
10120 '------------------------------------
10130 *RECIVE.WAIT
10140 WHILE( LOC(1)=0 )
10150 IF INKEY$=CHR$(&H1B) THEN *END.PROC
10160 WEND
10170 A$=INPUT$(1,#1)
10180 RETURN
10200 '------------------------------------
10210 ' RS-232C 受信バッファクリア処理
10220 '------------------------------------
10230 *RECIVE.BUFF.CLEAR
10240 WHILE( LOC(1)<>0 )
10250 A$=INPUT$(1,#1)
10260 WEND
10270 RETURN
20000 '------------------------------------
20010 ' 商品検索処理
20020 '------------------------------------
20030 *SEARCH.PROC
20040 RESTORE *PLICE.DATA: ERR.FLG=OFFF: C=1
20050 WHILE( 1 )
20060 READ CODE$,MSG$
20070 IF CODE$="END" THEN *NOT.FOUND
20080 IF CODE$=RCV$ THEN KENSU[C]=KENSU[C]+1: GOTO *FOUND
20090 C=C+1
20100 WEND
20200 *NOT.FOUND
20210 MSG$="ID CODE ERROR !! Hit any key. "
20220 ERR.FLG=ONN: RETURN
20250 *FOUND
20260 PRINT "商品コード = ";CODE$;" , ";MSG$
20270 S.COUNT=S.COUNT+1
20280 RETURN
50000 '------------------------------------
50010 ' スタッククリア関数
50020 '------------------------------------
50030 *STACK.CLEAR
50040 WHILE( INKEY$<>"" ): WEND
50050 RETURN
50100 '------------------------------------
50110 ' クリック音を鳴らす関数
50120 '------------------------------------
50130 *BEEP.CLICK
50140 BEEP 1
50150 FOR I.BEEP=1 TO 256: NEXT I.BEEP
50160 BEEP 0
50170 RETURN
60000 '------------------------------------
60010 ' 商品価格一覧検索データ
60020 '------------------------------------
60030 *PLICE.DATA
60040 DATA "1001","PC ENTRY-1 FA       テイカ ¥38,000"
60050 DATA "1002","PC ENTRY-1 OA       テイカ ¥38,000"
60060 DATA "1003","PC ツインソケット      テイカ ¥12,000"
60070 DATA "1004","PC エンチョウケーブル    テイカ ¥9,800"
60080 DATA "1005","PC サンプルソフト      テイカ ¥9,800"
60090 DATA "2001","PS ENTRY-1 FA      テイカ ¥58,000"
60100 DATA "2002","PS ENTRY-1 OA      テイカ ¥58,000"
60110 DATA "3001","RS ENTRY-1 FA      テイカ ¥58,000"
60120 DATA "3002","RS ENTRY-1 OA      テイカ ¥58,000"
60130 DATA "3003","RS ENTRY-1 FA2CH   テイカ ¥68,000"
60140 DATA "3004","RS ENTRY-1 OA2CH   テイカ ¥68,000"
60150 DATA "3005","RS デンゲンセット      テイカ ¥18,000"
60160 DATA "3006","RS エンチョウケーブル   テイカ ¥14,800"
60170 DATA "4001","OPT232C-2         テイカ ¥98,000"
60180 DATA "4002","ヒカリ アッチャクカコウ  テイカ ¥14,800"
60190 DATA "4003","ヒカリファイバーケイブル  1m テイカ ¥680"
60200 DATA "5001","KBマウス ホンタイ      テイカ ¥256,000"
60210 DATA "5002","タブレット ダイ         テイカ ¥32,000"
60220 DATA "5003","マウススティック        テイカ ¥68,000"
60230 DATA "6001","ソラマメクン キホンシステム   テイカ ¥1,280,000"
60240 DATA "6002","ソラマメクン カクチョウシステム  テイカ ¥860,000"
60250 DATA "6003","Quick PRO.           テイカ ¥1,500,000"
60260 DATA "6004","ソラマメクン ライブラリ    テイカ ¥300,000"
60270 DATA "END","END"

BASICアプリケーション例へ戻る