1.MGINET.DLL (Ver. 0.95) の概要 MGINET.DLLは、dbMAGIC V7.0以上で、WWWサーバやFTPサーバとファイルの転送等を 行う事ができるようにした Windows 95 か NT 上で動作する dbMAGIC用DLLです。 MGINETを使用するには、WININET.DLLが必要です。 MGINET.DLL内には、以下の8つの関数があります。 (1) http_call WWWサーバに、ファイルや CGIスクリプトをリクエストコールし、結果を受け 取ります。 (2) rep_amp 指定の文字列内に '&'(アンパサンド)が存在すれば、'&&'に置き換えて、新 たな文字列を作成します。 (3) ftp_get FTPサーバからファイルを受信します。 (4) ftp_put FTPサーバへファイルを送信します。 (5) ftp_del FTPサーバのファイルを削除します。 (6) log_on ログファイルを指定し、出力状態にします。 (7) log_off ログファイルの出力状態をオフにします。 (8) version MGINET.DLLのバージョンを表示します。 2.各関数の詳細 ◆ http_call : UPC 式='mginet.http_call' パラメータ6つ 解説: 所定のファイルまたはCGIスクリプトの「URL」を指定し、指定したファイルや CGIスクリプトの結果をWWWサーバから受け取ります。この時、「受信結果ファイ ル」を指定していれば、指定されたファイルに出力します。指定がない場合は、 URL指定のファイル名で、カレントディレクトリに出力します。ただし、拡張子 が html,htm,txtかCGIスクリプトの結果の場合、2000文字以内なら、その内容を 「受信文字項目」に返します。CGIスクリプトの結果が、2000文字を越えた場合 のファイル名は、CGIスクリプト名で拡張子が '.htm'になります。 CGIスクリプトでは、GETメソッドあるいはPOSTメソッドでデータ(HTML文での フォームの NAME/VALUE にあたる)を渡せます。GETでは URL内に、POSTでは 「POSTメソッドNAME/VALUEデータ」に設定します。 戻り値:数値項目 パラメータで指定した「戻り値」に返します。 0 − 正常終了。結果の内容は、「受信文字項目」に出力されています。 1 − 正常終了。結果の内容は、ファイルに出力されます。「受信文字項目」 には、そのファイル名が返されます。 -1 − インターネットオープンエラー -2 − URL接続エラー -3 − HTTPオプーンリクエストエラー -4 − HTTPヘッダーリクエストエラー -5 − HTTP送信リクエストエラー -6 − ワークエリア作成エラー -11 − インターネットファイル読み込みエラー -12 − 受信結果ファイル作成エラー -13 − 受信結果ファイル書き込みエラー -20 − CGIスクリプトデータ変換エリアオーバーエラー -200 以上は、HTTP/1.0のエラーをマイナス値に変換 (HTTP/1.0エラーの詳細は、HTTP関係の資料を参照) パラメータ: (1) URL:文字列 (IN) WWWサーバ、所定のファイル(CGIスクリプト)、GETメソッド渡しのデータを 設定します。頭の'http://'は、無くても可能です。 GETメソッドで NAME/VALUEデータを指定する場合は、CGIスクリプト名のすぐ 後に'?'を付けます。NAMEとVALUEとの間は'='を設定します。NAME/VALUEデー タ間は'&'で区切ります。詳細は、「POSTメソッドNAME/VALUEデータ」を参考 にして下さい。 CGIスクリプトで、NAME/VALUEデータがない場合でも、CGIスクリプト名の後 には、'?'を付けて下さい。'?'がない場合は、CGIスクリプトのファイルを受 信します。 例1) HTMLファイルの設定 'http://www.magic.wacom.co.jp/demo_001.htm' 例2) HTMLファイルの設定(http://なし) 'www.magic.wacom.co.jp/demo_001.htm' 例3) dbMAGIC V7.0コントロールファイルの設定 'http://128.200.0.50/dmctl.mcf' 例4) CGIスクリプト(GETメソッド,p1=100,p2=200)の設定 'http://www.magic.wacom.co.jp/mgweb/weblink.exe?p1=100&p2=200' (2) プロキシーサーバ指定:文字列 (IN) プロキシーサーバを指定する場合に指定します。プロキシーサーバがない場 合は、必ずNULL文字列を設定して下さい。設定内容にはTCP/IPのポート番号 も含みます。プロキシーサーバ名とポート番号の間には、':'を設定します。 例) 'http://proxy.magic.wacom.co.jp:1234' (3) POSTメソッドNAME/VALUEデータ:文字列 (IN) CGIスクリプトにおいて、POSTメソッドでNAME/VALUEデータを渡す場合に指定 します。NAMEとVALUEとの間は'='を設定し、NAME/VALUEデータ間には、'&'で 区切ります。POSTの場合、「URL」のCGIスクリプト名の後には、'?'を付けな いで下さい。 NAME(名前)には、'='を使用出来ません。また、最初の1文字は、半角の大 文字または小文字の英字を使用して下さい。 VALUE(値)に、'&'を使用したい場合は、'&&'と2つ並べて下さい。1つだ とデータ間の区切りと見なされます。 このパラメータは CGIスクリプト以外の場合、NULL文字列を設定します。 例) data1=123, data2=東京&大阪, data3=\12,000- の場合 'data=123&data2=東京&&大阪&data3=\12,000-' (4) 受信結果ファイル指定:文字列 (IN) 受信結果を所定のファイルに受け取りたい場合に指定します。指定がない 場合は、上記の解説の内容にそって決定されたファイル名、および「受信 文字項目」に受信した内容が返されます。 尚、この項目にファイル名でなく、ディレクトリ名(最後が、'\'か'/') を指定した場合は、受信結果ファイル名を指定しない動作と同じで、受信結 果ファイルが、カレントディレクトリではなく指定したディレクトリになり ます。 (5) 受信文字項目:文字列 (OUT) 受信結果が返ってくる文字列項目を指定します。結果は、受信内容または、 ファイル名が設定されます(解説、戻り値を参考)。 必ず、2000文字以上の文字項目を指定して下さい。 (6) 戻り値:数値 (OUT) 戻り値が返ってくる数値項目を指定します(戻り値を参照)。 注意: (1) WWWサーバにより、CGIスクリプトと見なすファイルが異なります。 (2) 受信したファイルが、所定のディレクトリにすでに存在している場合は、上 書きされます。 ◆ rep_amp : UDF ('mginet.rep_amp',A) 解説: 指定の文字列内に '&'(アンパサンド)が存在すれば、'&&'に置き換えて、新た な文字列を作成し戻り値として返します。 この関数は、NAME/VALUEデータでVALUE部となる文字列内に'&'がある場合、その ままでは http_call関数をコールすると区切り文字として認識される為、'&'を '&&'に置き換えた文字列を作成する補助的な変換関数です。 戻り値:文字項目 関数値として、変換後の文字列を返します。 パラメータ: (A) 変換依頼文字項目:文字列 (IN) 変換したい文字列が設定されている文字項目を指定します。 注意: (1) 変換後の文字数が、16380以上になる場合、16380文字までしか戻り値として 設定されません。 ◆ ftp_get : UDF ('mginet.ftp_get',A,B,C,D,E,F,G) 解説: FTPサーバからファイルを受信します。ファイルは、単独,ワイルドカード,ディ レクトリなどが指定できます。 戻り値:数値項目 関数値として返ります。 0 − 正常終了。 1 − FTPサーバ接続エラー 3 − FTPサーバファイル検索エラー 4 − ファイルGETエラー 5 − FTPサーバファイル検索終了エラー パラメータ: (A) ホスト名(IPアドレス):文字列 (IN) ホスト名あるいは、IPアドレスを指定します。 (B) ユーザ名:文字列 (IN) ログインユーザ名を指定します。 (C) パスワード:文字列 (IN) ログインユーザのパスワードを指定します。 (D) プロキシーサーバ指定:文字列 (IN) プロキシーサーバを指定する場合に指定します。プロキシーサーバがない場 合は、必ずNULL文字列を設定して下さい。設定内容にはTCP/IPのポート番号 も含みます。プロキシーサーバ名とポート番号の間には、':'を設定します。 例) 'ftp://proxy.magic.wacom.co.jp:3082' (E) ローカルディレクトリ:文字列 (IN) PC側で受信したファイルを格納するディレクトリを指定します。指定がない 場合は、カレントディレクトリになります。パスの区切り文字は、'\'ある いは、'/'が使用できます。指定ディレクトリが存在しない時は、指定ディ レクトリを作成します。 (F) FTPファイル:文字列 (IN) FTPサーバ側から受信したいファイルを指定します。指定ファイル名には、 '*'または'?'のワイルドカード文字も指定できます。この場合、該当するフ ァイルをすべて受信します。ディレクトリ(最後が'\'か'/')を指定すると 、ディレクトリごとディレクトリ下のファイルおよびサブディレクトリをす べて受信します。 ファイル名とファイル名を'|'で区切る事により、一度に複数のファイル名 やディレクトリ名を設定する事もできます。 尚、パスの区切り文字は、'\'あるいは、'/'が使用できます。 (G) トランスファモード:数値 (IN) FTPで転送するファイルを、バイナリと見なすかアスキーと見なすかを指定し ます。 0 :  ファイルをバイナリと見なし、何も変更せず転送します。 0以外: ファイルをアスキーと見なします。FTPサーバがUNIXの場合など では、改行コードが [LF] ですが、PCでは [CR/LF]です。この違 いを変換してファイルが転送されます。 このモードは、テキストファイルの転送以外では使用しないで下さ い。 注意: (1) FTPサーバが UNIX場合は、英字の大文字と小文字が区別されるので、ファイ ルやディレクトリを指定する際には、大文字,小文字の違いに注意してくだ さい。 (2) FTPファイルを指定しなくても、ローカルディレクトリを指定すれば、PC側に 指定のディレクトリが作成されます。 (3) 受信したファイルが、所定のディレクトリにすでに存在していても、上書き されます。 ◆ ftp_put : UDF ('mginet.ftp_put',A,B,C,D,E,F,G) 解説: FTPサーバへファイルを送信します。ファイルは、単独,ワイルドカード,ディレ クトリなどが指定できます。 戻り値:数値項目 関数値として返ります。 0 − 正常終了。 1 − FTPサーバ接続エラー 2 − FTPサーバディレクトリ作成エラー 3 − PC側ファイル検索エラー 4 − ファイルPUTエラー 5 − PC側ファイル検索終了エラー パラメータ: (A) ホスト名(IPアドレス):文字列 (IN) ホスト名あるいは、IPアドレスを指定します。 (B) ユーザ名:文字列 (IN) ログインユーザ名を指定します。 (C) パスワード:文字列 (IN) ログインユーザのパスワードを指定します。 (D) プロキシーサーバ指定:文字列 (IN) プロキシーサーバを指定する場合に指定します。プロキシーサーバがない場 合は、必ずNULL文字列を設定して下さい。設定内容にはTCP/IPのポート番号 も含みます。プロキシーサーバ名とポート番号の間には、':'を設定します。 例) 'ftp://proxy.magic.wacom.co.jp:3082' (E) ローカルファイル:文字列 (IN) PC側から送信したいファイルを指定します。指定ファイル名には、'*'また は'?'のワイルドカード文字も指定できます。この場合、該当するファイル をすべて送信します。ディレクトリ(最後が'\'か'/')を指定するとディレ クトリごと、ディレクトリ下のファイルおよびサブディレクトリをすべて送 信します。 ファイル名とファイル名を'|'で区切る事により、一度に複数のファイル名 やディレクトリ名を設定する事もできます。 尚、パスの区切り文字は、'\'あるいは、'/'が使用できます。 (F) FTPディレクトリ:文字列 (IN) FTPサーバ側が受信したファイルを格納するディレクトリを指定します。指定 がない場合は、ログイン時のカレントディレクトリになります。パスの区切 り文字は、'\'あるいは、'/'が使用できます。指定ディレクトリが存在しな い時は、指定ディレクトリを作成します。 (G) トランスファモード:数値 (IN) FTPで転送するファイルを、バイナリと見なすかアスキーと見なすかを指定し ます。 0 :  ファイルをバイナリと見なし、何も変更せず転送します。 0以外: ファイルをアスキーと見なします。FTPサーバがUNIXの場合など では、改行コードが [LF] ですが、PCでは [CR/LF]です。この違 いを変換してファイルが転送されます。 このモードは、テキストファイルの転送以外では使用しないで下さ い。 注意: (1) FTPサーバが UNIX場合は、英字の大文字と小文字が区別されるので、ファイ ルやディレクトリを指定する際には、大文字,小文字の違いに注意してくだ さい。 (2) ローカルファイルを指定しなくても、FTPディレクトリを指定すれば、FTPサ ーバ側に指定のディレクトリが作成されます。 (3) 送信したファイルが、FTPサーバの所定のディレクトリにすでに存在していて も、上書きされます。 ◆ ftp_del : UDF ('mginet.ftp_del',A,B,C,D,E,F) 解説: FTPサーバのファイルを削除します。ファイルは、単独,ワイルドカード,ディレ クトリなどが指定できます。削除確認ダイアログボックスの表示,非表示が指定 できます。 戻り値:数値項目 関数値として返ります。 0 − 正常終了。 1 − FTPサーバ接続エラー 3 − FTPサーバファイル検索エラー 4 − FTPファイル削除エラー 5 − FTPサーバファイル検索終了エラー +256 − 確認ダイアログでキャンセルボタンが押された場合に、戻り値に 256が加算されます。 パラメータ: (A) ホスト名(IPアドレス):文字列 (IN) ホスト名あるいは、IPアドレスを指定します。 (B) ユーザ名:文字列 (IN) ログインユーザ名を指定します。 (C) パスワード:文字列 (IN) ログインユーザのパスワードを指定します。 (D) プロキシーサーバ指定:文字列 (IN) プロキシーサーバを指定する場合に指定します。プロキシーサーバがない場 合は、必ずNULL文字列を設定して下さい。設定内容にはTCP/IPのポート番号 も含みます。プロキシーサーバ名とポート番号の間には、':'を設定します。 例) 'ftp://proxy.magic.wacom.co.jp:1234' (E) FTPファイル:文字列 (IN) FTPサーバ側の削除したいファイルを指定します。指定ファイル名には、'*' または'?'のワイルドカード文字も指定できます。この場合、該当するファイ ルをすべて削除します。ディレクトリ(最後が'\'か'/')を指定すると、デ ィレクトリごとディレクトリ下のファイルおよびサブディレクトリをすべて 削除します。 ファイル名とファイル名を'|'で区切る事により、一度に複数のファイル名や ディレクトリ名を設定する事もできます。 尚、パスの区切り文字は、'\'あるいは、'/'が使用できます。 (F) 削除確認ダイアログ表示指定:数値 (IN) ファイルの削除処理を開始するまえに、削除の確認ダイヤログボックスを表 示するかどうかを指定します。0 の場合は、確認ダイヤログを表示せずに削 除処理を行います。0 以外の場合は、確認ダイアログが表示されます。 表示されたダイヤログで、OKボタンを押すと削除処理が実行されますが、 キャンセルボタンを押すと削除処理はされません。 尚、確認ダイアログ表示にした際は、FTPファイルで'|'を使用して、複数 指定を行った場合、それぞれの指定ごとに確認ダイアログが表示されます。 注意: (1) FTPサーバが UNIXの場合は、英字の大文字と小文字が区別されるので、ファ イルやディレクトリを指定する際には、大文字,小文字の違いに注意してく ださい。 ◆ log_on : UDF ('mginet.log_on',A,B,C) 解説: ログファイルを指定し、出力状態にします。この関数の実行以降、http_call, ftp_get,ftp_put,ftp_del関数の実行(コール)内容を、指定したログファイ ルに出力します。ログファイルの出力を停止する場合は、log_off関数を実行し てください。log_off関数を実行しなくても、新たに log_on関数を実行すると、 先のログファイルは、log_off関数を実行したのと同じように出力を停止します。 戻り値:数値項目 関数値として返ります。 0 − 正常終了。 1 − ログファイル作成エラー(ログファイルは出力状態になりません。) パラメータ: (A) ログファイル名:文字列 (IN) ロクファイル名を指定します。 (B) オープンモード: 数値(IN) ログファイルをオープンする際のモードを指定します。 0 : 新規作成。指定ログファイルが既に存在しても、新規にログファイル を作成します。 1 : 追加出力。指定ログファイルが既に存在している場合、ログを追加 出力します。指定ファイルが存在しない場合は、新規作成します。 (C) 出力モード: 数値(IN) ログファイルを出力する際のモードを指定します。 0 : http_call,ftp_get,ftp_put,ftp_del関数の実行が正常に行われ た場合のみ、ログ出力されます。 1 : 正常な実行ログ+(プラス)エラーや ftp_del関数でのキャンセル 指示があった場合もその内容をログ出力します。 2 : 出力については、0 の場合と同じです。 普通、OSはファイルへの出力を直には行わずに、ある程度してか ら出力します。それを常に強制出力(フラッシュ)したい場合に、 指定します。これは、ログ出力中に、並行して他のアプリケーショ ンで即時、結果を知たい場合などに有効です。特に必要性がない限 り、指定しないで下さい。 3 : 出力については、1 の場合と同じです。2 の場合と同様、強制出力 します。 注意: (1) ログが出力状態のファイルは、他のアプリケーションで読み込みは出来ます が、書き込みが出来ません。 (2) log_off関数を実行せずにdbMAGICを終了した場合、再びログを出力する為に は、log_on関数を実行する必要があります。 ◆ log_off : UPC 式='mginet.log_off' パラメータなし 解説: 現在のログ出力状態ファイルの出力状態をオフにします。この関数の実行以降、 ログは出力されません。 戻り値:なし パラメータ:なし ◆ version : UPC 式='mginet.version' パラメータなし 解説: MGINET.DLLのバージョン確認ダイアログボックスが表示されます。ダイアログ のOKボタンを押す事により終了します。 戻り値:なし パラメータ:なし                                      以上 1997年6月26日 株式会社ワコム MAGIC事業部 Copyright(C)1997 株式会社ワコム