The Real Adok's Way to QBASIC A new Method Step by Step Kursbersicht: - Folge 1: Erste Schritte. Ich stelle euch die QBasic-Online-Hilfe vor und zeige euch die ersten Befehle. - Folge 2: Variablen - die Grundlagen. - Folge 3: Einfachste Grafik- und Soundeffekte. Hier zeige ich euch, wie man seine Programme mit einfachen Befehlen "versch”nern" kann. Ich beschr„nke mich jedoch vorerst nur auf den Textmodus. - Folge 4: Debugging. QBasic bietet eine Reihe von Methoden, mit denen man sich auf Fehlersuche begeben kann. Ich erkl„re sie in dieser Folge und be- schreibe auch die erweiterten Debugging-Methoden von Quick Basic. - Folge 5: Schleifen und Verzweigungen. Es ist langweilig, wenn jedes Programm immer von Anfang bis Ende l„uft. Mit Hilfe von Verzweigungen kann man je nach Ereignis verschiedene Routinen aufrufen. Schleifen sind auch sehr praktisch, wenn man Programmteile nicht mehrere Male hintereinander schreiben will oder nicht weiá, wie oft ein bestimmter Programmteil ausgefhrt werden muá. - Folge 6: Programmierung von Abenteuerspielen. Nach Abschluá von Lektion 5 kann man bereits Adventures „hnlich "Die Reise zum Mond" selbst erstellen. Diese Folge hat mit dem eigentlichen Programmieren nur wenig zu tun, weil vielmehr das Planen und Umsetzen von Spielen im Vordergrund steht. Ein kurzes Beispiel-Adventure wird gemeinsam erarbeitet. Auch wer fr Spiele nichts brig hat, sollte diese Folge trotzdem lesen, weil wir einige neue Befehle kennen- lernen werden. - Folge 7: Fortgeschrittene Grafikprogrammierung. Hier werden die Bildschirm- modi besprochen und einige Zeichenbefehle vorgstellt, unter anderem das m„chtige 'DRAW'-Kommando. - Folge 8: Datentypen in Basic. Wie oben erw„hnt, stelle ich hier die anderen Datentypen zur Speicherung von Zahlenwerten vor. - Folge 9: Dateiverwaltung. Ich stelle die Befehle vor, mit denen man in Dateien schreiben und Dateien einlesen kann. Auáerdem erkl„re ich, wie man DOS-Kommandos in Basic benutzt. - Folge 10: SUBs und FUNCTIONs. In dieser Folge erkl„re ich den Unterschied zwischen Befehlen und Funktionen und bringe euch bei, selbst neue zu er- stellen. - Folge 11: Funktionen zur Stringverarbeitung, QBasic-Toolbox. Nun zur ersten Folge! Es gibt anscheinend ziemlich viele Leute, die das Programmieren in Basic er- lernen wollen und sehnschtig auf einen Kurs warten. Deshalb entschlieáe ich mich, endlich mit einem Kurs anzufangen. In meinem Kurs behandeln wir den Interpreter QBasic, der bei MS-DOS ab Version 5.0 beiliegt. Falls ihr ein anderes Betriebssystem benutzt, in dem QBasic nicht enthalten ist, k”nnt ihr auch den noch leistungsf„higeren und 99,9%ig kompatiblen Compiler Quick Basic ab Version 4.0 verwenden. (Die weitver- breitete Meinung, Quick Basic sei 100%ig kompatibel, ist nicht ganz richtig. Wenn man CALL ABSOLUTE anwendet, muá man Quick Basic mit dem Parameter /L starten, wobei bei QBasic der Parameter entfallen kann. Dazu aber noch sp„ter.) Ihr k”nnt natrlich auch Power Basic nehmen. Dort funktionieren einige Befehle aber anders. Ich werde auf diese Befehle im Text hinweisen. Nun, laát uns mit dem Kurs beginnen. QBasic l„át sich durch Eingabe von QBASIC am DOS-Prompt starten. Binnen weniger Sekunden ist der Editor geladen. Es erscheint eine graue Dialogbox. Ihr k”nnt jetzt w„hlen, ob ihr zuerst eine Einfhrung in die Bedienung des Editors erhalten, oder euch gleich ins Pro- grammiervergngen strzen wollt. Falls ihr euch noch nicht mit der Bedienung der DOS-Programme EDIT und HELP auskennt, die im Prinzip nichts anderes als abgespeckte Versionen des QBasic- Editors und der QBasic-Online-Hilfe sind, solltet ihr euch fr die Einfhrung in die Bedienung des Editors entscheiden. Ihr w„hlt diesen Menpunkt, indem ihr die Enter-Taste bet„tigt. Pl”tzlich wird der Bildschirm schwarz, und es erscheinen komische weiáe Buch- staben. Dies ist die Online-Hilfe von QBasic. Ihr k”nnt mit den Cursortasten und Page-Up bzw. Page-Down in ihr herumreisen. Laát euch Zeit und lest alles genau von oben bis nach unten durch. Bald werdet ihr auf das Ende der Online-Hilfe stoáen. "DAS WAR SCHON ALLES? Die berhmte Online-Hilfe habe ich mir l„nger vorgstellt!" werdet ihr jetzt rufen. Halt, das war noch nicht alles! Reist mit den Cursortasten wieder zurck zum Anfang der Hilfe. Was erkennt ihr dort? Grne Pfeile, zwischen denen sich ein kurzer Text befindet! Wozu sollen die gut sein? Probiert es einfach aus! Lehnt euch zuerst zurck und entspannt euch. Geht dann mit dem Cursor auf den Text, der zwischen den grnen Pfeilen steht, und hackt einmal auf die Enter- Taste. "Was? Das geht ja noch weiter!" ruft ihr entsetzt. Richtig, denn die Texte zwischen den grnen Pfeilen sind Menpunkte, mit denen ihr in weitere Gebiete der riesigen Online-Hilfe vordringen k”nnt. Jetzt werdet ihr euch sicherlich fragen, wozu das ganze gut sein soll. Ganz einfach: Nehmen wir an, ihr w„ret gerade dabei, ein QBasic-Programm zu er- stellen, und euch f„llt auf einmal nicht mehr ein, wie ein bestimmter Befehl funktioniert. Dann fahrt ihr einfach mit dem Cursor auf diesen Befehl und drckt F1. Damit wird die Online-Hilfe fr diesen Befehl aufgerufen. Ihr k”nnt euch jetzt in Ruhe die Anweisungen durchlesen und mit einem Tastendruck auf Escape wieder zum Editor zurckkehren. Jetzt fragt ihr euch sicherlich, wozu ein QBasic-Kurs denn gut sein sollte, denn man k”nnte theoretisch das Programmieren auch nur mit der Online-Hilfe erlernen. Das stimmt! Einer meiner Freunde erlernte QBasic auch nur mit der Online-Hilfe und kann schon relativ viel programmieren. Dennoch wrde ich von dieser Methode vorerst abraten, weil die Befehle ziemlich kompliziert be- schrieben sind, weshalb man schon Grundlagen in der QBasic-Programmierung haben sollte. Wenn ihr nun mit dem Schm”kern in der Online-Hilfe fertig seid und euch voller sch”pferischer Energie auf das Programmieren freut, drckt die Escape-Taste. Schwuppdiwupp ist der schwarze Bildschirm verschwunden. Stattdessen l„chelt euch eine freundliche, blaue Oberfl„che an. Sie wird euch beim Programmieren immer begleiten. Ihr l„uft schon jetzt langsam die Gefahr, euch zu verlieben. Sie wartet ergeben mit einer Eingabeaufforderung auf euch. Ihr seid am Zug. Fangen wir an, ein erstes Programm zu schreiben. Ihr k”nnt ein Programm genauso wie einen Text eingeben. QBasic ist n„mlich nichts anderes als ein erweiteter MS-DOS-Texteditor. Tippt nun genauso, wie ihr mit dem Editor einen Brief schreibt, folgendes Programm ab. Der Name des Programms lautet KURS0001. CLS PRINT "Hallo, Gebieter! Wie soll ich dich ansprechen?" PRINT "Gib deinen Namen ein!" LINE INPUT name$ PRINT "Hallo, "; PRINT name$; PRINT ", ich will all deine Wnsche erfllen." PRINT "Ich will dir jetzt zeigen, mit welchen Befehlen du mich" PRINT "beherrschen kannst." Wenn ihr dieses Programm fertig abgetippt habt, k”nnt ihr es durch das Drcken der Taste F5 starten. Zuerst wird der Bildschirm gel”scht. Danach erscheint folgender Text: 'Hallo, Gebieter! Wie soll ich dich ansprechen? Gib deinen Namen ein!' Jetzt seid ihr an der Reihe. Gebt entweder euren Namen, das Pseudo oder was auch immer ein. Mit Enter schlieát ihr die Eingabe wieder ab. Nun erscheint ein weiterer Text: 'Ich will dir jetzt zeigen, mit welchen Befehlen du mich beherrschen kannst.' Danach erscheint die Meldung "Beliebige Taste drcken, um fortzusetzen", und nach einem Tastendruck wird das Programm beendet. Das war unser erstes Programm, das wir erstellt haben! So einfach geht das. Super, nicht? Aber wie funktioniert das Programm eigentlich? Die erste Zeile des Programms lautet CLS. CLS ist ein Befehl, welcher QBasic befiehlt, den Bildschirm schwarz zu machen, also den vorherigen Inhalt zu l”schen. Wenn ein Programm gestartet wird und QBasic auf einen Befehl trifft, bersetzt es ihn in eine bestimmte Reihe von Impulsen, die der Computer ver- steht. Die zweite Zeile beginnt mit PRINT. Dies ist ebenfalls ein Befehl. Im Gegen- satz zu CLS hat PRINT mehrere Funktionen, weil er mit Parametern aufgerufen werden kann. "Hallo, Gebieter! Wie soll ich dich ansprechen?" ist zum Beispiel ein solcher Parameter. PRINT dient dazu, Zeichenketten oder Zahlen auf dem Bildschirm auszugeben. In unserem Beispiel gibt PRINT folgendes aus: 'Hallo, Gebieter! Wie soll ich dich ansprechen?' Dies ist eine Zeichenkette. Zeichenketten mssen in QBasic immer in An- fhrungszeichen eingeschlossen sein. Ansonsten wrde der Interpreter diesen Text als Variablen interpretieren. Die dritte Zeile verstehen wir jetzt schon. Kommen wir also zur vierten Zeile. Hier finden wir den Befehl LINE INPUT. Was ist das schon wieder? Mit LINE INPUT lassen sich Zeichenketten eingeben. In diesem Fall fragte der Computer in der dritten Zeile nach eurem Namen. Der Satz bleibt auf dem Bildschirm stehen, und mit LINE INPUT erwartet der Computer die Eingabe eures Namens. Als Parameter von LINE INPUT steht im Beispielprogramm name$. Das Dollar- zeichen bezeichnet man als "String". Man erh„lt es, indem man gleichzeitig Shift und 4 bet„tigt. Das Stringzeichen gibt an, daá name$ ein Platzhalter fr Zeichenkettenvariablen ist. Nachdem man den gewnschten Namen eingegeben und Enter gedrckt hat, wird dieser Name im Platzhalter name$ abgespeichert. Jetzt k”nnen alle anderen Be- fehle auf diesen ausgefllten Platzhalter zurckgreifen. Man nennt einen solchen Platzhalter eine Stringvariable. Wir werden sp„ter noch andere Variablen kennenlernen. Es klingt am Anfang ein biáchen kompliziert, ist aber sehr einfach. Die fnfte Zeile ist wieder ein PRINT-Befehl. Nach dem Parameter "Hallo, " steht allerdings ein Punktstrich (Semikolon). Wie kluge Leser sicherlich gemerkt haben, dient er dazu, daá der n„chste Text oder die n„chste Zahl direkt neben diesem erscheint. In unserem Programm wird zuerst die Programm- zeile fnf ausgefhrt und der Text 'Hallo, ' auf dem Bildschirm ausgegeben. Zeile sechs ist wieder eine Bildschirmausgabe, und weil am Ende der Zeile fnf ein Punktstrich stand, wird sie direkt neben dem Text der Zeile fnf auf dem Bildschirm geschrieben. Die Zeile sechs beinhaltet noch eine Besonderheit: Als Parameter wird diesmal kein in Anfhrungszeichen eingeschlossener Text, sondern die Stringvariable name$ angegeben. Das bedeutet, daá kein vorgegebener Text, sondern der Inhalt der Variablen ausgegeben wird. Neben name$ steht wieder ein Punktstrich, wodurch, wie wir bereits oben er- w„hnt haben, der Zeilenvorschub unterdrckt und der Text, der in der siebten Programmzeile angegeben ist, in der selben Zeile ausgegeben wird. Am Ende der siebten Programmzeile steht diesmal kein Punktstrich, wodurch der Text der achten Programmzeile wieder in einer eigenen Zeile ausgegeben wird. Fertig! Das war das ganze Programm. Jetzt k”nnen wir uns wieder entspannt zu- rcklehnen. Ich m”chte noch einige Tips zum weiteren Verlauf dieses Kurses geben. Man sollte die Beispielprogramme immer ausdrucken und das Listing vor den Augen haben. Alle Anweisungen in diesem Text beziehen sich auf die Listings. Die Beispielprogramme kann man mit dem Menpunkt Datei-Drucken drucken. Die abgetippten Programme kann man mit dem Menpunkt Datei-Speichern ab- speichern. Wenn ihr das Programm zum ersten Mal abspeichert, werdet ihr nach dem Dateinamen gefragt, unter dem es gespeichert werden soll. Fr dieses Pro- gramm schreibt ihr KURS0001. QBasic erg„nzt automatisch die Dateierweiterung BAS. Der komplette Name wird nach dem Abspeichern KURS0001.BAS heiáen. Nach dem Ende einer jeweiligen Lektion des Kurses solltet ihr mit den er- lernten Befehlen experimentieren. Dazu gebe ich "Hausaufgaben", die ihr l”sen sollt. Die richtigen Ergebnisse erscheinen im n„chsten Teil des Kurses. Aufgabe 1: Entwerft ein Programm, das zuerst den Benutzer nach seinem Namen und danach nach seinem Pseudo fragt. Anschlieáend soll der Computer unter folgenden Text auf dem Bildschirm ausgeben: "Guten Tag, ! Dein Pseudo lautet . Willkommen im Club der QBasic-Programmierer!" steht dabei fr die Variable, in der der Name, und fr die Variable, in der das Pseudo abgespeichert ist. In meinem konkreten Fall wrde der Satz lauten: "Guten Tag, Claus-Dieter Volko! Dein Pseudo lautet The Real Adok. Willkommen im Club der QBasic-Programmierer!" Beachtet, daá ihr abweichend vom Programmbeispiel KURS0001 diesmal zwei Stringvariablen verwenden mát! Aufgabe 2: Nun sollt ihr ein Programm schreiben, das den Namen des Benutzers und den seiner Freundin einliest. Anschlieáend soll es einen lustigen Satz ber die beiden auf dem Bildschirm ausgeben, etwa so: ": 'Wann wirst du mich endlich heiraten, ?'" Aufgabe 3: Jetzt etwas fr die Fortgeschrittenen. Es gibt einen Befehl namens LPRINT, mit dem man Texte auf den Drucker ausgeben kann. Er funktioniert an- sonsten so wie PRINT. Entwerft ein Programm, das zun„chst eine oder mehrere Zeichenketten vom Benutzer eingeben l„át und sie anschlieáend zusammen mit einem anderen Text auf dem Drucker ausgibt. Falls ihr Probleme mit LPRINT haben solltet, schaut in der Online-Hilfe nach! Ich hoffe, ihr habt viel Spaá an dieser Lektion gehabt. Berichtet von euren Erfahrungen oder Problemen in diesem Diskmag, im PC-Heimwerker, oder wendet euch direkt an Redaktionsbro 2! Dieser QBasic-Kurs wurde created by The Real Adok!