Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [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!

Referenz - TYPE (Funktion)

Referenz-Navigation

 

Syntax: TYPE [<typename>]( a [, b [, ...] ] )
Typ: Funktion
Kategorie: Klassen

TYPE erzeugt einen temporären Typen und stellt damit eine noch kürzere Alternative als BefehlsreferenzeintragWITH dar, wenn alle Attribute geändert werden.

Beispiel 1:

TYPE Example
  AS INTEGER field1
  AS INTEGER field2
END TYPE

DIM ex AS Example

' Standard-Methode zur Befüllung der Attribute
ex.field1 = 1
ex.field2 = 2

' WITH-Methode
WITH ex
  .field1 = 1
  .field2 = 2
END WITH

' TYPE-Methode
ex = TYPE(1, 2)

Um den Code besser lesbar zu gestalten, kann auch diese Syntax verwendet werden:

ex = TYPE<Example>(1, 2)

Wie bereits angesprochen, kann TYPE() nur verwendet werden, wenn alle Attribute eines BefehlsreferenzeintragUDTs neu festgelegt werden. Es gibt aber auch noch andere Verwendungsmöglichkeiten.

Beispiel 2: Funktionsaufruf mit Übergabe eines temporären UDTs

Type S
  As Single x, y
End Type

Sub test (v As S)
  Print "S", v.x, v.y
End Sub

test Type(1, 2)
test TYPE<S>(1, 2)
Sleep

Eine ähnliche Funktionalität bietet die Nutzung eines Constructors:

Type S
  Declare Constructor (a As Single, b As Single)
  As Single x, y
End Type

Constructor S (a As Single, b As Single)
  x = a
  y = b
End Constructor

Sub test (v As S)
  Print "S", v.x, v.y
End Sub

test S(1, 2)
Sleep

Unterschiede zu QB: neu in FreeBASIC

Unterschiede zu früheren Versionen von FreeBASIC:
TYPE in der Verwendung als Funktion existiert seit FreeBASIC v0.16.

Siehe auch:
BefehlsreferenzeintragTYPE (UDT), BefehlsreferenzeintragTYPE (Forward Referencing), BefehlsreferenzeintragWITH, BefehlsreferenzeintragDatentypen und Deklarationen, BefehlsreferenzeintragObjektorientierung


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 30.07.2007 von Redakteurnemored angelegt.
  • Die aktuellste Version wurde am 05.08.2020 von Redakteurnemored gespeichert.
  Versionen Versionen