FreeBASIC Setenviron
目次→実行時ライブラリー参考→オペレーティング・システム関連→SETENVIRON←オリジナル・サイト
システム環境変数を、設定します。
構文:
用法:
result = Setenviron( varexpression )
パラメタ:
varexpression
以下の形式(varname=varstring または等価)の環境変数の、名前と設定
(varname は、環境変数の名前。varstring は、設定するそのテキスト値)
戻り値:
成功すればゼロ (0) を、そうでなければ、非ゼロを返します。
記述:
システム環境変数を変更します。
システム上には、編集してデフォルト値以外に設定できる、いくつかの変数があります。
このひとつの例が fbgfx です。fbgfx では、FreeBASIC 描画ライブラリが使う描画ドライバーの形式を選ぶことができます。
例:
'例、システム変数の "path" を、"c:" に設定します:
Shell "set path" 'パスの値を表示します
SetEnviron "path=c:"
Shell "set path" 'パスの新しい値を表示します
'' WINDOWS だけで使える例です!
'' - 使う描画方法を、DirectX(または新システムに追加されたDirect2D) ではなく、GDI(Graphic Device Interface) に設定します。
'' FPS(frames per second フレームレート) の違いに注意して下さい。
SetEnviron("fbgfx=GDI")
'' デスクトップの幅/高さ
Dim As Long ScrW, ScrH, BPP
ScreenInfo ScrW, ScrH, BPP
'' モニターの半分の幅/高さで、画面を作成します。
'' 通常、これには時間がかかります。
'' しかし、GDI は、この種類の操作で、かなり速いです。
ScreenRes ScrW/2, ScrH/2, BPP
'' タイマを始動します。
Dim As Double T = Timer
'' ページをロックします。
ScreenLock
Do
'' 最後のフレームから時間を表示します。
Locate 1, 1
Print "FPS:
" & 1 /
( Timer - T )
T = Timer
'' 画面をはじき出します。
ScreenUnlock
ScreenLock
'' 画面にグラフィカルな変化を遂行します。
Cls
'' プログラムを終了するためには、何かキー入力して下さい。
Loop Until Len
(Inkey)
'' ページのロックを解除します。
ScreenUnlock

GDI と DirectX の関係(違い)については、右の画像のリンクをクリックして下さい。
Windows10 の日本語環境では、日本語フォントを滑らかに表示するために GDI がデフォルトで使えなくなっている?
https://align-centre.hatenablog.com/entry/2014/07/11/184500
日本語文字をクリアに表示するために、縦方向のアンチエイリアス処理が付加された Natural ClearType が使われていて、これには、GDI/GDI+ の後継となる文字描画用 API 群で、DirectX のコンポーネントの 1 つである DirectWrite が使われています。
プラットホーム差:
- Linux は文字列を記憶するのではなく、データ文字へのポインタを記憶するだけなので、Linux では、varexpression は永続的なもの(リテラル、メインコードで宣言された変数、手続きで宣言された静的変数)でなければなりません。
QBからの違い:
-
QBでは、Setenviron は、Environ と呼ばれました。
参照:
ページ歴史:2022-03-26 03:54:05
日本語翻訳:WATANABE Makoto、原文著作者:SysOp
