たとえば、1,3,7,8,13,18,20のように自分であらかじめ決めた 番号からn個を選びたいです。(この番号はあらかじめ決まってる。) 試験勉強で1科目200問を15科目くらいやってるんですが 問題集でいらない問題もあるので、必要な問題のみから 何問か選んでやりたいのです。 0124デフォルトの名無しさん2013/02/20(水) 14:14:59.64 これもJITコンパイル版にすればいいのにな 個人ベースだから無理か? 0125デフォルトの名無しさん2013/02/20(水) 14:32:27.83>>123 DIM a(10) LET a(1) = 1 LET a(2) = 3 LET a(3) = 7 LET a(4) = 8 LET a(5) = 13 LET a(6) = 18 LET a(7) = 20 LET a(8) = 25 LET a(9) = 30 LET a(10) = 32
DO INPUT PROMPT "n = ": n IF n > 10 THEN PRINT "10以下の数字を入力してください" ELSE EXIT DO END IF LOOP RANDOMIZE LET i = 1
10 LET s$="c:\gikonavi\Log\2ch\poverty\*.dat" 20 LET n=files(s$) 30 IF n>0 THEN 40 DIM names$(n) 50 file list s$, names$ 60 MAT PRINT names$ 70 END IF 80 END
10 LET s$="c:\gikonavi\Log\2ch\poverty\*.dat" 20 LET n=files(s$) 30 IF n>0 THEN 40 DIM names$(n) 50 file list s$, names$ 60 MAT PRINT names$ 70 END IF 80 LET F$="c:\gikonavi\Log\2ch\poverty\"&names$(2) 90 OPEN #2: NAME F$ 100 FOR i=1 TO 10 110 INPUT #2: a$ 120 PRINT a$ 130 NEXT i 140 CLOSE #2 150 END 0151デフォルトの名無しさん2020/07/11(土) 19:33:36.07ID:zLp8Xrf4 文字列の文字数の限界が結構早いんですね。どうしたものかな。 0152デフォルトの名無しさん2020/07/11(土) 19:45:42.52ID:zLp8Xrf4 一応、これで動くようにはなりましたが
ちょっと書き込みが長いとエラー吐きますね。ちゃんと読み込んでるのかな??
10 LET s$="c:\gikonavi\Log\2ch\poverty\*.dat" 20 LET n=files(s$) 30 IF n>0 THEN 40 DIM names$(n) 50 file list s$, names$ 60 MAT PRINT names$ 70 END IF 80 LET F$="c:\gikonavi\Log\2ch\poverty\"&names$(1) 100 OPEN #1:NAME F$ 110 DO 120 WHEN EXCEPTION IN 130 INPUT #1,IF MISSING THEN EXIT DO: a$ 140 PRINT a$ 150 USE 160 SET #1:POINTER SAME 170 LINE INPUT #1:t$ 180 PRINT "error",t$ 190 END WHEN 200 LOOP 210 END 0153デフォルトの名無しさん2020/07/11(土) 20:29:10.25ID:zLp8Xrf4 Ver.0.9完成しました〜。見栄えはまだ悪いが、したいことは一応できました!
5 INPUT c$ 10 LET s$="c:\gikonavi\Log\2ch\poverty\*.dat" 20 LET n=files(s$) 30 IF n>0 THEN 40 DIM names$(n) 50 file list s$, names$ 64 MAT PRINT names$ 70 END IF 80 FOR j=1 TO n 90 LET F$="c:\gikonavi\Log\2ch\poverty\"&names$(j) 100 OPEN #1:NAME F$ 110 DO 120 WHEN EXCEPTION IN 130 INPUT #1,IF MISSING THEN EXIT DO: a$ 140 IF POS(a$,c$)<>0 THEN PRINT a$ 150 USE 160 SET #1:POINTER SAME 170 LINE INPUT #1:t$ 180 IF POS(t$,c$)<>0 THEN PRINT "error",t$ 190 END WHEN 200 LOOP 210 CLOSE #1 220 NEXT j 1221 END 0154デフォルトの名無しさん2021/04/08(木) 05:46:47.58ID:9KS5QX8z 十進BASICを、C言語に翻訳して、コンパイルするという十進BASICコンパイラーづくりにとりかかりました。
まずは、すべての予約語の文字列化。
10 RESTORE 1000 20 READ C 30 RESTORE 40 DIM COMMAND$(C) 50 FOR I=1 TO C 60 READ COMMAND$(I) 70 PRINT I,COMMAND$(I) 80 NEXT I 604 DATA ABS,ACCESS,ACOS,AND,ANGLE,AREA,ARG,ARITHEMTIC DECIMAL,ARITHMETIC,ASC 606 DATA ASIN,ASK,ASK AREA COLOR,ASK AXIS COLOR,ASK BITMAP SIZE,ASK CHARACTER PENDING,ASK COLOR MIX,ASK DIRECTORY,ASK LINE COLOR,ASK LINE STYLE 608 DATA ASK MAX COLOR,ASK MAX LINE STYLE,ASK MAX POINT STYLE,ASK PIXEL ARRAY,ASK PIXEL SIZE,ASK PIXEL VALUE,ASK POINT COLOR,ASK POINT STYLE,ASK TEXT COLOR,ASK TEXT JUSTIFY 610 DATA ASK WINDOW,ASSIGN,ASSOC PRINT,ATN,AXES,AXES0,BACKGROUND,BASE,BASIC.BAK,BASIC.INT 612 DATA BEAM,BEEP,BEZIER,BITAND,BITMAP,BITNOT,BITOR,BITXOR,BLEN,BOX 614 DATA BREAK,"BSTR$",BVAL,BYTE,"BYTE$",CALL,CALLBACK,CALLBACKADR,CASE,CASE ELSE 616 DATA CAUSE,CEIL,CELLS,CHAIN,CHARACTER INPUT,"CHARACTER INPUT #",CHARACTER PENDING,CHOICE,"CHR$",CINT 618 DATA CIRCLE,CLEAR,CLIP,CLOSE,CLS,COLOR,COLOR MIX,COLOR MODE,COLORINDEX,COM1 620 DATA COM2,COMB,COMPLEX,CON,"CONFIRM$",CONJ,CONSOLE,CONTINUE,COS,COSH 622 DATA COT,CREATEOBJECT,CSC,CSV,DATA,DATE,"DATE$",DEBUG,DECIMAL,DECLARE 624 DATA DECLARE EXTERNAL,DECLARE EXTERNAL FUNCTION,DECLARE NUMERIC,DECLARE STRING,DEF,DEFDBL,DEFINT,DEG,DEGREES,DELAY 626 DATA DELETE,DENOM,DET,DEVICE,DIM,DIRECTORY,DISK,DO,DOT,DRAW 628 DATA DRAW AXES,DRAW GRID,DRAW MODE,"DWORD$",ECHO,ELAPSED,ELSE,ELSEIF,END,END FUNCTION 630 DATA END IF,END SELECT,END SUB,END WHEN,ENDOFLINE,EOF,EPS,EPSファイル,ERASE,EXCEPTION 0155デフォルトの名無しさん2021/04/08(木) 05:47:28.08ID:9KS5QX8z 632 DATA EXECUTE,EXIT,EXIT DO,EXIT FOR,EXIT FUNCTION,EXIT HANDLER,EXIT PICTURE,EXIT SUB,EXP,EXTERNAL FUNCTION 634 DATA EXTERNAL PICTURE,EXTERNAL SUB,EXTYPE,FACT,FILE,FILE DELETE,FILE GETNAME,FILE RENAME,FILE SPLITNAME,FIX 636 DATA FLOOD,FOR,FOR APPEND,FOR INPUT,FOR OUTPUT,FP,FUNCTION,GCD,GET,GET POINT 638 DATA "GET@",GETKEYSTATE,GETNAME,GETOPENNAME,GETSAVENAME,GLOAD,GOSUB,GOTO,GRAPH,GRAPHICS DEVICE PRINTER 640 DATA GRID,GRID0,GSAVE,HANDLER,HEIGHT,"HEX$",HIDDEN,IDN,IF,IM 642 DATA IMAGE,"INKEY$",INPUT,"INPUT #",INPUT ELAPSED,INPUT PROMPT,INPUT TIMEOUT,INSTR,INT,INTERNAL 644 DATA INTSQR,INV,IP,JUSTIFY,KANJI,KEY,KILL,LABEL,LBOUND,"LCASE$" 646 DATA "LEFT$",LEN,LET,LIBRALY,LIMIT,LINE,LINE COLOR,LINE INPUT,"LINE INPUT #",LINE STYLE 648 DATA LINES,LOCAL,LOCATE,LOCATE CHOICE,LOCATE VALUE,LOG,LOG10,LOG2,LOOP,LPRINT 650 DATA "LTRIM$",MAKE DIRECTIONARY,MARGIN,MAT,MAT GRAPH CELLS,MAT INPUT,MAT PLOT,MAT PLOT AREA,MAT PLOT CELLS,MAT PLOT LINES 652 DATA MAT PLOT POINTS,MAT PRINT,MAT PRINT USING,MAT READ,MAT REDIM,MAX,MAXNUM,MAXSIZE,MERGE,"MID$" 654 DATA MIN,MISSING,MIX,MOD,MODULE,MORE,MOUSE POLL,NAME,NATIVE,NEXT 656 DATA NOBEAMOFF,NOT,NOTXOR,NOWAIT,"NUL$",NUMER,NUMERIC,OLE,ON ERROR GOTO,OPEN 658 DATA OPTION,OPTION ANGLE DEGREES,OPTION ANGLE RADIANS,OPTION ARITHMETIC COMPLEX,OPTION ARITHMETIC DECIMAL,OPTION ARITHMETIC NATIVE,OPTION ARITHMETIC RATIONAL,OPTION BASE,OPTION CHARACTER,OR 660 DATA ORD,ORG,ORGANIZATION,OUTIN,OUTPUT,OVERWRITE,"PACKDBL$",PAINT,PAUSE,PDF 662 DATA PENDING,PERM,PI,PICTURE,PIXEL,PIXEL ARRAY,PIXEL SIZE,PIXEL VALUE,PIXELX,PIXELY 0156デフォルトの名無しさん2021/04/08(木) 05:47:39.00ID:9KS5QX8z 664 DATA PLAY,PLOT,PLOT AREA,PLOT LINES,PLOT POINTS,PLOT TEXT,POINT,POINT COLOR,POINT STYLE,POINTER BEGIN 666 DATA POINTER END,POINTS,POLL,POS,PRINT,"PRINT #",PRINT USING,PRINTER,PRIVATE,PROBLEMX 668 DATA PROBLEMY,PROGRAM,PROMPT,PROPERTYGET,PROPERTYPUT,PSET,PUBLIC,"PUT@",RAD,RADIANS 670 DATA RANDOMIZE,RATIONAL,RE,READ,READ IF MISSING,RECTYPE,RECTYPE INTERNAL,RECTYPE CSV,REDIM,REM 672 DATA REMAINDER,REMOVE DIRECTORY,RENAME,"REPEAT$",REST,RESTORE,RESUME,RETRY,RETURN,"RIGHT$" 674 DATA RND,ROTATE,ROUND,"RTRIM$",SCALE,SCREEN,SEC,SELECT CASE,SET,SET AREA COLOR 676 DATA SET BEAM MODE,SET BITMAP SIZE,SET COLOR MIX,SET COLOR MODE,SET DEVICE VIEWPORT,SET DEVICE WINDOW,SET DIRECTORY,SET ECHO,SET LINE COLOR,SET LINE STYLE 678 DATA SET MARGIN,SET POINT COLOR,SET POINT STYLE,SET TEXT COLOR,SET TEXT HEIGHT,SET TEXT JUSTIFY,SET VIEWPORT,SET WINDOW,SET ZONEWIDTH,SETUP.BAT 680 DATA SGN,SHARE,SHEAR,SHIFT,SIGNAL,SIN,SINH,SIZE,SKIP,SKIP REST 682 DATA "SPACE$",SPC,SPLITNAME,SQR,STEP,STOP,"STR$",STREAM,STRING,"STRING$" 684 DATA SUB,"SUBSTR$",SWAP,TAB,TAN,TANH,TEXT,TEXT COLOR,TEXT JUSTIFY,TEXTWINDOW1 686 DATA TEXTWINDOW2,THEN,TIME,"TIME$",TIMEOUT,TO,TRACE,TRANCEFORM,TRN,TRUNCATE 688 DATA TYPO,UBOUND,"UCASE$",UNPACKDBL,UNSAVE,UNTIL,USE,USING,"USING$",VAL 690 DATA VALUE,VIEWPORT,WAIT,WAIT DELAY,WAIT SIGNAL,WEND,WHEN,WHEN EXCEPTION IN,WHEN EXCEPTION USE,WHILE 692 DATA WINDOW,WINHANDLE,WITH,"WORD$",WORLDX,WORLDY,WRITE,ZER,ZONEWIDTH 1000 DATA 449 END 0157デフォルトの名無しさん2021/04/08(木) 19:43:55.38ID:9KS5QX8z すべての予約語をナンバリングして
その数字に置換するプログラムができました。
10 RESTORE 1000 20 READ C 30 RESTORE 40 DIM COMMAND$(C),COML(C) 50 FOR I=1 TO C 60 READ COMMAND$(I),COML(I) 70 PRINT I,COMMAND$(I) 80 NEXT I 85 LET R$="C:\Users\user\Documents\FFC.txt" 90 LET W$="C:\Users\user\Documents\RSLT.txt" 100 OPEN #1:NAME R$ 110 OPEN #2:NAME W$ 115 ERASE #2 120 LINE INPUT #1:L$ 130 IF L$="" THEN GOTO 400 140 FOR J=1 TO C 150 LET M=1 160 IF POS(L$,COMMAND$(J))=0 THEN GOTO 210 170 LET L$(POS(L$,COMMAND$(J),M):POS(L$,COMMAND$(J),M)-1)="**"&STR$(J) 175 PRINT L$,M 180 LET L$(POS(L$,COMMAND$(J),M):POS(L$,COMMAND$(J),M)-1+COML(J))="" 185 PRINT L$,COML(J) 200 GOTO 160 210 NEXT J 230 PRINT #2:L$ 250 GOTO 120 400 CLOSE #2 410 CLOSE #1 0158デフォルトの名無しさん2021/04/08(木) 19:48:23.68ID:9KS5QX8z データーは降順がよさげなので並べ替えますた。
604 DATA OPTION ARITHMETIC RATIONAL,26,DECLARE EXTERNAL FUNCTION,25,OPTION ARITHMETIC COMPLEX,25,OPTION ARITHMETIC DECIMAL,25 606 DATA OPTION ARITHMETIC NATIVE,24,GRAPHICS DEVICE PRINTER,23,ASK CHARACTER PENDING,21,OPTION ANGLE DEGREES,20,OPTION ANGLE RADIANS,20 608 DATA ASK MAX POINT STYLE,19,SET DEVICE VIEWPORT,19,ARITHEMTIC DECIMAL,18,ASK MAX LINE STYLE,18,WHEN EXCEPTION USE,18,"CHARACTER INPUT #",17 610 DATA CHARACTER PENDING,17,EXTERNAL FUNCTION,17,MAKE DIRECTIONARY,17,SET DEVICE WINDOW,17,WHEN EXCEPTION IN,17,ASK TEXT JUSTIFY,16,DECLARE EXTERNAL,16 612 DATA EXTERNAL PICTURE,16,OPTION CHARACTER,16,RECTYPE INTERNAL,16,REMOVE DIRECTORY,16,SET TEXT JUSTIFY,16,ASK BITMAP SIZE,15,ASK PIXEL ARRAY,15 614 DATA ASK PIXEL VALUE,15,ASK POINT COLOR,15,ASK POINT STYLE,15,CHARACTER INPUT,15,DECLARE NUMERIC,15,MAT GRAPH CELLS,15,MAT PLOT POINTS,15 616 DATA MAT PRINT USING,15,READ IF MISSING,15,SET BITMAP SIZE,15,SET POINT COLOR,15,SET POINT STYLE,15,SET TEXT HEIGHT,15 618 DATA ASK AREA COLOR,14,ASK AXIS COLOR,14,ASK LINE COLOR,14,ASK LINE STYLE,14,ASK PIXEL SIZE,14,ASK TEXT COLOR,14,DECLARE STRING,14 620 DATA FILE SPLITNAME,14,MAT PLOT CELLS,14,MAT PLOT LINES,14,SET AREA COLOR,14,SET COLOR MODE,14,SET LINE COLOR,14,SET LINE STYLE,14,SET TEXT COLOR,14 622 DATA ASK COLOR MIX,13,ASK DIRECTORY,13,ASK MAX COLOR,13,EXIT FUNCTION,13,INPUT ELAPSED,13,INPUT TIMEOUT,13,LOCATE CHOICE,13,MAT PLOT AREA,13 624 DATA ON ERROR GOTO,13,POINTER BEGIN,13,SET BEAM MODE,13,SET COLOR MIX,13,SET DIRECTORY,13,SET ZONEWIDTH,13,CREATEOBJECT,12,END FUNCTION,12 626 DATA EXIT HANDLER,12,EXIT PICTURE,12,EXTERNAL SUB,12,FILE GETNAME,12,INPUT PROMPT,12,"LINE INPUT #",12,LOCATE VALUE,12,ORGANIZATION,12,SET VIEWPORT,12 628 DATA TEXT JUSTIFY,12,ASSOC PRINT,11,CALLBACKADR,11,FILE DELETE,11,FILE RENAME,11,GETKEYSTATE,11,GETOPENNAME,11,GETSAVENAME,11,OPTION BASE,11 0159デフォルトの名無しさん2021/04/08(木) 19:49:06.02ID:9KS5QX8z 630 DATA PIXEL ARRAY,11,PIXEL VALUE,11,PLOT POINTS,11,POINT COLOR,11,POINT STYLE,11,POINTER END,11,PRINT USING,11,PROPERTYGET,11,PROPERTYPUT,11 632 DATA RECTYPE CSV,11,SELECT CASE,11,TEXTWINDOW1,11,TEXTWINDOW2,11,WAIT SIGNAL,11,ARITHMETIC,10,ASK WINDOW,10,BACKGROUND,10,COLOR MODE,10,COLORINDEX,10 634 DATA END SELECT,10,FOR APPEND,10,FOR OUTPUT,10,LINE COLOR,10,LINE INPUT,10,LINE STYLE,10,MOUSE POLL,10,PIXEL SIZE,10,PLOT LINES,10,SET MARGIN,10,SET WINDOW,10 636 DATA TEXT COLOR,10,TRANCEFORM,10,WAIT DELAY,10,BASIC.BAK,9,BASIC.INT,9,CASE ELSE,9,COLOR MIX,9,DIRECTORY,9,DRAW AXES,9,DRAW GRID,9,DRAW MODE,9,ENDOFLINE,9 638 DATA EXCEPTION,9,FOR INPUT,9,GET POINT,9,MAT INPUT,9,MAT PRINT,9,MAT REDIM,9,NOBEAMOFF,9,OVERWRITE,9,PLOT AREA,9,PLOT TEXT,9,RANDOMIZE,9,REMAINDER,9 640 DATA SETUP.BAT,9,SKIP REST,9,SPLITNAME,9,UNPACKDBL,9,WINHANDLE,9,ZONEWIDTH,9,CALLBACK,8,"CONFIRM$",8,CONTINUE,8,END WHEN,8,EXIT FOR,8,EXIT SUB,8,FUNCTION,8 642 DATA INTERNAL,8,MAT PLOT,8,MAT READ,8,"PACKDBL$",8,PROBLEMX,8,PROBLEMY,8,RATIONAL,8,SET ECHO,8,TRUNCATE,8,VIEWPORT,8,COMPLEX,7,CONSOLE,7,DECIMAL,7,DECLARE,7 644 DATA DEGREES,7,ELAPSED,7,END SUB,7,EXECUTE,7,EXIT DO,7,GETNAME,7,HANDLER,7,"INPUT #",7,JUSTIFY,7,LIBRALY,7,MAXSIZE,7,MISSING,7,NUMERIC,7,PENDING,7,PICTURE,7 646 DATA "PRINT #",7,PRINTER,7,PRIVATE,7,PROGRAM,7,RADIANS,7,RECTYPE,7,"REPEAT$",7,RESTORE,7,"STRING$",7,"SUBSTR$",7,TIMEOUT,7,ACCESS,6,ASSIGN,6,BEZIER,6,BITAND,6 648 DATA BITMAP,6,BITNOT,6,BITXOR,6,CHOICE,6,CIRCLE,6,DEFDBL,6,DEFINT,6,DELETE,6,DEVICE,6,"DWORD$",6,ELSEIF,6,END IF,6,EXTYPE,6,HEIGHT,6,HIDDEN,6,"INKEY$",6 650 DATA INTSQR,6,LBOUND,6,"LCASE$",6,LOCATE,6,LPRINT,6,"LTRIM$",6,MARGIN,6,MAXNUM,6,MODULE,6,NATIVE,6,NOTXOR,6,NOWAIT,6,OPTION,6,OUTPUT,6,PIXELX,6,PIXELY,6,POINTS,6 0160デフォルトの名無しさん2021/04/08(木) 19:49:24.07ID:9KS5QX8z 652 DATA PROMPT,6,PUBLIC,6,RENAME,6,RESUME,6,RETURN,6,"RIGHT$",6,ROTATE,6,"RTRIM$",6,SCREEN,6,SIGNAL,6,"SPACE$",6,STREAM,6,STRING,6,UBOUND,6,"UCASE$",6 654 DATA UNSAVE,6,"USING$",6,WINDOW,6,WORLDX,6,WORLDY,6,ANGLE,5,AXES0,5,BITOR,5,BREAK,5,"BSTR$",5,"BYTE$",5,CAUSE,5,CELLS,5,CHAIN,5,CLEAR,5,CLOSE,5,COLOR,5 656 DATA "DATE$",5,DEBUG,5,DELAY,5,DENOM,5,ERASE,5,FLOOD,5,GLOAD,5,GOSUB,5,GRAPH,5,GRID0,5,GSAVE,5,IMAGE,5,INPUT,5,INSTR,5,KANJI,5,LABEL,5,"LEFT$",5,LIMIT,5 658 DATA LINES,5,LOCAL,5,LOG10,5,MERGE,5,NUMER,5,OUTIN,5,PAINT,5,PAUSE,5,PIXEL,5,POINT,5,PRINT,5,REDIM,5,RETRY,5,ROUND,5,SCALE,5,SHARE,5,SHEAR,5,SHIFT,5,"TIME$",5 660 DATA TRACE,5,UNTIL,5,USING,5,VALUE,5,WHILE,5,"WORD$",5,WRITE,5,ACOS,4,AREA,4,ASIN,4,AXES,4,BASE,4,BEAM,4,BEEP,4,BLEN,4,BVAL,4,BYTE,4,CALL,4,CASE,4,CEIL,4 662 DATA "CHR$",4,CINT,4,CLIP,4,COM1,4,COM2,4,COMB,4,CONJ,4,COSH,4,DATA,4,DATE,4,DISK,4,DRAW,4,ECHO,4,ELSE,4,EXIT,4,FACT,4,FILE,4,"GET@",4,GOTO,4,GRID,4,"HEX$",4 664 DATA KILL,4,LINE,4,LOG2,4,LOOP,4,"MID$",4,MORE,4,NAME,4,NEXT,4,"NUL$",4,OPEN,4,PERM,4,PLAY,4,PLOT,4,POLL,4,PSET,4,"PUT@",4,READ,4,REST,4,SINH,4,SIZE,4,SKIP,4 666 DATA STEP,4,STOP,4,"STR$",4,SWAP,4,TANH,4,TEXT,4,THEN,4,TIME,4,TYPO,4,WAIT,4,WEND,4,WHEN,4,WITH,4,ABS,3,AND,3,ARG,3,ASC,3,ASK,3,ATN,3,BOX,3,CLS,3,CON,3,COS,3 668 DATA COT,3,CSC,3,CSV,3,DEF,3,DEG,3,DET,3,DIM,3,DOT,3,END,3,EOF,3,EPS,3,EXP,3,FIX,3,FOR,3,GCD,3,GET,3,IDN,3,INT,3,INV,3,KEY,3,LEN,3,LET,3,LOG,3,MAT,3,MAX,3,MIN,3 670 DATA MIX,3,MOD,3,NOT,3,OLE,3,ORD,3,ORG,3,PDF,3,POS,3,RAD,3,REM,3,RND,3,SEC,3,SET,3,SGN,3,SIN,3,SPC,3,SQR,3,SUB,3,TAB,3,TAN,3,TRN,3,USE,3,VAL,3,ZER,3,DO,2,FP,2 672 DATA IF,2,IM,2,IP,2,OR,2,PI,2,RE,2,TO,2 1000 DATA 448 END 0161デフォルトの名無しさん2021/04/09(金) 03:54:52.19ID:NbKZuhfM 10 RESTORE 1000 20 READ C 30 RESTORE 40 DIM COMMAND$(C),COML(C) 50 FOR I=1 TO C 60 READ COMMAND$(I),COML(I) 70 PRINT I,COMMAND$(I) 80 NEXT I 85 LET R$="C:\Users\user\Documents\FFC.txt" 90 LET W$="C:\Users\user\Documents\RSLT.txt" 100 OPEN #1:NAME R$ 110 OPEN #2:NAME W$ 115 ERASE #2 120 LINE INPUT #1:L$ 130 IF L$="" THEN GOTO 400 140 FOR J=1 TO C 150 LET M=1 160 LET P=POS(L$,COMMAND$(J)) 170 IF P=0 THEN GOTO 210 172 IF ORD(L$(P-1:P-1))>64 AND ORD(L$(P-1:P-1))<91 THEN GOTO 210 180 LET L$(POS(L$,COMMAND$(J),M):POS(L$,COMMAND$(J),M)-1)="**"&STR$(J) 190 LET L$(POS(L$,COMMAND$(J),M):POS(L$,COMMAND$(J),M)-1+COML(J))="" 200 GOTO 160 210 NEXT J 230 PRINT #2:L$ 250 GOTO 120 400 CLOSE #2 410 CLOSE #1 0162デフォルトの名無しさん2021/04/09(金) 04:53:47.93ID:NbKZuhfM これでファイル読み込みの末尾に来てもエラー吐きません。
10 RESTORE 1000 20 READ C 30 RESTORE 40 DIM COMMAND$(C),COML(C) 50 FOR I=1 TO C 60 READ COMMAND$(I),COML(I) 70 PRINT I,COMMAND$(I) 80 NEXT I 85 LET R$="C:\Users\user\Documents\FFC.txt" 90 LET W$="C:\Users\user\Documents\RSLT.txt" 100 OPEN #1:NAME R$ 110 OPEN #2:NAME W$ 115 ERASE #2 116 DO 120 LINE INPUT #1,IF MISSING THEN EXIT DO:L$ 140 FOR J=1 TO C 150 LET M=1 160 LET P=POS(L$,COMMAND$(J)) 170 IF P=0 THEN GOTO 210 172 IF ORD(L$(P-1:P-1))>64 AND ORD(L$(P-1:P-1))<91 THEN GOTO 210 180 LET L$(POS(L$,COMMAND$(J),M):POS(L$,COMMAND$(J),M)-1)="**"&STR$(J) 190 LET L$(POS(L$,COMMAND$(J),M):POS(L$,COMMAND$(J),M)-1+COML(J))="" 200 GOTO 160 210 NEXT J 230 PRINT #2:L$ 250 LOOP 400 CLOSE #2 410 CLOSE #1 0163デフォルトの名無しさん2021/04/09(金) 04:54:52.75ID:NbKZuhfM DATA部に変更は無いです。 0164デフォルトの名無しさん2021/04/09(金) 10:57:36.51ID:MaekWpgV まず、INPUTからとりかかることにしました。比較的簡単かなと。 0165デフォルトの名無しさん2021/04/09(金) 19:04:05.04ID:NbKZuhfM 結局REM文からとりかかりました。
9999 REM REM 10000 FOR KK=1 TO N 10010 IF POS(TBL2$(KK),"__425_")<>0 AND TBL2$(KK)(1:3)<>"670" AND TBL2$(KK)(1:5)<>"10010" THEN LET TBL3$(KK)=TBL1$(KK)((POS(TBL2$(KK),"__425_")+4) :LEN(TBL2$(KK))) ELSE GOTO 10050 10020 LET TBL3$(KK)="/* "&TBL3$(KK)&" */" 10030 PRINT TBL3$(KK) 10050 NEXT KK