Link to home
Start Free TrialLog in
Avatar of Deepak Vasudevan
Deepak VasudevanFlag for India

asked on

Classic MSDOS QBasic Play Functionality

Just a question of general information and out of own interest.

In Classic MSDOS based QBasic, QuickBasic versions (not Microsoft Visual Basic on Windows), we had commands like

Beep, sound and Play

Play can also have programmatic abilities like playing musical notes.

I was trying to find out if this feature was available as some library or wrapper fro C# or VB.NET too.

Avatar of JesterToo
JesterToo
Flag of United States of America image

It seems there are no direct equivalents to these old features (I remember using them, too... and even more primitive ones prior to QBasic).  According to the following links and message threads, most people are either using PInvoke to run old code or are using the DirectX SDK to get similar functionality from their .Net apps.

   http://www.dotnet247.com/247reference/msgs/47/238092.aspx
   http://www.dotnet247.com/247reference/msgs/44/221271.aspx

Regards,
Lynn
Avatar of Deepak Vasudevan

ASKER

Lynn,

Yep. Some of the features are not fully available in our framework. But I found one way which may not be fully right but I think would try to address and use the services of QBasic.exe.

(1) Since .NET framework supports embedded assemblies in resource files, can we have QBasic.EXE itself compressed (and possibly encrypted) and stored as an embedded resource file. Our application can runtime unpack this, pass the commandline arguments and invoke the same. I guess, QBasic also supports commandline option of executing BAS files without invoking the GUI. I need to make a research on this and perhaps this weekend.

(2) If we go about the step1, we can utilise the services of QBasic.exe itself. But the following points must be addressed:

       (a) Is QBasic.exe has redistributable license? Since our .NET applications are under Windows 98 or higher and QBasic.exe is pure MSDOS program, we need to think from this perspective also right?
       (b) Again seeing from the perspective of 2a, how about the performance analysis? .NET to COM itself will have a lot of performance analysis to be done and now this involves consuming of a pure MSDOS application.

(3) Any other points that we need to consider.

But I think this would also achieve a bit of feature reuse, at least from the perspective of learning things. What do you say?
ASKER CERTIFIED SOLUTION
Avatar of JesterToo
JesterToo
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Lynn,

Thanks for the pointer.