[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2020
    Beiträge
    2

    Ein Binchar feld bitweise füllen

    Hallo,

    Ich kämpfe momentan mit folgendem Problem.
    Ich muss ein Feldtyp von binchar (8 byte) ab der vierzigste bit mit etwas füllen(z.b mit integer 12)

    Für jede Hilfe bin ich Dankbar

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Jedes Byte ist vom Typ UINT(3) und kann dann mit den Werten aus beliebigen Kombinationen von 2er Potenzen 1, 2, 4, 8 , 16, 32, 64, 128 gefüllt werden.
    Nun must du nur noch abzählen und die passenden Werte setzen.

    dcl-ds;
    v1 uint(3) inz 1;
    v1 uint(3) inz 2;
    v1 uint(3) inz 4;
    v1 uint(3) inz 8;
    v1 uint(3) inz 16;
    v1 uint(3) inz 32;
    v1 uint(3) inz 64;
    v1 uint(3) inz 128;
    v uint(3) dim(8) pos(1);
    end-ds;

    dcl-ds;
    bytes8 char(8);
    byte uint(3) dim(8) pos 1;
    end-ds;

    dcl-s bytepos uint(3);
    dcl-s bitpos uint(3);

    bytepos = %int(Bits / 8) + 1;
    bitpos = %rem(Bits:8) + 1;

    Byte(bytepos) += v(bitpos); // Bit setzen
    Byte(bytepos) -= v(bitpo); // Bit löschen

    Oder klassisch mit BITON und BITOFF bzw. %bitand() und %bitnot() => siehe Referenz.

    Oder du definierst das Feld als UINT(20) => 8 Bytes und nimmst eine Tabelle mit den 64 Werten.
    Um diese nicht ausrechnen zu müssen, kannst du die einer Schleife füllen:
    for i=0 to 63;
    v(i+1) = 2**i;
    next;

    Bestimmt fällt da jemandem noch was anderes kompliziertes ein.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    May 2020
    Beiträge
    2
    Vielen Dank für die Antwort

Similar Threads

  1. cpytostmf mit Variablen Inhalten füllen
    By ora in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 22-06-19, 18:26
  2. input/output feld dspf --> automatisch aus Feld springen
    By _MG_ in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 15-09-17, 16:02
  3. Globale SQL-Variable im RGP-Programm füllen
    By Sebastian85 in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 05-07-17, 14:16
  4. Numerisches Feld nicht rechtsbündig füllen
    By harkne in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 11-04-16, 16:22
  5. Subfile direkt durch SQL Statement füllen
    By TheDevil in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 14-11-13, 09:15

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •