Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [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 3 von 3

..richtig, benutzerdefinierte Typen(UserDefined Types, UDT). Hier ist es aber nicht ganz so einfach. Zunächst einmal, was ist ein UDT?
Wir teilen FreeBASIC mit, daß wir in unserem Programm den Typ 'MeinUDT' gleichberechtigt neben Integer, Double etc. verwenden wollen. Das geht mit der Type-Anweisung:

Type MeinUDT
  As String Vorname, Nachname
End Type

(Das kennen wir ja schon in ähnlicher Form aus der Grafik )
Bevor wir nun eine Variable dieses Typs deklarieren und initialisieren, machen wir erstmal eine Pause, denn es wird nicht einfach.
Auch die Befehlsreferenz hilft hier nicht weiter. Und nun? Wir könnten ins Forum gehen und kucken, ob jemand schonmal etwas in dieser Richtung unternommen hat oder gleich in der passenden Rubrik(Externer Link! Allgemeine Fragen zu FreeBASIC) eine Frage posten..
..oder wir schauen gleich mal ins Externer Link! englische Forum. Dort hat stylin dieses Problem bereits gelöst:

Type meinUDT
  Declare Constructor(Byref As String, Byref As String)
  Vorname As String
  Nachname As String
End Type

Constructor meinUDT(Byref Vorname As String, Byref Nachname As String)
  this.Vorname=Vorname
  this.Nachname=Nachname
End Constructor

Dim Datenbank(0 To 2) As meinUDT => {meinUDT("A", "B"), meinUDT("C", "D"), meinUDT("J", "Z")}
Dim As Integer i, iMax=UBound(Datenbank)
Datenbank(iMax).Vorname="E"
Datenbank(iMax).Nachname="F"
For i=0 To iMax
  Print Datenbank(i).Vorname, Datenbank(i).Nachname
Next
Print "Eniki..";
Sleep

Offensichtlich muß nun zusätzlich zu den einzelnen Typen noch ein Constructor(also Erzeuger) erstellt werden, der genau beschreibt, wie die Daten zu handhaben sind.
Durch den schematischen Aufbau ist es leicht, zu erkennen, wie wir das ändern müssen, um den UDT an unsere Bedürfnisse anzupassen.
..dann klappt's auch mit dem UDT..
Gruß
ytwinky

 

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