Post Reply 
[QUESTION] data types on "input" cmd
12-07-2016, 05:42 PM (This post was last modified: 12-07-2016 08:15 PM by compsystems.)
Post: #3
RE: [QUESTION] data types on "input" cmd
Thanks TIM, the output is converted into a string
Thus requires conversion to expression

return ([a, b, c]); ->
return ([expr(a), expr(b), expr(c)]);
or
return ({a, b, c});

A help for data types
[Image: objectTypes_hp_prime_image00.png]

I think initialization variables should also be detected with the data type, in order to load correctly.

The following code does not generate error, Type defined LIST, type loaded Matrix, should generate a"Error: Invalid type , a list is expected"


PHP Code:
export input0()
begin
    local a
bc;
    
local resetVAL_aresetVAL_bresetVAL_c;
    
local initVAL_ainitVAL_binitVAL_c;

    
//initVAL_a:=1; initVAL_b:=2; initVAL_c:=3; // real 0 
    //initVAL_a:=#FFFh; initVAL_b:=#FFh; initVAL_c:=#Fh; // integer 1 
    //initVAL_a:="abc"; initVAL_b:="123"; initVAL_c:="X"; // string 2
    //initVAL_a:=i; initVAL_b:=(3,4); initVAL_c:=3+4*i; // complex 3
    
initVAL_a:=[1]; initVAL_b:=[2]; initVAL_c:=[3]; // matrix 4
    //initVAL_a:={1}; initVAL_b:={2}; initVAL_c:={3}; // list 6 
    //initVAL_a:=cas( "f(x):=x+20" ); initVAL_b:=cas( "f(x):=x+30" ); initVAL_c:='A+B'; // function 8
    //initVAL_a:=1_m; initVAL_b:=2_cm; initVAL_c:=3_inch; // unit 9

    
resetVAL_a:=0resetVAL_b:=0resetVAL_c:=0;

    
local ObjectType_AllAllowed := -1;
    
local ObjectType_Real := 0;
    
local ObjectType_Integer := 1;
    
local ObjectType_String := 2;  
    
local ObjectType_Complex := 3;  
    
local ObjectType_Matrix := 4;
    
local ObjectType_List := 6;
    
local ObjectType_Function := 8;  
    
local ObjectType_Unit := 9;  
    
local ObjectType_CAS := 14;

    
local ObjectType := ObjectType_List;
    
local title;

    case
        if 
ObjectType == 0 then title:="Real" end;
        if 
ObjectType == 1 then title:="Integer" end;
        if 
ObjectType == 2 then title:="String" end;  
        if 
ObjectType == 3 then title:="Complex" end;  
        if 
ObjectType == 4 then title:="Matrix" end;
        if 
ObjectType == 6 then title:="List" end;
        if 
ObjectType == 8 then title:="Function" end;  
        if 
ObjectType == 9 then title:="Unit" end;  
        if 
ObjectType == 14 then title:="CAS" end;
     default
        
title:="?"
     
end;

    
local ObjectType_Real := 0;
    
local ObjectType_Integer := 1;
    
local ObjectType_String := 2;  
    
local ObjectType_Complex := 3;  
    
local ObjectType_Matrix := 4;
    
local ObjectType_List := 6;
    
local ObjectType_Function := 8;  
    
local ObjectType_Unit := 9;  
    
local ObjectType_CAS := 14;

    
local ok := 1;
    
local cancel := 0;
    
local keyPressedOnMenu := 0;
    
keyPressedOnMenu := input 
    
(  
        { 
         {
a, [ObjectType] }, 
         {
b, [ObjectType] },
         {
c, [ObjectType] }

        }, 
        
title,
        { 
"label_a""label_b","label_c" }, 
        { 
"help_a""help_b""help_c" },           
        { 
resetVAL_aresetVAL_bresetVAL_c }, 
        { 
initVAL_ainitVAL_binitVAL_c 
    );
    if 
keyPressedOnMenu == ok then
        
return ({abc});  
        
//return ([expr(a), expr(b), expr(c)]); // for -1 
    
else
        return 
"Done";
    
end;
end
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: [QUESTION] data types on "input" cmd - compsystems - 12-07-2016 05:42 PM



User(s) browsing this thread: 1 Guest(s)