CCallサンプルプログラム
DLLを利用するサンプルです(インポートライブラリを使わない)。文字列が数字であるかどうかを判定します。
CCallサンプルプログラムフォルダー内には以下の6つのフォルダーが含まれて居りますDllCall・ImpCall・LibCall・Make_DLL・Make_LIB・Sort

一つ目のフォルダDllCall
declare function IS_NUMERIC lib "IS_NUM.DLL" ( byval S$ ) as
long
でプロシージャ IS_NUMERICを定義します
"IS_NUM.DLL"は同じフォルダー内にあることが前提です
パラメータにA$ = "0123456789"(数値型)を設定してプロシージャ
IS_NUMERICを実行すると 返り値は 0
パラメータにB$ = "AB010"(文字型)を設定してプロシージャ IS_NUMERICを実行すると 返り値は -1
がそれぞれ返されます。結果は下図のように表示されます

このサンプルプログラムはDllcall.lzh 30.2KBでインストールできます
尚コードの詳細はワードファイル1つにまとめて最後に添付いたします。

二つめのフォルダImpCall
declare function IS_NUMERIC ( byval S$ ) as long このコードには[LIB ライブラリ名]と[ALIAS
エイリアス名]がありません

フォルダー内にはIs_num.dll が存在します、このプログラムではライブラリにIs_num.libを登録してサンプルCCallと同じようにプロシージャとしてdllファイルを使って(数値型)か(文字型)を判断させて居ります。
このサンプルプログラムはImpCall.lzh 30.2KBでインストールできます
尚コードの詳細はワードファイル1つにまとめて最後に添付いたします。

三つ目のフォルダLibCall
declare function IS_NUMERIC( byval S$ ) as long このコードにも[LIB ライブラリ名]と[ALIAS
エイリアス名]がありません
説明では、スタティックライブラリを利用するサンプルで文字列が数字であるかどうかを判定します。と記されております
| ちなみに |
 |
この2つのフォルダーを別の場所に移動してみましょう |
翻訳しますと
LIBCALL.BAS
LINK : fatal error LNK1181: 入力ファイル "IS_NUM.LIB" を開けません
とエラーになってしまいます、ということでこのプログラムはIs_num.lib をプロシージャとして使っていることが確認できます。
このサンプルプログラムはLibCall.lzh 23KBでインストールできます

四つ目のフォルダーMake_DLL
CCALL\DLLCALL、CCALL\IMPCALLで使用されるDLLとLIBを作成するための、C言語で記述されたソースファイルです。
* これらのソースファイルを利用するためには、Visual C++4.0もしくは同等のCコンパイラが必要です。
* F-BASICではオープンできません。 と記述されておりますので解析は致しません

五つ目のフォルダMake_LIB
CCALL\MAKE_LIB: CCALL\LIBCALLで使用されるLIBを作成するための、C言語で記述されたソースファイルです。
* これらのソースファイルを利用するためには、Visual C++ 4.0もしくは同等のCコンパイラが必要です。
F-BASICではオープンできません。とありますので解析できません


六つ目のフォルダ Sort このプログラムは構造体
type _AA
CB as string * 3 ' 組み合わせ
OZ as single ' 倍率
end type
を使って、任意に作ったデータを 8*8個 割り当て3種類の方法で並べ替えを実行します
プロシージャとして
declare function XSRVC_QSORT lib "F1A0QSRT.DLL" alias "xsrvc_qsort" ( PARY as any, byval IELMCNT&, byval IELMSIZ&, byval ISORTTYPE&, byval IKEYTYPE&, byval IKEYSTART&, byval IKEYLEN& ) as long
フォルダ内にある Sort.rcを使いパラメータに( AA(0), CC, DLEN, STYP, KYTP,
KYOF, KYLN )を継承して処理を行います
このサンプルプログラムはsort.lzh 25.2KBでインストールできます
以上CCallサンプルプログラムのコードの詳細はワードファイルはCCallw.lzh 58KBでインストールできます
私のホームページへ戻る