Tutorial
Variablen initialisieren
von ytwinky | Seite 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( Allgemeine Fragen zu FreeBASIC) eine Frage posten..
..oder wir schauen gleich mal ins 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
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|