Deutsch English
Alphabetical index
Array functions
  • bitand()
  • bitandnot()
  • bitnot()
  • bitor()
  • bitsum()
  • bittrunc()
  • clrarray()
  • 'DELSESSION'
  • getauto()
  • getmarksauto()
  • high()
  • inarray()
  • inarraypos()
  • initarray()
  • nbits()
  • putmarksauto()
  • 'SETSESSIONIDENT'
  • strsort()
    CGI functions
    Data types
    Date functions
    Debugging
    Fulltext functions
    Language elements
    Numerical functions
    Operators
    Other functions
    Ramtext functions
    Selecting
    Socket functions
    Statistical functions
    Stream functions
    String functions
    System functions
    Table functions
    Text functions
    Home    Overview    Search    Impressum    Contact    Members
    Topic complex Array functions
    Function bittrunc()
    Short Schneidet ein TBit-Array exakt
    Syntax BitTrunc(VAR aBits : TBITS[]; nSize : INTEGER)
    Parameter aBits : TBit-Array
    nSize : Position des 1. "falschen" Bits
    Return
    See also:
    bitnot() nbits()
    Description 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.

    Example 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]
    


    Example 2: BitNot + BitTrunc 2

    Sets a bit for each record of db

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


    User comments:
    Write a comment:
    Name
    EMail
    Subject
    Text (Switch mode)

    Choose between
    the normal and the
    advanced editor.
    The advanced editor
    runs in IE 5+ and
    Mozilla 1.4+ only
    SPAM-Protection Please enter tdbengine in this field.

    tdbengine chat
    irc.tdbengine.org
    #tdbengine

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