十進BASIC の全ての半角文字 表示 SECOND 2006/11/07 00:05:19
十進BASIC の全ての半角文字 表示 SECOND 2006/11/07 00:05:19 ツリーへ
十進BASIC の全ての半角文字 表示 |
返事を書く |
SECOND 2006/11/07 00:05:19 | |
! 十進BASIC の全ての半角文字 表示
!( "." 赤色表示は、エラーになるコード。) !ついでに、ベタ文字を探し、数字の消去、再表示を試験。 !--------------------- ! !-----プロット文字( デフォルト) ! SET TEXT FONT "MS ゴシック",11 SET WINDOW -1,60, 25,-2 DRAW GRID CALL plot_font ! CALL beta_test( ベタ文字 )無し !-----プロット文字(メモ帳フォント) SET TEXT FONT "FixedSys",14 !---(14 only) SET WINDOW -1-20,60-20, 25,-2 CALL plot_font CALL beta_test( CHR$(254)) !-----プロット文字 SET TEXT FONT "Terminal",14 !---(4,6,10,14,17) SET WINDOW -1-40,60-40, 25,-2 CALL plot_font CALL beta_test( CHR$(254)) !----- SUB plot_font FOR j=0 TO 15 FOR i=0 TO 15 WHEN EXCEPTION IN SET TEXT COLOR "black" PLOT TEXT,AT i,j : CHR$(j*16+i) USE SET TEXT COLOR "red" PLOT TEXT,AT i,j : "." END WHEN NEXT i NEXT j END SUB !----- SUB beta_test( b$) FOR i=120 TO 0 STEP -1 SET TEXT COLOR "white" PLOT TEXT ,AT 0,18: "_______" & REPEAT$( b$,3) SET TEXT COLOR "black" PLOT TEXT ,AT 0,18: "ベタ消し試験:" & USING$("###",i) WAIT DELAY 0.02 NEXT i END SUB !-----プリント文字 FOR j=0 TO 15 FOR i=0 TO 15 LET w=j*16+i IF w=0 OR w=9 OR w=10 THEN LET w=46 !( NUL,TAB,LF)"."表示 WHEN EXCEPTION IN CALL SetColor(0,0,0) PRINT CHR$(w); USE CALL SetColor(255,0,0) PRINT "."; END WHEN NEXT i NEXT j !----- END EXTERNAL SUB SetColor(R,G,B) !(2006/07/31 10:36:08 白石先生掲示) OPTION CHARACTER Byte SUB SendMessage(hwnd,msg,wparam,lparam$) assign "USER32.DLL","SendMessageA" END SUB LET EM_SETCHARFORMAT=BVAL("0444",16) LET CHARFORMAT$=CHR$(60) & REPEAT$(CHR$(0),59) LET CHARFORMAT$(8:8)=CHR$(64) LET CHARFORMAT$(21:24)=CHR$(R) & CHR$(G) & CHR$(B) & CHR$(0) CALL SendMessage(WinHandle("RICHEDIT"),EM_SETCHARFORMAT,1, CHARFORMAT$) END SUB |