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

FreeBASIC Any

目次→命令文→手続きANY←オリジナル・サイト

ANY 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

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

Any 予約語は、型や値の代用語として、いろいろな方法で使われます。

構文:
Dim identifier As Any Pointer|Ptr
または
Declare Sub|Function identifier ( Byref identifier As Any [ , ... ] )
または
Dim identifier(Any [, Any...]) As DataType
または
[ Declare ] { Sub | Function } proc_name ( param(Any [, Any...]) As DataType )
または
Dim identifier As DataType = Any
または
New DataType ( Any )
または
New(address) DataType [count] { Any }
または
Instr|InstrRev ( string, Any substring )
または
Procptr ( identifier, [Virtual] Any )


記述:

例:
Declare Sub echo(ByVal x As Any Ptr) '' echo は、どんなポインター型も受け入れます

Dim As Integer a(0 To 9) = Any '' この変数は初期化されません
Dim As Double  d(0 To 4)

Dim p As Any Ptr

Dim pa As Integer Ptr = @a(0)
Print "Not initialized ";
echo pa       '' echo に、整数へのポインターを渡します

Dim pd As Double Ptr = @d(0)
Print "Initialized ";
echo pd       '' echo に、倍精度へのポインターを渡します

p = pa     '' p に整数へのポインターを代入します
p = pd     '' p に倍精度へのポインターを代入します

Sleep

Sub echo (ByVal x As Any Ptr)
    Dim As Integer i
    For i = 0 To 39
        'echo は、ポインター中のデータをバイトとして解釈します
        Print Cast(UByte Ptr, x)[i] & " ";
    Next
    Print
End Sub


'変数の型検査を不能にする ANY の例
Declare Sub echo (ByRef a As Any) '' ANYは、関数に渡されたデータの型のためのチェックを、不能にします

Dim x As Single
x = -15
echo x                  '' 整数を予想する関数に単精度を渡します。コンパイラは、不満を言いません!!
Sleep

Sub echo (ByRef a As Integer)
  Print Hex(a)         
End Sub


Dim a(Any) As Integer ' 1次元動的配列
Dim b(Any, Any) As Integer ' 2次元動的配列
Dim c(Any, Any, Any) As Integer ' 3次元動的配列
' など

' さらなる Redim や配列アクセスは、一致する数の次元を持っていなければなりません
ReDim a(0 To 1)
ReDim b(1 To 10, 2 To 5)
ReDim c(0 To 9, 0 To 5, 0 To 1)


方言差:

QBからの違い:

参照:

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

ページ歴史:2023-05-11 09:08:10
日本語翻訳:WATANABE Makoto、原文著作者:SysOp

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

表示-非営利-継承