Options

Code naar integer

tompynationtompynation Member Posts: 398
edited 2007-10-24 in NAV Dutch speaking only
Hoe kan je een code omzetten naar een integer ?

GetLetter(Level);

GetLetter(TeZoekenIndex : Integer) : Text[1]
EXIT(Alphabet[TeZoekenIndex]);

Probleem is dat Level een Code is een geen integer...

Wanneer ik een locale variable lv_Letter aanmaak van type integer,
en de code wil omzetten naar integer met behulp van de evaluate functie, krijg ik volgende error:

GetLetter(EVALUATE(lv_Letter,Level));

Type conversion is not possible...
Integer := Boolean ](*,)

Answers

  • Options
    mart1n0mart1n0 Member Posts: 123
    Er was, toch in sommige 3.7 versies, vroeger een codeunit voor conversies.
    Met een heleboel handige functies, onder andere deze:
    TextToInteger(VarText : Text[250]) : Integer
    
    EVALUATE(VarInteger,VarText);
    EXIT(VarInteger);
    

    Laat me maar iets weten moest dit niet werken
  • Options
    tompynationtompynation Member Posts: 398
    mmm werkt blijkbaar wel wanneer ik de evaluate functie eerst aanroep:

    EVALUATE(lv_Letter,Level)
    GetLetter(lv_Letter);
  • Options
    mart1n0mart1n0 Member Posts: 123
    Ja dat komt omdat als je dit doet:
    GetLetter(EVALUATE(lv_Letter,Level));
    

    Je de returnvalue van de evaluate functie, wat een boolean is meegeeft aan GetLetter. GetLetter verwacht echter een code, geen boolean.

    Daarom dus dat het in 2 regels wel werkt, omdat je de waarde in lv_letter (een code) wil meegeven aan GetLetter en niet de returnvalue van EVALUATE (een boolean).
Sign In or Register to comment.