Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Tutorial

Variablen initialisieren

von RedakteurytwinkySeite 2 von 3

Jetzt kann eine Variable aber auch mehrere Werte beinhalten, z. B. eine Matrix.
(Eine Matrix(auch Feld oder Array) ist eine zeilen- und spaltenweise Anordnung von Daten mit einem Name, deren Zugriff über Index-Variablen(Indizes) erfolgt)

Dim As Integer Startwert=0, EndWert=2, Matrix(Startwert To EndWert)

Beachte: Wir hätten auch schreiben können

Dim As Integer EndWert=2, Matrix(EndWert)

aber aus dieser Schreibweise geht nicht deutlich hervor, daß hier in Wirklichkeit trotzdem von 0 bis 2 dimensioniert wird. Das kann bei großen Matrizen schon einen gewaltigen Unterschied ausmachen.
Wollen wir dieser Matrix nun Anfangswerte zuweisen kann das natürlich nicht mit einer Anweisung geschehen, denn der Compiler würde z.B. bei der Anweisung Matrix=3 schlicht nicht 'wissen', was er machen soll.
Also, von Hand(s.o.):

Dim As Integer Startwert=0, EndWert=2, Matrix(Startwert To EndWert, Startwert To EndWert)
Matrix(0, 0)=1
Matrix(0, 1)=2
Matrix(0, 2)=3
Matrix(1, 0)=4
Matrix(1, 1)=5
Matrix(1, 2)=6
Matrix(2, 0)=7
Matrix(2, 1)=8
Matrix(2, 2)=8

Alles klar, funktioniert doch bestens, aber wie sieht denn das aus? Geht das nicht eleganter? Klar doch:

Dim As Integer Startwert=0, EndWert=2, Matrix(Startwert To EndWert, Startwert To EndWert), i, j
Data 1, 2, 3, 4, 5, 6, 7, 8, 8
For i=StartWert To EndWert
  For j=StartWert To EndWert
    Read Matrix(i, j) 'erledigt dasselbe wie oben..
  Next j 'nächste Spalte
Next i 'nächste Zeile

Data, Read, For, Next: jaahh, das ist BASIC ^^
Gehts noch einfacher? Wühlen wir doch mal in der Befehlsreferenz(Dim-Anweisung)..
Jetzt wissen wir Bescheid, es sollte mit:

Dim As Integer Startwert=0, EndWert=2
Dim Matrix(Startwert To EndWert, Startwert To EndWert) => { {1, 2, 3}, {4, 5, 6}, {7, 8, 8} }

funktionieren. Cool, sieht fast aus, wie ein bisschen C..
(Naja, wenn wir den '>' weglassen sieht es schon wieder normal aus und funktioniert auch)
Nochmal im Klartext:Der Inhalt des gesamten Feldes steht in '{}' und darin jede einzelne Zeile wieder in '{}' und die einzelnen Werte werden durch Kommata getrennt.
Das sieht doch schon mal gut aus, wir können einfachen Variablen und auch Matrizen nun auf elegante Weise Anfangswerte zuweisen.
Aber da waren doch noch..

 

Gehe zu Seite Gehe zu Seite  1  2  3  
Zusätzliche Informationen und Funktionen
  • Das Tutorial wurde am 12.08.2007 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 31.12.2010 von Redakteurytwinky gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen