[SAMPLE29] SAMPLE
100 CLS:PRINT "住所録のファイル名は?"
110 PRINT:LINE INPUT F$
120 IF F$="" THEN 100
130 OPEN F$ AS #1
140 FIELD #1,30 AS NAM$,20 AS TEL$,50 AS ADR$
150 *MENU
160 PRINT:PRINT
170 PRINT "<<メニュー>>":PRINT
180 PRINT " 検索/修正 1:"
190 PRINT " 新しく登録 2:"
200 PRINT " 終 わ り 0:"
210 PRINT:PRINT "操作を番号で選択してください ";
220 Q$=INPUT$(1):PRINT Q$
230 ON VAL(Q$)+1 GOTO *EXIT,*INNAME,*NEWENTRY
240 GOTO *MENU
250 *INNAME
260 IF LOF(1)<>0 THEN 330
270 PRINT:PRINT F$+" にはデータがありません"
280 PRINT:PRINT "新しく登録しますか?(Y/N)"
290 Q$=INKEY$:IF Q$="" THEN GOTO 290
300 IF Q$="N" OR Q$="n" THEN GOTO *MENU
310 IF Q$="Y" OR Q$="y" THEN GOTO *NEWENTRY
320 GOTO 290
330 NH=1
340 PRINT:PRINT "捜す名前は?":PRINT:INPUT "名前:";HNAM$
350 IF HNAM$="" THEN *MENU
360 HL=LEN(HNAM$)
370 IF NH>LOF(1) THEN PRINT:PRINT "その名前は登録されていません":GOTO *MENU
380 GET #1,NH
390 IF HNAM$<>LEFT$(NAM$,HL) THEN NH=NH+1:GOTO 370
400 PRINT:PRINT "名前:";NAM$
410 PRINT "TEL:";TEL$
420 PRINT "住所:";ADR$
430 PRINT:PRINT "修正しますか?(Y/N) ";
440 Q$=INKEY$:IF Q$="" THEN GOTO 440
450 IF Q$="N" OR Q$="n" THEN PRINT "N":GOTO *MENU
460 IF Q$="Y" OR Q$="y" THEN PRINT "Y":GOTO *CHANGE
470 GOTO 440
480 *CHANGE
490 PRINT:PRINT "リターンキーだけ押すとその項目は修正されません"
500 DNAM$="":DTEL$="":DADR$=""
510 PRINT:INPUT "名前";DNAM$
520 IF DNAM$<>"" THEN LSET NAM$=DNAM$
530 INPUT "TEL";DTEL$
540 IF DTEL$<>"" THEN LSET TEL$=DTEL$
550 INPUT "住所";DADR$
560 IF DADR$<>"" THEN LSET ADR$=DADR$
570 PUT #1,NH:GOTO *MENU
580 *NEWENTRY
590 PRINT:PRINT "新しく登録します"
600 NH=LOF(1)+1
610 PRINT:INPUT "名前:";NNAM$
620 IF NNAM$="" THEN *MENU
630 INPUT "TEL:";NTEL$
640 INPUT "住所:";NADR$
650 LSET NAM$=NNAM$
660 LSET TEL$=NTEL$
670 LSET ADR$=NADR$
680 PUT #1,NH:GOTO *MENU
690 *EXIT
700 PRINT:PRINT "終了"
710 CLOSE:END