From pc-sig-request@tkyux.phys.s.u-tokyo.ac.jp Tue Oct 31 15:38:31 1995 Date: Tue, 31 Oct 95 15:35:06 JST From: Hirofumi Fujii Message-Id: <9510310635.AA15614@onlnews.kek.jp> To: pc-sig@tkyux.phys.s.u-tokyo.ac.jp Subject: Re: VisualBasic control for winsock 藤井啓文@KEKです 昨日、フリーの Visual Basic の winsock 用コントロールと、その 使い方を紹介しましたが、 ある人から、メールで、日本にもフリーの Visual Basic の winsock 用 コントロールがあるという指摘を受けました。この方から個人的に送って いただいて、テストさせてもらいました。EZWSock.VBX です。 作者は青木 一紀(GHB01546@niftyserve.or.jp)さんです。現在 EZWS02.LZH として、出回っているようです。著作権、使用権等については、付属の README.TXT を見て下さい。基本的に著作権保持のフリーソフトウェアで、 転載には著者への事前連絡が必要です。営利使用はできないそうです。 前と同じく daytime client program の例題をやってみます。フォーム上 への準備は、前に紹介した WSANET の場合と全く同じようにできますので 省略します。 ただし、前に紹介した WSANET とは、インターフェース仕様が異なるため、 少しコードの書き方が違います。 では、いきます。 コマンドボタンコントロールのコード ----------------------------------- Sub Command1_Click () Text2.Text = "" EZWSock1.PortName = "daytime" EZWSock1.SvrHostName = Text1.Text EZWSock1.DataType = 0 EZWSock1.SendEventUse = False EZWSock1.Action = 2 End Sub ----------------------------------- (注)PortName のところは 13 というように、直接ポート番号を書いても よいみたいです。 EZWSock コントロールのコード(1行目は長いので、2行に分けて あります。実際に使う場合は1行にして使って下さい) ----------------------------------- Sub EZWSock1_Receive (SocketId As Integer, WSError As Integer, RecvData As String, SendData As String) Text2.Text = Text2.Text + RecvData End Sub Sub EZWSock1_Close (SocketId As Integer, WSError As Integer) EZWSock1.Action = 0 End Sub ------------------------------------ 若干、書き方が異なりますが、コード部分がいかに少ないか理解できる と思います。同じ機能を持つプログラムを Windows で C でシコシコ書くと、 どうなるか興味ある人はCQ出版1994年9月号の私の記事にプログラム リストが載せてありますので(pp.167-178) 見て下さい。 これでもまだ、Windows まわりが省略されているのです。 嗚呼!*SIGH* -- Hirofumi Fujii keibun@onlnews.kek.jp (*) この記事に掲載したコードについて、作者の方より、次の ご指摘がありました。 ---------------------(ここから引用)---------------------- ところで、紹介文中のコードですが、Closeイベントプロシジャで Action=0 は、 特に入れる必要はありません。 リモートエンドがクローズするとローカルエンドがクローズし、その結果 Closeイベントプロシジャが発生するという動きになりますので。 自らクローズする場合は、コマンドボタンなどのプロシジャに Action=0 を 書くことになりますが。 -----------------------------------------------------------