FreeBASIC マニュアルのトップに戻る

FreeBASIC ScreenCons

目次→実行時ライブラリー参考→実行画面関連SCREEN (実行画面)←オリジナル・サイト

SCREEN (実行画面) 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

指定位置の、文字や色属性を取得します。

構文:
declare function Screen ( byval row as long, byval column as long, byval colorflag as long = 0 ) as Ulong

用法:
result = Screen ( row, column [, colorflag ] )

パラメタ:
row
実行画面の左上隅を起点にして、1から始まる行方向のオフセット。
column
実行画面の左上隅を起点にして、1から始まる桁方向のオフセット。
colorflag
0 にすると、ASCII コードが返されます。0 以外の場合は、色属性が返されます。
省略すると、デフォルトとして 0 になります。

戻り値:
文字の、ASCII コードか、あるいは色属性。

記述:
Screen は、実行画面出力の指定の位置で見つけた、文字か色属性を、戻り値として取得します。
この関数は、実行画面モードだけでなく、描画モードでも同様に機能します。

色属性の表示形式は、現在の色の深度に依存します:

色タイプが、画素あたり最大4ビットの「パレットタイプ」(例えば Win32 実行画面など)であれば、カラー属性は8ビットの値になります。この場合、上位の4ビットはセル背景色を保持して、下位の4ビットが前景(キャラクタ)色を保持します。

色タイプが8ビットのパレットであれば、色属性は16ビットの値です。上位バイトが背景色で、下位バイトが文字表示色になります。

色タイプがフルカラーであれば、色属性は32ビットの整数で、単一色値を保持します。
colorflag が 1 なら、文字表示色が返されます。
colorflag が 2 なら、背景色が返されます。

標準の16色パレットの色の値は、以下の通りです。
Value01234567
ColorBlackBlueGreenCyanRedMagentaBrownWhite
シアンマゼンタブラウン
Value89101112131415
ColorGrayBright BlueBright GreenBright CyanBright RedPinkYellowBright White
グレー明るい青明るい緑明るいシアン明るい赤ピンク黄色明るい白

例:
Dim character_ascii_value As Ulong
Dim attribute As Ulong
Dim background As Ulong
Dim cell_color As Ulong
Dim row As Long, col As Long

character_ascii_value = Screen ( row, col )
attribute = Screen ( row, col, 1 )
background = attribute Shr 4
cell_color = attribute And &hf
Sleep


'' 1画素あたり4ビット色深度の描画画面を開けます
'' (あるいはまた、この行をコメント・アウトして、実行画面を使ってみてください)
ScreenRes 320, 200, 4

'' 1文字を表示します
Color 7, 1
Print "A"

Dim As Ulong char, col, fg, bg

'' 上で表示した文字の ASCII値を取得します
char = Screen (1, 1, 0)

''色属性を取得します
col = Screen (1, 1, 1)
fg = col And &HF
bg = (col Shr 4) And &HF

Print Using "ASCII value: ### (""!"") ";char; Chr (char)
Print Using "Foreground color: ##"; fg
Print Using "Background color: ##"; bg

Sleep


'' 1画素あたり8ビットで描画画面を開けます
ScreenRes 320, 200, 8

'' 1文字を表示します
Color 30, 16
Print "Z"

Dim As Ulong char, col, fg, bg

'' 上で表示した文字の ASCII値を取得します
char = Screen (1, 1, 0)

''色属性を取得します
col = Screen (1, 1, 1)
fg = col And &HFF
bg = (col Shr 8) And &HFF

Print Using "ASCII value: ### (""!"") ";char; Chr (char)
Print Using "Foreground color: ###"; fg
Print Using "Background color: ###"; bg

Sleep


'' フルカラー描画画面を開けます
ScreenRes 320, 200, 32

'' 1文字を表示します
Color RGB(255, 255, 0), RGB(0, 0, 255) '青色の背景色の上に、黄色の文字を表示します
Print "M"

Dim As Ulong char, fg, bg

'' 上で表示した文字の ASCII値を取得します
char = Screen (1, 1, 0)

''色属性を取得します
fg = Screen (1, 1, 1)
bg = Screen (1, 1, 2)

Print Using "ASCII value: ### (""!"") "; char; Chr (char)
Print Using "Foreground color: &"; Hex (fg, 8)
Print Using "Background color: &"; Hex(bg, 8)
Sleep


プラットホーム差:

QBからの違い:

参照:

実行画面関連 に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2022-03-26 02:43:08
日本語翻訳:WATANABE Makoto、原文著作者: AntoniGual

ホームページのトップに戻る

表示-非営利-継承