Deutsch English
Alphabetischer Index
Array-Funktionen
CGI-Funktionen
Datentypen
Datums/Uhrzeit-Funktionen
Debugging
Operatoren
Ramtext-Funktionen
Selektion
Socket-Funktionen
Sonstige-Funktionen
Sprachelemente
  • 'ANWEISUNGEN'
  • 'AUSDRÜCKE'
  • 'BEZEICHNER'
  • DEF
  • IF
  • 'INDEXBESCHREIBUNG'
  • 'KONSTANTEN'
  • MODULE
  • PROCEDURE
  • REPEAT
  • RETURN
  • USES
  • VAR
  • WHILE
    Statistik-Funktionen
    Stream-Funktionen
    String-Funktionen
    System-Funktionen
    Tabellen-Funktionen
    Text-Funktionen
    Volltext-Funktionen
    Zahlen-Funktionen
    Home    Überblick    Suche    Impressum    Kontakt    Mitglieder
    Themenkomplex Sprachelemente
    Funktion VAR
    Kurz Definiert eine oder eine Gruppe von Variablen
    Syntax VAR Bezeichner {, Bezeichner} : Typ [= Ausdruck]
    Parameter Typ:

    BYTE (Zahl 0..255)
    INTEGER (Zahl -2147483648 bis +2147483647)
    REAL (Zahl Fließkomma mit ca. 18 sig. Stellen)
    CHAR (1 Zeichen)
    STRING (max 255 Zeichen)
    TBITS (1 Bit)
    MARKS (Markierungsliste)
    Von jedem dieser Grundtypen können auch Arrays mit max 10 Dimensionen definiert werden:

    VAR Matrix : REAL[10,10]

    Der erste Feldindex ist immer 0

    Ausdruck: arithmetischer Ausdruck des angegeben Typs.
    Ergebnis
    Siehe auch:
    Beschreibung Durch die Angabe eines Ausdrucks werden alle Variablen der Liste mit diesem Wert initialisiert.

    Derzeit (Version 6.2.6) können keine Felder auf diese Weise initialisiert werden. Sie werden immer mit 0 bzw. dem Leerstring initialisert.

    Ist kein Ausdruck angegeben, so werden die Variablen mit folgenden Werten initialisiert:

    BYTE, INTEGER, REAL : 0
    STRING, CHAR : ''
    MARKS :
    TBITS : Bit zurüchgesetzt

    Initialiserung

    Der Ausdruck wird nicht zur Compilierzeit, sondern zur Laufzeit(!) berechnet und zugewiesen. Das bedeutet wiederum, dass hier auch selbstdefinierte Funktionen verwendet werden dürfen. Dazu ein Beispiel:
     
    MODULE counter; //  location: lib/counter.mod
    
    PROCEDURE Init : REAL;
    VAR result, ec_before : INTEGER;
      ec_before:=getpara('ec'); setpara('ec 1');
      result:=opendb("database/counter/counter.dat","",0,15);
      setpara('ec '+str(ec_before));
      IF result=0 THEN
        cgiwriteln('content-type: text/html');
        cgiwriteln('');
        cgiwriteln('database-error: '+TDB_ErrorStr(TDB_LastError));
        HALT
      ELSE
        RETURN result;
      END
    ENDPROC;
    
    VAR db : INTEGER = Init;

    Greift nun ein anderes Programm auf dieses Modul zu, so steht bereits nach

    USES counter.mod;

    mit counter.db ein gültiger (und zum Schreiben geöffneter) Tabellenhandle (der Tabelle database/counter/counter.dat) zur Verfügung.

    tdbengine chat
    irc.tdbengine.org
    #tdbengine

       Copyright © 2003-2004 tdb Software Service GmbH
       Alle rechte vorbehalten. / All rights reserved
       Letzte Änderung: 21.10.2004
    {Fehler für :execmacro{execmacro="sessionspy"}