Freebasic-Einsteigerhandbuch
Total Page:16
File Type:pdf, Size:1020Kb
FreeBASIC-Einsteigerhandbuch Grundlagen der Programmierung in FreeBASIC von S. Markthaler Stand: 6. November 2020 Einleitung 1. Über das Buch Dieses Buch ist für Programmieranfänger gedacht, die sich mit der Sprache FreeBASIC beschäftigen wollen. Es setzt keine Vorkenntnisse über die Computerprogrammierung voraus. Sie sollten jedoch wissen, wie man einen Computer bedient, Programme installiert und startet, Dateien speichert usw. Kenntnisse über die Bedienung der Konsole (auch unter dem Namen Shell, Eingabeaufforderung u. a. bekannt) ist zwar nicht notwendig, zur Bedienung des Compilers aber durchaus nützlich. Das Buch will einen möglichst umfassenden Überblick über die Sprache FreeBASIC geben. Konzepte, die zwar noch existieren, aber als veraltet gelten, werden dabei nur kurz angeschnitten, ebenso Konzepte, die sich zwar über FreeBASIC nutzen lassen, selbst aber nicht zur Sprache gehören. Ich bitte um Verständnis, dass dies den Rahmen des Buches deutlich sprengen würde. Außerdem handelt es sich bei diesem Buch um ein Handbuch und nicht um ein Tutorial. Die einzelnen Elemente sind so aufeinander aufgebaut, dass sie auch ohne Vorkenntnisse nacheinander erarbeitet werden können. Nutzen Sie jedoch ausgiebig die Möglichkeit, die erworbenen Kenntnisse in eigenen Programmen zu vertie- fen! Programmieren lernen Sie nicht aus Büchern, sondern ausschließlich durch eigenes Anwenden. (Dennoch hoffe ich, dass ich mit diesem Buch eine gute Hilfestellung an die Hand geben kann.) Wenn Sie bereits mit Q(uick)BASIC gearbeitet haben, finden Sie in Kapitel 1.3 eine Zusammenstellung der Unterschiede zwischen beiden Sprachen. Sie erfahren dort auch, wie Sie Q(uick)BASIC-Programme für FreeBASIC lauffähig machen können. Wenn Sie noch über keine Programmiererfahrung verfügen, empfiehlt es sich, die Kapitel des Buches in der vorgegebenen Reihenfolge durchzuarbeiten. Manche Inhalte sind möglicherweise beim ersten Lesen noch schwer zu verstehen und erschließen sich erst später im Zusammenhang mit anderen Kapiteln. In diesem Fall ist es auch nicht schlimm, wenn Sie ein Kapitel zunächst nur überfliegen und später bei Bedarf wieder darauf zurückkommen. Wenn Ihnen dagegen einige Konzepte bereits bekannt sind, können Sie auch direkt zu den Kapiteln springen, die Sie interessieren. ii Einleitung 2. In diesem Buch verwendete Konventionen In diesem Buch tauchen verschiedene Elemente wie Variablen, Schlüsselwörter und besondere Textabschnitte auf. Damit Sie sich beim Lesen schnell zurechtfinden, werden diese Elemente kurz vorgestellt. Befehle und Variablen, die im laufenden Text auftauchen, werden in nichtproportionaler Schrift dargestellt. Schlüsselwörter wie PRINT werden in Fettdruck geschrieben, während für andere Elemente wie variablenname die normale Schriftstärke eingesetzt wird. Quelltexte werden vollständig in nichtproportionaler Schrift gesetzt und mit einem Begrenzungsrahmen dargestellt. Auch hier werden Schlüsselwörter fett gedruckt. Der Dateiname des Programmes wird oberhalb des Quelltextes angezeigt. Quelltext 1.1: Hallo Welt ’ Kommentar: Ein gewoehnliches Hallo-Welt-Programm CLS PRINT "Hallo FreeBASIC-Welt!" SLEEP 5 END Es empfiehlt sich, die Programme abzutippen und zu testen. Die meisten Programme sind sehr kurz und können schnell abgetippt werden – auf der anderen Seite werden Sie Codebeispiele, die Sie selbst getippt haben, leichter behalten, und Sie können (und sollen!) mit dem Quelltext experimentieren. Alle fünf Zeilen wird die aktuelle Zeilennummer angezeigt; diese ist selbst nicht Bestandteil des Programmes und soll dementsprechend auch nicht mit abgetippt werden. Nichtsdestotrotz liegen auch alle Quelltexte als ZIP- Datei vor. Die Ausgabe des Programmes wird ebenfalls in nichtproportionaler Schrift aufgelistet und durch eine graue Box umschlossen: Ausgabe Hallo FreeBASIC-Welt! Diese Ausgabe kann mit der eigenen verglichen werden, um zu überprüfen, ob das Programm korrekt eingegeben wurde. Zusätzliche Informationen zum aktuellen Thema werden in Hinweisboxen dargestellt. Hinweis: Diese Boxen enthalten ergänzende Informationen, die mit dem aktuell behan- delten Thema zusammenhängen. iii Einleitung Informationen, die speziell für Umsteiger von QuickBASIC oder für fortgeschrittenere Programmierer gedacht sind, werden durch ein Werkzeug-Bild gekennzeichnet. Hinweis: Hier können z. B. Unterschiede zu QuickBASIC oder zu früheren FreeBASIC- Versionen aufgeführt werden. Für die Box wird dann auch die Überschrift entsprechend angepasst. Ein mögliches Problem wird in einer Warnung angezeigt. Diese wird ähnlich dargestellt wie die Hinweisbox, jedoch mit einem Warnsymbol. Achtung: Warnungen sollten auf jeden Fall beachtet werden, da es sonst im Programm zu Problemen kommen kann! 3. Rechtliches Das Dokument unterliegt der Lizenz Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Deutschland. Sie sind berechtigt, das Werk zu vervielfältigen, verbreiten und öffentlich zugänglich zu machen sowie Abwandlungen und Bearbeitungen des Werkes anzufertigen, sofern dabei • der Name des Autors genannt wird • das Werk nicht für kommerzielle Nutzung verwendet wird und • eine Bearbeitung des Werkes unter Verwendung von Lizenzbedingungen weitergeben wird, die mit denen dieses Lizenzvertrages identisch oder vergleichbar sind. Einen vollständigen Lizenztext erhalten Sie unter http://creativecommons.org/licenses/by-nc-sa/3.0/de/legalcode Die im Buch enthaltenen Quelltexte dürfen, auch zu kommerziellen Zweck, frei verwen- det werden. Bei aufwändigeren Quelltexten freut sich der Autor über eine namentliche Nennung. Quelltexte, die von anderen Autoren für das Buch zur Verfügung gestellt wurden, sind entsprechend gekennzeichnet. Die Urheberrechte liegen beim jeweiligen Autor. iv Einleitung 4. Weitere Informationen Sämtliche längeren Quelltexte stehen auf der Projektseite http://freebasic-portal.de/projekte/99 zum Download zur Verfügung. Dort erhalten Sie auch weitere Informationen. 5. Danksagung Mein Dank gilt allen FreeBASICern, die direkt oder indirekt an der Entstehung des Buches mitgewirkt haben. Einige Inhalte wurden mit mehr oder weniger großen Anpassungen aus der FreeBASIC-Referenz übernommen. Daher geht ein besonderer Dank an alle Mitstreiter, die mit mir zusammen am Entstehen dieser großartigen Refernz mitgewirkt haben. Vielen Dank auch an Tom, der einige gute Verbesserungsvorschläge eingebracht hat. v Inhaltsverzeichnis Einleitung ii 1. Über das Buch................................. ii 2. In diesem Buch verwendete Konventionen.................. iii 3. Rechtliches................................... iv 4. Weitere Informationen.............................v 5. Danksagung...................................v I. Einführung1 1. Eine kurze Einführung in FreeBASIC2 1.1. Was ist eine Programmiersprache?......................2 1.2. Was ist FreeBASIC?..............................3 1.3. Unterschiede zu QuickBASIC.........................3 1.4. Vor- und Nachteile von FreeBASIC......................5 2. Installation und Inbetriebnahme8 2.1. Installation...................................8 2.1.1. Installation unter Windows......................8 2.1.2. Installation unter Linux........................ 10 2.2. Erstes Programm................................ 11 2.3. Problembehebung................................ 12 2.3.1. Probleme beim Start.......................... 12 2.3.2. Probleme beim Compilieren...................... 12 2.4. Wie wird aus meinem Quelltext ein Programm?............... 13 II. Grundkonzepte 15 3. Aufbau eines FreeBASIC-Programmes 16 3.1. Grundaufbau und Ablauf........................... 16 3.2. Kommentare.................................. 17 vi Inhaltsverzeichnis 3.3. Zeilenfortsetzungszeichen........................... 18 3.4. Trennung von Befehlen mit Doppelpunkt.................. 18 4. Bildschirmausgabe 20 4.1. Der PRINT-Befehl............................... 20 4.2. Ausgabe von Variablen............................. 22 4.2.1. Deklaration von Variablen....................... 22 4.2.2. Wertzuweisung............................. 23 4.2.3. Wertvertauschung........................... 24 4.2.4. Ausgabe des Variablenwertes..................... 25 4.3. Formatierung der Ausgabe........................... 26 4.3.1. Direkte Positionierung mit LOCATE ................. 26 4.3.2. Positionierung mit TAB und SPC ................... 27 4.3.3. Cursor-Position ermitteln: POS und CSRLIN ............ 28 4.3.4. Farbige Ausgabe............................ 28 4.3.5. Bildschirm löschen mit CLS ...................... 30 4.4. Fragen zum Kapitel.............................. 30 5. Tastatureingabe 32 5.1. Der INPUT-Befehl............................... 32 5.2. Eingabe einzelner Zeichen........................... 35 5.2.1. INPUT() als Funktion......................... 35 5.2.2. INKEY() ................................ 36 5.3. Fragen zum Kapitel.............................. 37 6. Variablen und Konstanten 38 6.1. Ganzzahlen................................... 38 6.1.1. Verfügbare Ganzzahl-Datentypen................... 38 6.1.2. Alternative Schreibweise: INTEGER<n> ............... 40 6.1.3. Rechnen mit Ganzzahlen....................... 41 6.1.4. Kurzschreibweisen........................... 43 6.2. Gleitkommazahlen............................... 43 6.2.1. Darstellungsbereich von Gleitkommazahlen............. 43 6.2.2. Rechengenauigkeit bei Gleitkommazahlen.............. 45 6.3. Zeichenketten.................................. 47 6.3.1. Arten von Zeichenketten........................ 48 6.3.2. Aneinanderhängen zweier Zeichenketten............... 49 6.4. Wahrheitswerte................................