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!


Referenz - DECLARE

Referenz-Navigation

 

Syntax A:

DECLARE SUB Name [Aufrufkonvention] [OVERLOAD] [[LIB "DLLName"] _
      ALIAS "AliasName"] [ (  _
      [{BYVAL | BYREF } ] [Parameter1] AS Typ [= Wert]   [, _
      [{BYVAL | BYREF } ] [Parameter2] AS Typ [= Wert] ] [, ...] ) ]

Syntax B:

DECLARE FUNCTION Name [Aufrufkonvention] [OVERLOAD] [[LIB "DLLName"] _
      ALIAS "AliasName"] [ (  _
      [{ BYVAL | BYREF } ] [Parameter1] AS Typ [= Wert]   [, _
      [{ BYVAL | BYREF } ] [Parameter2] AS Typ [= Wert] ] [, ...] ) AS Rückgabetyp

Typ: Anweisung
Kategorie: Programmorganisation

Anmerkung zur Syntax: Unterstriche (_) am Zeilenende werden von FreeBASIC so interpretiert, als wäre die Zeile nicht unterbrochen; dies dient nur der besseren Übersichtlichkeit und hat letztenendes keine Auswirkungen auf die Programmausführung.

DECLARE deklariert eine neue Prozedur. Dies ist notwendig, wenn die Prozedur aufgerufen werden soll, bevor sie im Quellcode definiert wird.

DECLARE wird auch bei BefehlsreferenzeintragUDTs verwendet, um einen BefehlsreferenzeintragCONSTRUCTOR bzw. BefehlsreferenzeintragDESTRUCTOR, eine BefehlsreferenzeintragPROPERTY oder die Überladung von BefehlsreferenzeintragOPERATORen zu deklarieren.

Werden Prozeduren vor ihrem ersten Aufruf definiert, dann ist keine vorherige Deklaration nötig. Jedoch kann eine kompakt zusammenstehende Deklaration aller im Programm auftretenden Prozeduren zur Lesbarkeit des Quellcodes beitragen.

Beispiel:

DECLARE FUNCTION twice (AS INTEGER) AS INTEGER
DECLARE SUB PrintTimes (AS STRING, BYVAL AS INTEGER = 1)

FUNCTION twice (x AS INTEGER) AS INTEGER
  twice = x * 2
END FUNCTION

SUB PrintTimes (ToPrint AS STRING, BYVAL times AS INTEGER = 1)
  FOR i AS INTEGER = 1 TO times
    PRINT ToPrint
  NEXT
END SUB

PRINT "Das Doppelte von 42 ist: "; twice(42)
PrintTimes "Einmal"
PrintTimes "Zehn mal", 10
Sleep

DECLARE-Anweisungen können direkt an den Beginn eines BAS-Moduls gesetzt werden. Häufig werden sie jedoch in eine eigene Datei ausgelagert und dann über Befehlsreferenzeintrag#INCLUDE eingebunden. Für gewöhnlich erhält eine solche Datei die Dateiendung .bi

Seit FreeBASIC v0.15b muss die ALIAS-Klausel verwendet werden, wenn eine Prozedur aus einer LIB/DLL eingebunden wird; in früheren Versionen konnte die ALIAS-Klausel ausgelassen werden; in diesem Fall wurde der Prozedurbezeichner (hier 'Name') als ALIAS-Name verwendet.

Unterschiede unter den FB-Dialektformen:

Unterschiede zu QB:
In FreeBASIC ist die Angabe der Parameternamen optional.

Siehe auch:
BefehlsreferenzeintragSUB, BefehlsreferenzeintragFUNCTION, BefehlsreferenzeintragSTATIC (Klausel), BefehlsreferenzeintragPASCAL, BefehlsreferenzeintragCDECL, BefehlsreferenzeintragSTDCALL, BefehlsreferenzeintragBYVAL, BefehlsreferenzeintragBYREF, BefehlsreferenzeintragSHARED, BefehlsreferenzeintragLIB, BefehlsreferenzeintragALIAS, BefehlsreferenzeintragOVERLOAD, BefehlsreferenzeintragOPERATOR, BefehlsreferenzeintragEXPORT, BefehlsreferenzeintragProzeduren, BefehlsreferenzeintragParameterübergabe


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