# Q-Basic



## Kyrodust (16. Juli 2003)

Hi Leute!

Ich habe eine Frage: Wodurch unterscheidet sich zB. Visual Basic 6.0 durch Q-Basic???

cu LordAlucard


----------



## Fabian H (16. Juli 2003)

QBasic ist der MS-DOS-Vorgänger von Visual Basic.

Visual ist hauptsächlich für die Windows-Programmierung während man mit QBasic eigentlich nur DOS programmieren kann.

QBasic wiederum basiert von der Syntax her auf den BASIC-Sprachen, die damals mit den Atari und Comondore (richtig?)-PCs dabei waren.


Wenn du wissen willst, mit welcher Sprache du anfangen sollst:
Visual Basic.
Die "Hello World"-Programme gehen mit Visual Basic genauso leicht, wie die in QBasic.
Das einzige, was Visual Basic (vermeindlich) kompliziert macht, ist die Unterstüzung der Win-API und und diversen globalen Modellen (OCX, COM, etc.)

Für QBasic kann ich dir http://www.qbasic.de empfehlen.


----------



## Kyrodust (16. Juli 2003)

Danke für die Antwort.

Ich hab dazu gleich noch eine Frage: Braucht man für Q-Basic ein eigenes Programm oder kann man es wie HTML im Editor schreiben??

Die Seite, die du mir geschrieben hast, habe nur mal kurz überflogen.


----------



## tuxracer (17. Juli 2003)

@LordAlucard

QBasic ist ein Interpreter mit integriertem Editor, Du kannst aber jeden als Text gespeicherten QBasic Code im QB öffnen, neu speichern, und dann sofort ausführen.
Umgekehrt ist es aber ohne die geeignete Speichervariante nicht möglich, den in QB geschriebenen Code, mit einem Texteditor zu öffnen. Es gibt da ne Option als ASCII speichern oder so, damit Du den Code mit jedem editor öffnen kannst.

Meiner Meinung nach ist QB4.5 um Welten mächtiger als VB.
Der Befehlsumfang ist überschaubarer, weil es keine Objekte gibt, und es ist im gegensatz zu VB möglich, direkt die Hardware zu Programmieren, sprich direkt den Soundchip, die Graka usw anzusprechen.
Dies wird meistens so erreicht, indem AssemblerCode als Module im Code aufgerufen werden kann.
Falls nun der Einwand kommt, das die Auflösung unter DOS und QB nur 640x480 und 256 Farben sei: stimmt nicht. Es ist möglich unter DOS, sprich QB 1280 x 1024 mit 32 Bit Farbtiefe zu Programmieren.


----------



## Kyrodust (17. Juli 2003)

Und unterscheidet sich Q-Basic sehr von VB, ich meine jetzt vom Codemuster her? Kann ich, wenn ich in VB programmieren kann, auch in Q-Basic programmieren??


----------



## Fabian H (17. Juli 2003)

Die Syntax ist sehr ähnlich, nur der Output gestaltet sich etwas anders.

Such einfach mal nach Visual Basic und QBasic Tutorials und vergleiche sie.


----------



## Kyrodust (18. Juli 2003)

Ok das werde ich machen. Danke für deine Mühe, mir das zu erklären...


----------



## BabyMitSchnully (12. September 2003)

Qbasic ist eine Problemorientierte Sprache und Visual Basic neigt eher zur Ereignisorientierten Programmiersprache. Also man muss sich schon reinarbeiten. Aber glaubs mir, wirklich schwer ist das nicht. Ach ja. QB7.1 ist nur dann mächtiger als VB, wenn man nicht genau weiß, welche Möglichkeiten und DLLs man in VB benutzen kann  Also einige Bibilotheken bieten echt schon einiges.

Gruß
 BabyMitSchnully


----------



## tuxracer (15. September 2003)

@BabyMitSchnully

Glaubs mir QB ist viel mächtiger, weil mit QB kannst Du Hardwarenah Programmieren, mit VB hast Du nicht mal den kleinsten Ansatz einer Chance, Hardwarenahe Programmierung zu machen(Direktzugriff auf Graka, Soundkarte und sogar BIOS. Das geht mit VB ganz sicher nicht.

Zudem ist es meines Wissens auch nicht möglich in VB, optimierten AssemblerCode im Code zu integrieren.

All dies geht und zwar ab QB 4.5. da brauchts nict mal QB 7.1, ich und mein Kollege programmen normalerweise QB 4.5.

nichts gegen VB, für vieles ist es ganz sicher gut, weil Du einiges weniger an funktionalität selber schreiben musst, aber QB ist viel mächtiger.


----------



## BabyMitSchnully (15. September 2003)

*BabyMitSchnully*

*Grins*

In QB kommst du über den out und poke Befehl direkt an die Hardware das ist richtig. In VB funktioniert das eigentlich nicht anders. Dort werden nur Schnittstellen benutzt like API. Das Prinzip ist das gleiche. Du steuerst in VB die Schnittstelle an, und die Schnittstelle dann die Hardware. Aber du hast schon recht. Man ist mit QB schon etwas näher an der Hardware dran. 

Gruß
  BabyMitSchnully


----------



## tuxracer (15. September 2003)

Ich sprech nicht von Peek und Poke, sondern von selbst geschriebenem Assemblercode, welcher direct in den QB Code integriert werden kann, womit ich um welten schnelleren Code schreiben kann)

mit QB kann ich somit wohl noch etwas direkter auf die Hardware zugreifen, denn meines wissens kann ich nicht direkt assemblerCode aus VB aufrufen, sondern immer nur über Librarys indirekt die schnittstellen dies schon gibt ansteuern. Das ist aber für bestimmte Sachen nicht ausreichend, weil mir dann ja das System dazwischenfunken kann, und bestimmte aufrufe möglicherweise unterbindet.


----------



## BabyMitSchnully (16. September 2003)

*Rate mal was du in QB benutzt!*

Du benutzt auch Bibilotheken. QB ist ein Interpreter und eigentlich nicht für Assambler gedacht. Wenn du also Maschinencode benutzten möchtest, dann nimm doch Assambler. Naja. Ich würde eh die Sprache nach Programmierung wählen und nicht nach ihrer Macht.

Wie schon gesagt. Mit QB kommst du nicht an die Windowsbibilotheken ran. Also keine ansprechende GRAFIK oder auch GUI.

Gruß
  BabyMitSchnully


----------



## BabyMitSchnully (16. September 2003)

*Ah sorry*

Entschuldige,

ich habe deinen Beitrag nicht richtig gelesen. Stimmt. Du hast Recht. Darf ich dich fragen, warum du dann nicht einfach nur Assambler benutzt?

Gruß
  BabyMitSchnully


----------



## tuxracer (16. September 2003)

@BabyMitSchnully

weil es trotzdem viel einfacher ist, mit ner Sprache zu Programmieren, welche fast schon ist, wie sprechen, als mit ner Sprache, welche schon nahe dran ist mit 010111 zu denken, aber um bestimmte Einzelprobleme zu lösen, ist es manchmal sogar einfacher es in Assembler zu Programmieren, respektive vor allem viel schneller.
z.B Joystick und Mausabfragen, oder auch nur nen einzelnen Tastendruck, welcher superschnell reagieren muss, und deshalb interruptmässig abgefragt wird(der QB eigene Interrupt ist sch....) .

Verstehst Du nun, weshalb ich zwar QB programme, aber trotzdem Assembler verwende?
Mein nächster Schritt wird dann schon irgendwann mal sein, mich mehr auf C zu konzentrieren, weil diese Sprache schliesslich und endlich gesammthaft gesehen noch etwas besser taugt, aber auch leider noch was komplexer, aber auch da ist es möglich, direkt ASM Code zu integrieren, sogar noch einfacher, als mit QB, um Zeitkritische Dinge zu optimieren.


----------



## BabyMitSchnully (16. September 2003)

*Diese Assabler-Routinen...*

Die interessieren mich. Ich gehe mal davon aus, dass du schon mehrere solcher Routinen in QB eingebunden hast. Mich würde interessieren, welcher Maschinencode wo für ist?. Vielleicht kannst du mir da ja weiter helfen. Es gibt nicht viele Aneckdoten dazu.

Gruß
  BabyMitSchnully


----------

