FreeBASIC Einsteigerhandbuch
Inhaltsverzeichnis

  1. Einleitung
    1. 1 Über das Buch
    2. 2 In diesem Buch verwendete Konventionen
    3. 3 Rechtliches
    4. 4 Weitere Informationen
    5. 5 Danksagung

TEIL 1: Einführung

  1. 1. Eine kurze Einführung in FreeBASIC
    1. 1.1 Was ist eine Programmiersprache?
    2. 1.2 Was ist FreeBASIC?
    3. 1.3 Unterschiede zu QuickBASIC
    4. 1.4 Vor- und Nachteile von FreeBASIC
  2. 2. Installation und Inbetriebnahme
    1. 2.1 Installation
      1. 2.1.1 Installation unter Windows
        1. 2.1.1.1 Komplettpaket
        2. 2.1.1.2 Getrennte Installation
      2. 2.1.2 Installation unter Linux
    2. 2.2 Erstes Programm
    3. 2.3 Problembehebung
      1. 2.3.1 Probleme beim Start
      2. 2.3.2 Probleme beim Compilieren
    4. 2.4 Wie wird aus meinem Quelltext ein Programm?

TEIL 2: Grundkonzepte

  1. 3. Aufbau eines FreeBASIC-Programms
    1. 3.1 Grundaufbau und Ablauf
    2. 3.2 Kommentare
    3. 3.3 Zeilenfortsetzungszeichen
    4. 3.4 Trennung von Befehlen mit Doppelpunkt
  2. 4. Bildschirmausgabe
    1. 4.1 Der PRINT-Befehl
    2. 4.2 Ausgabe von Variablen
    3. 4.3 Formatierung der Ausgabe
      1. 4.3.1 Direkte Positionierung mit LOCATE
      2. 4.3.2 Positionierung mit TAB und SPC
      3. 4.3.3 Farbige Ausgabe
      4. 4.3.4 Bildschirm löschen mit CLS
    4. 4.4 Fragen zum Kapitel
  3. 5. Tastatureingabe
    1. 5.1 Der INPUT-Befehl
    2. 5.2 Eingabe einzelner Zeichen
      1. 5.2.1 INPUT() als Funktion
      2. 5.2.2 INKEY()
    3. 5.3 Fragen zum Kapitel
  4. 6. Variablen und Konstanten
    1. 6.1 Ganzzahlen
      1. 6.1.1 Verfügbare Ganzzahl-Datentypen
      2. 6.1.2 Rechnen mit Ganzzahlen
      3. 6.1.3 Kurzschreibweisen
    2. 6.2 Gleitkommazahlen
      1. 6.2.1 Darstellungsbereich von Gleitkommazahlen
      2. 6.2.2 Rechengenauigkeit bei Gleitkommazahlen
    3. 6.3 Zeichenketten
      1. 6.3.1 Arten von Zeichenketten
      2. 6.3.2 Aneinanderhängen zweier Zeichenketten
    4. 6.4 Konstanten
    5. 6.5 Weitere Speicherstrukturen
    6. 6.6 Fragen zum Kapitel
  5. 7. Benutzerdefinierte Datentypen (UDTs)
    1. 7.1 Deklaration
    2. 7.2 Recordzugriff mit WITH
    3. 7.3 Speicherverwaltung
    4. 7.4 Bitfelder
    5. 7.5 UNIONs
    6. 7.6 Fragen zum Kapitel
  6. 8. Datenfelder (Arrays)
    1. 8.1 Deklaration und Zugriff
    2. 8.2 Mehrdimensionale Arrays
    3. 8.3 Dynamische Arrays
      1. 8.3.1 Deklaration und Redimensionierung
      2. 8.3.2 Werte-Erhalt beim Redimensionieren
    4. 8.4 Weitere Befehle
      1. 8.4.1 Grenzen ermitteln: LBOUND und UBOUND
      2. 8.4.2 Implizite Grenzen
      3. 8.4.3 Löschen mit ERASE
    5. 8.5 Fragen zum Kapitel
  7. 9. Pointer (Zeiger)
    1. 9.1 Speicheradresse ermitteln
    2. 9.2 Pointer deklarieren
    3. 9.3 Speicherverwaltung bei Arrays
  8. 10. Bedingungen
    1. 10.1 Einfache Auswahl: IF ... THEN
      1. 10.1.1 Einzeilige Bedingungen
      2. 10.1.2 Mehrzeilige Bedingungen (IF-Block)
      3. 10.1.3 Alternativauswahl
    2. 10.2 Bedingungsstrukturen
      1. 10.2.1 Vergleiche
      2. 10.2.2 Logische Operatoren
      3. 10.2.3 Das Binärsystem
      4. 10.2.4 AND und OR als Bit-Operatoren
      5. 10.2.5 ANDALSO und ORELSE
      6. 10.2.6 Weitere Bit-Operatoren: XOR, EQV, IMP und NOT
    3. 10.3 Mehrfachauswahl: SELECT CASE
      1. 10.3.1 Grundaufbau
      2. 10.3.2 Erweiterte Möglichkeiten
      3. 10.3.3 SELECT CASE AS CONST
    4. 10.4 Bedingungsfunktion: IIF
    5. 10.5 Welche Möglichkeit ist die beste?
    6. 10.6 Fragen zum Kapitel
  9. 11. Schleifen und Kontrollanweisungen
    1. 11.1 DO ... LOOP
    2. 11.2 WHILE ... WEND
    3. 11.3 FOR ... NEXT
      1. 11.3.1 Einfache FOR-Schleife
      2. 11.3.2 FOR-Schleife mit angegebener Schrittweite
      3. 11.3.3 FOR i AS datentyp
      4. 11.3.4 Übersprungene Schleifen
      5. 11.3.5 Fallstricke
        1. 11.3.5.1 Gleitkomma-Schrittweite
        2. 11.3.5.2 Überschreitung des Wertebereichs
    4. 11.4 Kontrollanweisungen
      1. 11.4.1 Fortfahren mit CONTINUE
      2. 11.4.2 Vorzeitiges Verlassen mit EXIT
      3. 11.4.3 Kontrollstrukturen in verschachtelten Blöcken
    5. 11.5 Fragen zum Kapitel
  10. 12. Prozeduren und Funktionen
    1. 12.1 Einfache Prozeduren
    2. 12.2 Verwaltung von Variablen
      1. 12.2.1 Parameterübergabe
      2. 12.2.2 Globale Variablen
      3. 12.2.3 Statische Variablen
    3. 12.3 Unterprogramme bekannt machen
      1. 12.3.1 Die Deklarationszeile
      2. 12.3.2 Optionale Parameter
      3. 12.3.3 OVERLOAD
    4. 12.4 Funktionen
    5. 12.5 Weitere Eigenschaften der Parameter
      1. 12.5.1 Übergabe von Arrays
      2. 12.5.2 BYREF und BYVAL
      3. 12.5.3 Parameterübergabe AS CONST
      4. 12.5.4 Variable Parameterlisten
    6. 12.6 Fragen zum Kapitel

TEIL 3: Datenverarbeitung

  1. 13. Datentypen umwandeln
    1. 13.1 Allgemeine Umwandlung: CAST
    2. 13.2 Umwandlung in einen String
    3. 13.3 Implizite Umwandlung
    4. 13.4 ASCII-Code
      1. 13.4.1 Ursprung und Bedeutung des ASCII-Codes
      2. 13.4.2 ASC und CHR
      3. 13.4.3 Binäre Kopie erstellen
    5. 13.5 Fragen zum Kapitel
  2. 14. Verarbeitung von Zahlen
    1. 14.1 Mathematische Funktionen
      1. 14.1.1 Quadratwurzel, Absolutbetrag und Vorzeichen
      2. 14.1.2 Winkelfunktionen
      3. 14.1.3 Exponentialfunktion und Logarithmus
      4. 14.1.4 Rundung
      5. 14.1.5 Modulo-Berechnung
      6. 14.1.6 Zufallszahlen
    2. 14.2 Zahlensysteme
      1. 14.2.1 Darstellung in anderen Systemen
      2. 14.2.2 BIN, OCT und HEX
    3. 14.3 Bit-Manipulationen
      1. 14.3.1 Manipulation über Bitoperatoren
      2. 14.3.2 Einzelne Bit lesen und setzen
      3. 14.3.3 Vergleich
      4. 14.3.4 LOBYTE und seine Freunde
    4. 14.4 Fragen zum Kapitel
  3. 15. Stringmanipulation
    1. 15.1 Speicherverwaltung
      1. 15.1.1 Verwaltung eines ZSTRING
      2. 15.1.2 Verwaltung eines WSTRING
      3. 15.1.3 Verwaltung eines STRING
    2. 15.2 Stringfunktionen
      1. 15.2.1 LEN: Länge eines Strings ermitteln
      2. 15.2.2 Die Funktionen SPACE und STRING
      3. 15.2.3 LEFT, RIGHT und MID
      4. 15.2.4 Zeichenketten modifizieren
        1. 15.2.4.1 MID als Anweisung
      5. 15.2.5 LSET und RSET
      6. 15.2.6 Führende/angehängte Zeichen entfernen: LTRIM, RTRIM und TRIM
      7. 15.2.7 Umwandlung in Groß- bzw. Kleinbuchstaben: UCASE und LCASE
      8. 15.2.8 Teilstring suchen: INSTR und INSTRREV
    3. 15.3 Umlaute und andere Sonderbuchstaben
      1. 15.3.1 Problemstellung: Darstellung von Sonderzeichen
      2. 15.3.2 Erster Lösungsversuch: Speicherformat anpassen
      3. 15.3.3 Zweiter Lösungsversuch: Sonderzeichen als Konstanten
    4. 15.4 Escape-Sequenzen
    5. 15.5 Fragen zum Kapitel

TEIL 4: Anhang

ANHANG

  1. Anhang A: Antworten zu den Fragen
  2. Anhang B: ASCII-Zeichentabelle
  3. Anhang C: MULTIKEY-Scancodes
  4. Anhang D: Vorrangregeln (Hierarchie der Operatoren)
  5. Anhang E: FreeBASIC-Schlüsselwörter
    1. E.1 Schlüsselwörter
    2. E.2 Metabefehle
    3. E.3 Vordefinierte Symbole