Deutsch English
Alphabetischer Index
Array-Funktionen
  • bitand()
  • bitandnot()
  • bitnot()
  • bitor()
  • bitsum()
  • bittrunc()
  • clrarray()
  • 'DELSESSION'
  • getauto()
  • getmarksauto()
  • high()
  • inarray()
  • inarraypos()
  • initarray()
  • nbits()
  • putmarksauto()
  • 'SETSESSIONIDENT'
  • strsort()
    CGI-Funktionen
    Datentypen
    Datums/Uhrzeit-Funktionen
    Debugging
    Operatoren
    Ramtext-Funktionen
    Selektion
    Socket-Funktionen
    Sonstige-Funktionen
    Sprachelemente
    Statistik-Funktionen
    Stream-Funktionen
    String-Funktionen
    System-Funktionen
    Tabellen-Funktionen
    Text-Funktionen
    Volltext-Funktionen
    Zahlen-Funktionen
    Home    Überblick    Suche    Impressum    Kontakt    Mitglieder
    Themenkomplex Array-Funktionen
    Funktion bittrunc()
    Kurz Schneidet ein TBit-Array exakt
    Syntax BitTrunc(VAR aBits : TBITS[]; nSize : INTEGER)
    Parameter aBits : TBit-Array
    nSize : Position des 1. "falschen" Bits
    Ergebnis
    Siehe auch:
    bitnot() nbits()
    Beschreibung Diese Funktion macht insbesondere dann Sinn, wenn man ein TBit-Array mit BitNot() "umkehrt" und die Grösse des Arrays nicht durch 8 teilbar ist.
    Letztlich ist ein TBit-Array ein speziell gehandhabtes BYTE-Array.
    Wenn Sie also ein TBit-Array der Grösse 3 erzeugen (z.B. InitArray(a[3]) wird dafür trotzdem der Speicher von InitArray(a[8]) (= 1 Byte) belegt.
    Bei einem BitNot(a) würden nun nicht wie gewünscht 3 sondern alle 8 Bit negiert. NBits() würde also nicht, wie erwartet 3, sondern 8 zurückliefern.
    Mit BitTrunc(a,4) kann das vermieden werden.

    Beispiel 1: BitNot + BitTrunc



    VAR x : TBITS[]
    InitArray(x[3])
    BitSum(x)         // = 0 <>  bits 000[00000]
    BitNot(x)
    BitSum(x)         // = 8 <>  bits 111[11111]
    BitTrunc(x,3 +1)
    BitSum(x)         // = 3 <>  bits 111[00000]
    


    Beispiel 2: BitNot + BitTrunc 2

    Setzt für jeden Datensatz der Tabelle db das entsprechende Bit im Array

    var x : TBits[]
    InitArray(x[FileSize(db)];
    BitNot(x);x[0]:=0; BitTrunc(x,FileSize(db)+1)
    
    


    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"}