Frage deutsch
~~~~~~~~~~~~~~
Was ist der Unterschied zwischen QuickBasic und VBDOS?
 

Question English
~~~~~~~~~~~~~~
What are the differences between QuickBasic and VBDOS?
 

Antwort 1
~~~~~~~~
[ von Thomas Antoni, 24.5.2002 - 23.2.2006 ]
 
*** Übersicht
VisualBASIC ist die objektorientierte, ereignisgesteuerte BASIC- Variante von Microsoft. Die wenigsten QBasic-Programmierer wissen, dass es mal eine sehr leistungsfähige DOS-Version von VisualBASIC gegeben hat, die oft auch "VBDOS" oder "VB-DOS" genannt wird. VBDOS 1.0 entstand sogar erst nach VB für Windows ("VBWIN"); VBDOS ist also keineswegs der Vorläufer von VBWIN. Dieser Sachverhalt wird im Internet und in der Literartur oft falsch dargestellt. VBDOS 1.0 wurde ca. 1992 nahezu zeitgleich mit VBWIN 2.0 aus VBWIN 1.0 abgeleitet. Damals glaubte Microsoft offensichtlich an eine lange Zukunft für MS-DOS! VBDOS war eine recht kurzlebige Entwicklungsumgebung. Eine Version 2.0 erschien nie. Sehr bald gab es nur noch VisualBASIC-Versionen für Windows, die äußerst erfolgreich waren.
 
VBDOS ist die Abkürzung für "VisualBASIC für DOS". VBDOS bietet zahlreiche vorprogrammierte Steuerelemente wie Textfelder, Buttons, Datei-, Datenträger- und Verzeichnislisten u.a.Mit VBDOS kann man bequem DOS-Anwendungen mit Mausbedienung, Menüs, Messageboxen, Buttons usw. entwickeln, ohne die Routinen hierfür erst eigens schreiben zu müssen. Die Gestaltung von Bedienungsoberflächen erfolgt visuell mit einem Formulardesigner. Die Umstellung von Q(uick)Basic auf VBDOS ist kinderleicht und es gibt viele QuickBasic-Bibliotheken auch in einer Version für VBDOS, z.B. SVGAQB.
 
*** Laufen Q(uick)Basic-Programme auch unter VB-DOS?
Alle QBasic- QuickBasic Programme sind 100% VBDOS kompatibel, können also problemlos von VBDOS interpretiert und kompiliert werden.
Zu beachten hierbei ist: nur Folgendes:
 
Die QuickLibrary "qb.qlb" heißt bei VB-DOS "vbdos.qlb"
Die Include-Datei "qb.bi" heißt bei VB-DOS "vbdos.bi"
Einige wenige QB-Programme benutzen Variablennamen, die in VB-DOS reservierte Schlüsselwörter sind. Diese Variablen muss man umbenennen, um ein solches Programm unter VB-DOS ablauffähig zu machen.
Einige der bei QuickBASIC 7.1/PDS mitgelieferten Toolboxen fehlen bei VB-DOS (ist für Hobby-Programmierer wenig relevant)
 
 
*** Wie Alles begann ... Kurzübersicht der VisualBASIC-Versionen für Windows 3.x und DOS
Im Juli 1991 erschien die allererste VisualBASIC Version 1.0 für Windows. Diese Version machte noch einen etwas unausgereiften Eindruck.
Mitte 1992 brachte Microsoft das aus der Windows- Version abgeleitete VisualBASIC 1.0 für DOS heraus, weil man annahm, dass dem Betriebssystem DOS noch eine lange Zukunft bevorstehen würde. Das entbehrt nicht einer gewissen Komik, weil Microsoft bereits 1995 nichts mehr von DOS wissen wollte und es fast totschwieg! VBDOS war der direkte Nachfolger von QuickBASIC 7.1 / PDS. Die oft zu lesende Aussage, dass VBDOS der Vorläufer von VBWIN war, stimmt nicht, da es ja vorher schon VBWIN 1.0 gab. VBDOS gab es in einer Standard und in einer Professional Version. Die Standard Version war sogar mit einer deutschen Benutzeroberfläche lieferbar. Bei der Professional Version dachte Microsoft wohl, dass die Zielgruppe der Profi-Programmierer mit Englisch keinerlei Probleme hat. Neuere Versionen von VBDOS über V1.0 hinaus waren zwar geplant, sind aber nie erschienen.
Ende 1992 kam VisualBASIC 2.0 für Windows heraus, das schon sehr ausgereift und komplett war.
Im Juni 1993 erschien das lange Zeit äußerst beliebte VisualBASIC 3.0 für Windows. Diese Version hatte eine moderne, runderneuerte Bedienungsoberfläche und bot Unterstützung für OLE und Datenbankzugriffe. Die Standard Version von VB 3.0 wurde auf 4 Disketten, die Professional Version auf 9 Disketten ausgeliefert.
Anfang 1996 gab es das erste 32-Bit VisualBASIC 4.0 für Windows 95. Diese Version war bereits ein echter Speicherfresser: Die Professional Version benötigte ca. 50 MB Platz auf der Festplatte. Unterschiede zwischen der Standard und Professional Edition von VBDOS Die Professional Edition hat gegenüber der Standard Version folgende Zusatzfunktionen Toolbox für Präsentationsgrafiken Toolbox für Tabellenkalkulationen Toolbox für Matritzenberechnungen Maus-Toolbox Direkte Unterstützung von ISAM-Datenbanken (ISAM = index- sequential access method) Erstellung von Programmen in Overlay-Technik (um den Speicher besser auszunutzen) Erstellung eigener Steuerelemente Erstellung anwenderspezifischer Online-Hilfen Erzeugung eigener Installationsprogramme. Man kann sagen, dass VBDOS-Standard der Nachfolger von QuickBASIC 4.5 und VBDOS-Professional der Nachfolger von QuickBASIC 7.1/PDS ist.
 
*** Spracherweiterungen von VBDOS gegenüber QuickBASIC 4.5 und 7.1/PDS
Über die neuen Zusatzfunktionen zur Erstellung grafischer Oberflächen hinaus hat VBDOS auch noch einige zusätzliche Befehle mit auf den Weg bekommen, die von vielen QuickBASIC- Programmierern bis dahin schmerzlich vermisst wurden.: Felder können per REDIM vergrößert werden, ohne dass sie ihren Inhalt verlieren. In anwenderdefinierte Felder TYPE...END TYPE sind wiederum Felder integrierbar. Der Metabefehl OPTION EXPLICIT erzwingt Variablendeklarationen mit DIM, wie sie bei PASCAL und C schon immer üblich sind. Alle BASIC-typischen "impliziten" Variablendeklarationen werden dann abgewiesen. Dieses beseitigt eines der wichtigsten Argumente gegen die Programmiersprache BASIC und hilft, Fehler zu vermeiden. ERROR$ liefert zu einem aufgetretenen Fehler die dazugehörige Fehlermeldung im Klartext.
 
Sie sehen also. Es gibt für QBasic- und QuickBASIC- Programmierer eigentlich keinen Grund, nicht auf VBDOS umzusteigen, selbst wenn sie weiterhin "prozedural" programmieren und die neuen ereignisorientierten Funktionen nicht nutzen wollen. Der Umstieg wird dadurch erleichtert, das VisualBASIC für DOS nahezu 100%-ig abwärtskompatibel zu QuickBASIC 4.5/7.1 ist
 
*** Unterschiede zwischen VisualBASIC für DOS und für Windows
Sowohl VBDOS als auch VBWIN ermöglichen eine schnelle, bequeme Entwicklung von Anwenderprogrammen, die eine komfortable, mausgesteuerte grafische Bedienoberfläche haben. Bedienungselemente wie Dialogboxen, Click- Buttons und Dateiauswahl- Listen lassen sich in beiden Programmierumgebungen blitzschnell über einen Formulardesigner zusammenklicken. VBDOS besitzt folgende Unterschiede gegenüber der Windows- Version:
Mit VBDOS kann man sowohl objektorientiert als auch "prozedural" im gewohnten QuickBASIC-Stil programmieren. VBDOS enthält quasi als Untermenge auch den QuickBASIC 4.5/7.1-Compiler. Vorhandene GW-BASIC-, QBasic- und QuickBASIC- Quellspracheprogramme sind daher problemlos auch unter VBDOS ablauffähig. VBWIN ist dagegen rein objektorientiert. Es kennt nur Ereignisprozeduren und kein eigentliches Hauptprogramm.
Mit VBDOS lassen sich eigenständige kompakte EXE-Programme erzeugen mit einer Größe ab 160 KB (!), die wahlweise auch ohne Laufzeitmodul (DLL) ablaufen können. VBWIN benötigt immer ein Laufzeitmodul, das bei neueren VB-Versionen leider monströse Ausmaße von mehreren MByte annimmt.
Die mit dem Formulardesigner von VBDOS erzeugten Bedienungselemente verwenden keine echte Grafik, sondern eine Pseudografik, die aus ASCII-Zeichen besteht und auf den Text-Bildschirmmodus von 25 Zeilen x 80 Spalten beschränkt ist. Grafikmodi sind zwar wie bei QuickBASIC möglich, jedoch muss dazu die visuelle Anwenderoberfläche verlassen werden.
VBWIN unterstützt im Gegensatz zu VBDOS den hardwareunabhängigen Zugriff auf Grafikkarten, Drucker usw. sowie über 800 API-Aufrufe, das sind bereits durch das Betriebssystem bereitgestellte oft benötigte Programmfunktionen.
Mit der Multimedia-Programmierung tut man sich bei VBWIN wesenlich leichter, da die GDI-Grafikbibliothek die hardwareunabhängige Ausgabe von Grafiken auf Bildschirm, Drucker usw. ermöglicht (GDI = Graphical Device Interface). Außerdem wird das Abspielen von Multimedia- Effekten wie Sound, Video und Audio-CDs dank der MCI-Schnittstelle zum Kinderspiel (MCI = Media Control Interface).
Nur die Windows- Version von VisualBASIC bietet eine komfortable Programmierschnittstelle zu ODBC-Datenbanken wie MS Access- Datenbanken. Dabei wird die Datenbank- Abfragesprache SQL direkt unterstützt.
 
Ansonsten sind die Unterschiede zwischen VBDOS und VBWIN 3.0 gar nicht mal so groß. Daher lassen sich Quellsprache- Programme oft ohne große Probleme zwischen beiden Versionen portieren.
 

Antwort 2
~~~~~~~~
[ Thomas Antoni, unter Verwendung von Material aus www.vb-magazin.de, 5.11.2003 ]
 
*** Die Geschichte von VB-DOS
Viele BASIC-Programmierer glauben, dass VBDOS der Vorgänger von Visual BASIC für Windows ist. Das Gegenteil ist aber der Fall: Die erste VisualBASIC-Version war V1.0 für Windows und kam etwa zur gleichen Zeit heraus wie die erste brauchbare 16-Bit-Windows-Version 3.0, also ca. 1991. 1992 folgte dann VB-Win 2.0.
Visual Basic wurde Version für Version besser, allerdings hatte Microsoft nach VB-Win 2.0 eine Idee: Warum muss VB nur für Windows sein? Unter DOS ist es ja auch nicht leicht, mit C++ zu programmieren. So entstand 1992 eine ganz neue Variante von Visual Basic: Visual Basic for DOS 1.0 (VBDOS). Mit VBDOS hatte man die gleichen Möglichkeiten wie mit VB unter Windows, der Unterschied war nur, das die Fenster nicht grafisch, sondern mittels den ASCII-Zeichen aufgebaut waren. Microsoft hat leider das Produkt nach VB-Win 3.0 nicht mehr verkauft und es gibt auch keine Demo. Da dieses Produkt allerdings immer noch den Rechten nach Microsoft gehört, wäre es illegal VBDOS zum Herunterladen auf einer Webseite anzubieten. Wenn Du das Produkt angeboten bekommst, z.B. bei eBay, dann kauf es, denn es ist sehr gut für DOS-Anwendungen geeignet. Allerdings ist VB-DOS nur mit englischer Bedienoberfläche verfügbar.
Es gab 2 Versionen von VBDOS: "VBDOS Standard" und "VBDOS Professional". Die Installationspakete sind mit ca. 4 MB bzw 8 MB relativ groß, neben dem Rechtsproblem eine weiterer Grund dafür, dass man sie höchst selten im Internet als Download findet. VBDOS Standard ist quasi der Nachfolger von QuickBASIC 4.5 und VBDOS Professional derjenige von 7.1/PDS.
 
*** Erweiterungen gegenüber QuickBASIC 4.5/7.1
VBDOS wurde unter anderem. in folgender Beziehung gegenüber QuickBasic erweitert:
Möglichkeit der ereignisgesteuerten Programmierung (nahe an der -> "objektorientierten programmierung" )
Bequeme Erzeugung von Windows-ähnlichen Bedienoberflächen mit Checkboxen, Dialogboxen, Auswahlboxen, Radiobuttons usw. mit "Pseudografik"-Elementen, die nur aus ASCII-Zeichen bestehen. Dazu gibt es einen komfortablen Formulardesigner
Felder können per REDIM vergrößert werden, ohne dass sie ihren Inhalt verlieren
Felder in anwenderdefinierte Felder TYPE...END TYPE integrierbar
Die Option EXPLICIT erzwingt Variablendeklarationen mit DIM, wie sie bei PASCAL und C schon immer üblich sind. Dies hilft, Fehler zu vermeiden.
 
 
Answer 3
~~~~~~~~
[ By Thomas Antoni, Jan. 21, 2006 - March 15, 2006 ]
 
*** What's the difference between VB/Win & VBDOS?
VB/Win gives you the capability of creating applications which run in Windows, while VBDOS gives you the ability to develop apps which do not need Windows to run and run in text mode using the extended character set to give the user the feeling of a graphical environment, while still remaining in a text mode.
VB/Win applications are compiled into a pseudo-code (p-code) file with an "EXE" extension. When run, the p-code file accesses a run-time Dynamic Linked Library (DLL) (VBRUNx00.DLL) which interprets the p-code into Windows(tm) Aplication Programming Interface (API) instructions. VB/Win cannot create a stand-alone application (i.e. an executable which does not need the VBRUNx00.DLL.). Currently, applications developed using a particular version of VB/Win requires the same version of the run-time DLL. Therefore, a VB application developed in VB/Win version 3.0 will only work if the run-time DLL VBRUN300.DLL is installed in either the WINDOWS or SYSTEM directories. VBDOS can compile programs to standalone .exe files in two different ways (user option). It can compile programs to use a RUNTIME file (like a DLL) or can be compiled as a standalone .exe file.
VBDOS can create both types of applications. Those that require a run-time module, or those that are a stand-alone .exe file.
 
*** VBDOS Standard vs. Pro Version
What are the features of the Professional vs. the Standard editions of the VB products?
Both version of VBDOS load and run all existing QBasic and QuickBasic programs. With little or no effort, your QBasic and QuickBasic programs can use the compiler in Visual Basic for MSDOS to take advantage of optimized code generation and greater string capacity. The professional edition has the capability of loading and running Basic PDS programs designed for MS-DOS.
 
Both editions of VBDOS allow you to incrementally add forms, dialog boxes, and controls to existing applications without rewriting them.
 
The Professional editions of VBDOS includes 286 and 386/486 specific code generation in its native code compiler. Also included is a high-speed alternate floating-point math library. The MOVE Overlay technology found in MS C/C++ 7.0 allows compiled programs to be up to 16MB! Also included is the MS Source Profiler which allows you to fine tune your applications, stub files which allow you to remove run-time functionality your program does not use. The Professional edition also includes a powerful ISAM (Indexed Sequential Access Method) Database engine for developing database applications which can use database files up to 128MB.
 
Here are the additional features you will find in the professional edition of Visual Basic for MS-DOS:
 
Feature Notes
-----------------------------------------------------
Help toolkit create on-line help
Setup toolkit create distribution disks
CodeView debugger version 4.02
Financial toolkit functions from Microsoft Excel
Present. graphics kit make charts and graphs
Matrix math toolkit matrix operations
Create custom controls requires MS MASM
Create custom rtms Put your modules into RTM.
Microsoft mouse driver version 8.2a
(NOTE: RTM = Runtime Module)
 
 

 
 

[ The QBasic-MonsterFAQ --- Start Page: www.antonis.de/faq ]