ericmackrodt wrote on 2022-05-12, 12:18:
I was thinking about playing around Visual Basic 3, but I can't find a way to do network requests from it.
On more recent versions of Windows, it was possible to use Visual Basic to control Internet Explorer via its API (not just via SendKeys or something). I wonder if this is possible in Windows 3.x? Perhaps you might run into the problem that the versions of Internet Explorer that support Windows 3.x don't support modern HTTP standards; I'm sure they don't support TLS for example, I'm not sure what other problems they migh thave.
Does anyone know about a way to do HTTP from Visual Basic 3 or Delphi 1?
If you're open to other languages, I've seen old versions of Python for Windows 3.x, all of which required Win32s, and at least some of which according to my notes required winsock, so presumably they support socket communications. I can see that 1.4, 1.5.2 and 1.6.1 include httplib.py. From my notes, 1.4 required winsock, and I couldn't even get 1.6.1 to install presumably due to a missing dependency (but I was trying to install on a fairly clean install).
Ringding wrote on 2022-05-12, 14:18:
The API documentation for Win16 is actually extremely easy to find – it’s all contained in win31wh.hlp.
For the record this is the "Windows SDK" documentation. It was normally included with development tools in printed (since scanned by Bitsavers) format as well as WinHelp files (as named above) and could also be found on old MSDN CDs. But yes, I imagine that filename would be most helpful in tracking it down!
It’s just that development for the 16 bit segmented memory model is really annoying, and not having a proper system console or shell only makes matters worse.
Yes, those are definitely issues!
Does using Win32s make things a lot more pleasant since you don't need to deal with the segmented memory model, or does it make other things harder?
As for the lack of a console - meaning you can't do printf() and things like that, you have to instead make a GUI - many compilers included a library that gave you something a little bit like a DOS console:
Microsoft C/C++ 7.0, Visual C++ (1.x at least): QuickWin
Borland C++ 3-5: EasyWin
Borland Pascal 7 (not sure if Delphi has it): WinCrt
Watcom C/C++ 11: something about using the /bw option to wcl
Symantec C++, Digital Mars C++: WINC and/or WINIO (the latter was developed by Andrew Shulman and I think source code was in Microsoft Systems Journal)
Another option is Troy's Kernel (tkern) which doesn't give you such a powerful DOS-like console (you can't move the cursor around the screen) but it is like a little cut-down Cygwin in that you get a shell that you can run other tkern programs from.
I don't know how many of those are compatible with Win32s.