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 ]