[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Joe is offline [professional_User]
    Registriert seit
    Mar 2001
    Beiträge
    365
    Zitat Zitat von Peterfritz Beitrag anzeigen
    Hallo,
    da bin ich dann soweit wie vorher (CONST gefüllt mit x'12 = gleich wie inz(x'12')
    Konstante geht hier in diesem Fall nicht. Ich muss einen variablen Wert
    in das 4 Byte bringen( Frankierart)

    PF
    Wenn die Frankierart überschaubar ist, dann definiere diese doch als einzlne Konstanten
    oder rechnen in HEX um.

    Joe

  2. #2
    Registriert seit
    May 2002
    Beiträge
    1.123
    Okay,

    Birgitta war mal wieder schneller und eleganter.

    Möchte mein Lösungsansatz aber auch noch zum Besten geben.
    Ich nutze auch gleich den Dezimalwert
    PHP-Code:
    h dftactgrp(*no)                                       
    d True            c                   *On              
    d False           c                   
    *Off             
    d                                                      
    d hex             pr             1                     
    d                                3  0                  
    d                                                      
    d Frankierart     s              1                     
    d Wert            s              3  0 Inz
    (  18 )       
                                                           
    c                   Eval      Frankierart hexWert )
    c                                                      
    c                   
    Eval      *InLr True             
                                                           
    p Hex             b                                    
    d                 pi             1                     
    d  Zahl                          3  0                  
    d  Zahl                          3  0                 
    d  Rueckgabe      s              1    inz
    x'00' )    
                                                          
    c                   If        Zahl  255             
    c                   
    Return    Rueckgabe               
    c                   
    EndIf                             
    c                                                     
    c                   
    If        Zahl >= 128             
    c                   Biton     
    '0'           Rueckgabe 
    c                   
    Eval      Zahl -= 128             
    c                   
    EndIf                             
    c                   If        Zahl >=  64             
    c                   Biton     
    '1'           Rueckgabe 
    c                   
    Eval      Zahl -=  64             
    c                   
    EndIf                             
    c                   If        Zahl >=  32             
    c                   Biton     
    '2'           Rueckgabe 
    c                   
    Eval      Zahl -=  32             
    c                   
    EndIf                             
    c                   If        Zahl >=  16             
    c                   Biton     
    '3'           Rueckgabe 
    c                   
    Eval      Zahl -=  16             
    c                   
    EndIf                             
    c                   If        Zahl >=   8             
    c                   Biton     
    '4'           Rueckgabe 
    c                   
    Eval      Zahl -=   8             
    c                   
    EndIf                             
    c                   If        Zahl >=   4             
    c                   Biton     
    '5'           Rueckgabe 
    c                   
    Eval      Zahl -=   4             
    c                   
    EndIf                             
    c                   If        Zahl >=   2             
    c                   Biton     
    '6'           Rueckgabe 
    c                   
    Eval      Zahl -=   2             
    c                   
    EndIf                             
    c                   If        Zahl >=   1             
    c                   Biton     
    '7'           Rueckgabe 
    c                   
    Eval      Zahl -=   1             
    c                   
    EndIf                             
    c                                                     
    c                   
    Return    Rueckgabe               
                                                          
    p Hex             e 
    Gruß
    Ronald

Similar Threads

  1. Dezimal- Punkt oder Komma!
    By Daniel Ritzmann in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 15-03-02, 15:37

Tags for this Thread

Berechtigungen

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