On Wed, 09 Apr 2008 23:42:45 GMT, wrote:
> On Wed, 9 Apr 2008 21:58:24 +0000 (UTC), "Auric__"
> <not.my.real@[EMAIL PROTECTED]
> wrote:
>
> <snip>
>>PowerBasic is a direct descendant of Borland TurboBasic. PB/DOS can
>>run TB programs unaltered, and *most* QB programs that don't use
>>database-specific keywords without change, but almost without
>>exception, VB programs require *some* degree of rewriting to work
>>under PB/Win. There are some things that PB can do better than VB
>>-- most notably network comms, which are handled exactly like files
>>-- while it's considerably easier to do forms in VB. (PB forms are
>>a pain in the ass.)
>
> Well, I was thinking of eventually adding networking capibilities
> to the OPEN statement in BCET. Something like:
>
> OPEN "<network address or name(:****t)> for TCP as #1
> OPEN "<network address or name(:****t)> for UDP as #1
>
> The first would act like text mode and you could use PRINT & INPUT
> OR LINE INPUT with it.
>
> The second would probably act more like a RANDOM or BINARY file and
> probably use GET & PUT. Haven't quite decided on this yet. Maybe
> better to treat both the same.
My previous statement was slightly off; PB/Win (and probably PB/CC32,
but probably *not* PB/DOS) only has TCP and UDP sup****t built in, and
it's not *exactly* like files, but similar. (I haven't thought about
it in a couple of years.) You do it like this (from the helpfile):
TCP OPEN {****T p& | srvc$} AT host$ AS [#] fNum& [TIMEOUT val&]
TCP OPEN SERVER [ADDR ip&] {****T p& | srvc$} AS [#] fNum& [TIMEOUT _
val&]
UDP OPEN [****T p&] AS [#] fNum& [TIMEOUT val&]
For a FAQ autoposter I wrote a few years ago, the connection line was
something like this:
TCP OPEN "nntp" at server$ as #1
You send with TCP SEND and UDP SEND, receive with TCP RECV and UDP
RECV, close with TCP CLOSE and UDP CLOSE, and there's a few other
related commands.
For other protocols, you'd have to do it like anywhere else -- and it
looks like OCX controls under PB are somewhat more difficult than VB.
> The problem is if you have multiple channels open at the same time
> waiting for a packet to show up, how does one know which channel to
> read from next? Need something like select except that keyword is
> already used. :-)
I don't know. PB/Win handles it by assigning different file handles to
each connection, and I assume that they're wrappers for Winsock calls,
which should (in theory) worry about that sort of thing for you.
--
I don't follow that logic.


|