[Progress Communities] [Progress OpenEdge ABL] Forum Post: RE: Dynamic type casting for primitive data types

Status
Not open for further replies.
T

tpavlovic

Guest
Take a look at BOX/UNBOX, maybe you can make something with this. DEFINE TEMP-TABLE tt NO-UNDO FIELD Integ3r AS INT64 FIELD Ch4racter AS CHARACTER FIELD D4teTim AS DATETIME-TZ FIELD L0gical AS LOGICAL FIELD Dec1mal AS DECIMAL . DEFINE VARIABLE h AS HANDLE NO-UNDO. DEFINE VARIABLE oInteg3r AS CLASS System.Object NO-UNDO. DEFINE VARIABLE oCh4racter AS CLASS System.Object NO-UNDO. DEFINE VARIABLE oD4teTim AS CLASS System.Object NO-UNDO. DEFINE VARIABLE oL0gical AS CLASS System.Object NO-UNDO. DEFINE VARIABLE oDec1mal AS CLASS System.Object NO-UNDO. ASSIGN h = BUFFER tt:HANDLE oInteg3r = BOX(707) oCh4racter = BOX("Character") oD4teTim = BOX(NOW) oL0gical = BOX(TRUE) oDec1mal = BOX(123.456) . CREATE tt. RUN object2type (h:BUFFER-FIELD("Integ3r"), oInteg3r). RUN object2type (h:BUFFER-FIELD("Ch4racter"), oCh4racter). RUN object2type (h:BUFFER-FIELD("D4teTim"), oD4teTim). RUN object2type (h:BUFFER-FIELD("L0gical"), oL0gical). RUN object2type (h:BUFFER-FIELD("Dec1mal"), oDec1mal). MESSAGE tt.Integ3r SKIP tt.Ch4racter SKIP tt.D4teTim SKIP tt.L0gical SKIP tt.Dec1mal SKIP VIEW-AS ALERT-BOX INFORMATION BUTTONS OK. /****/ PROCEDURE object2type: DEFINE INPUT PARAMETER phField AS HANDLE NO-UNDO. DEFINE INPUT PARAMETER poObject AS System.Object NO-UNDO. ASSIGN phField:BUFFER-VALUE = UNBOX(poObject). END PROCEDURE.

Continue reading...
 
Status
Not open for further replies.
Top