// version 0.2 feb 26/2017
//Global variables
//x:=0;
//y:=0;
//Global and visible variables
export x:=0;
export y:=0;
export z:=0;
export inputv0()
BEGIN
//x:=5;
print();
print("input cmd with a variable"); wait;
input( x );
print("foo1"); wait;
//foo1();
input( y );
print("foo2"); wait;
//foo2();
input( z );
print("foo3"); wait;
//foo3();
return "Done";
END;
//export x:=0;
export inputv1()
BEGIN
// I: forma mas simple, requiere un solo argumento el nombre de la variable
// ARGUMENTO#1 variable: "x"
// ARGUMENTO#2 etiqueta: se agrega automaticamente a la caja de dialogo el mismo nombre de la variable mas ":" , en este caso "X:"
// ARGUMENTO#3 titulo de la caja de dialogo: por defecto coloca "Input"
// ARGUMENTO#4 ayuda: agreaga la cadena "Enter value for" + nombre de la variable, "Enter value for X" si la calcualdora esta en inglés
// ARGUMENTO#5 valores de reinicio o por defecto
// ARGUMENTO#6 valores iniciales
x:=1; // valor inicial siempre que se llame a la orden inputv1()
input( x );
// [enter] ó [ok] ejecuta los campos de la caja de dialogo
// [esc] ó [ok]
return "Done";
END;
//export x:=0;
export inputv1a()
BEGIN
// para recuperar el ultimo valor asignado, se debe crear X como variable global export x:=0;
input( x );
return "Done";
END;
//export x:=0;
export inputv1b()
BEGIN
// agregando titulo personalizado, argumento #2
input( x, "titulo» Modificando x" );
return "Done";
END;
//export x:=0;
export inputv1c()
BEGIN
local x:=3;
// agregando titulo y etiqueta personalizada, argumentos #2-3
input( x, "titulo» Modificando x","etiqueta» x:" );
// note que la ayuda automaticamente elimina los dos puntos si los hay al final de la etiqueta mostrando solo "Enter value for etiqueta X" y no "Enter value for etiqueta X:"
return "Done";
END;
//export x:=0;
export inputv1d()
BEGIN
// agregando titulo, etiqueta y ayuda personalizada, argumentos #2-4
input( x, "titulo» Modificando x","etiqueta» x:","Ayuda» Ingrese valor para la etiqueta x" );
return "Done";
END;
//export x:=0;
export inputv1e()
BEGIN
// agregando titulo, etiqueta, ayuda, y valor de reinicio personalizado, argumentos #2-5
local valorDeReinicio:=5.1;
input(
x,
"titulo» Modificando x",
"etiqueta» x:",
"Ayuda» Ingrese valor para la etiqueta x",
valorDeReinicio
);
// el valor de reincicio se coloca con la secuencia [shift]+[esc] ó solo [backspace]
return "Done";
END;
//export x:=0;
export inputv1f()
BEGIN
// agregando titulo, etiqueta, ayuda, valor de reinicio e inicial personalizado, argumentos #2-5
//x:=78; // ya no es necesario definir un valor inicial en esta forma
local valorDeReinicio:=5.1234;
local valorInicial:=5.2;
input(
x,
"titulo» Modificando x",
"etiqueta» x:",
"Ayuda» Ingrese valor para la etiqueta x",
valorDeReinicio,
valorInicial
);
return "Done";
END;
//export x:=0;
export inputv1g()
BEGIN
// argumentos por defecto se agrega {} y para campo vacio ""
input( x, "titulo» Modificando x",{},"" ); // {} para etiqueta
return "Done";
END;
// II: INPUT con varias variables
//export x:=0; export y:=0; export z:=0;
export inputv2()
BEGIN
// para un conjunto de variables se abarcan entre {}
input( {x,y,z}, "titulo» Modificando x, y, z","etiqueta» x:","Ayuda» Ingrese valor para la etiqueta x" );
// note que las cadenas de texto para etiqueta y ayuda solo afectan a la primera variable
return "Done";
END;
//export x:=0; export y:=0; export z:=0;
export inputv2a()
BEGIN
// para un conjunto de etiquetas y ayudas se abarcan entre {}
input( {x, y, z}, "titulo» Modificando x, y, z",
{"etiqueta» x:","etiqueta» z:","etiqueta» z:"},
{"Ayuda» Ingrese valor para la etiqueta x", "Ayuda» Ingrese valor para la etiqueta y", "Ayuda» Ingrese valor para la etiqueta z" }
);
return "Done";
END;
//export x:=0; export y:=0; export z:=0;
export a:=0;
export b:=0;
export c:=0;
export d:=0;
export ee:=0;
export inputv2b()
BEGIN
// Si hay mas de 7 variables LOS CAMPOS SE MUESTRAN EN N PANTALLAS
input(
{x, y, z, a, b, c, d, ee},
"titulo» modificando n variables",
{"etiqueta» x:","etiqueta» y:","etiqueta» z:"},
{"Ayuda» Ingrese valor para la etiqueta x", "Ayuda» Ingrese valor para la etiqueta y", "Ayuda» Ingrese valor para la etiqueta z" }
);
// puede completar las cadenas de texto para las etiquetas y ayuda para A,B,C,D,EE
// con la tecla virtual [page #/#] se avanza ó REGRESA entre pantallas
return "Done";
END;
export inputv2c()
BEGIN
// para un conjunto de titulos se abarcan entre {}
input(
{x, y, z, a, b, c, d, ee},
{"Titulo» modificando variables x, y, ... d", "titulo» modificando variable ee"},
{"etiqueta» x:","etiqueta» y:","etiqueta» z:"},
{"Ayuda» Ingrese valor para la etiqueta x", "Ayuda» Ingrese valor para la etiqueta y", "Ayuda» Ingrese valor para la etiqueta z" }
);
return "Done";
END;
// Variable con n elementos
export inputv3()
BEGIN
local list1:={9,8,7,6};
input( {list1[1],list1[2],list1[3],list1[4]},
"Tit » mod los elementos de una lista",
{"list?1?", "list[2]", "list[3]", "list[4]"}
);
return "Done";
END;
export inputv3a()
BEGIN
local array1:=[[1,2],[3,4]];
input(
{
array1[1,1],
array1[1,2],
array1[2,1],
array1[2,2]
},
"Tit » mod los elementos de un arreglo123",
{"array1?1,1?", "array1[1,2]", "array1[2,1]", "array1[2,1]"}
);
END;
export inputv3b()
BEGIN
local offsetField0:=0; //%
local offsetField10:=10; //10%
local widthField10:=0; //0%
local widthField20:=10; //20%
// page 1
local lineField0:=0;
local lineField1:=1;
local lineField2:=2;
local lineField3:=3;
local lineField4:=4;
local lineField5:=5;
local lineField6:=6;
// page 2
local lineField7:=7;
local lineField8:=8;
local array1:=[[1,2],[3,4]];
input(
{
{array1[1,1], [0], {10,20,lineField0} },
{array1[1,2], [0], {10,20,lineField1} },
{array1[2,1], [0], {40,20,lineField0} },
{array1[2,2], [0], {40,20,lineField1} }
},
"Tit » mod los elementos de un arreglo123",
{"?1,1?", "[1,2]", "[2,1]", "[2,1]"}
);
END;
export inputcheckv1a()
BEGIN
local checkbox:=0;
local checkbox_true:=true;
local checkbox_false:=0;
local group2_checkbox:=2;
local group3_checkbox:=3;
local group4_checkbox:=4;
input(
{
{X,group2_checkbox},
{Y,checkbox},
{Z,checkbox},
{W,checkbox}
}
);
END;
export inputcheckv1()
BEGIN
local checkbox:=0;
local checkbox_true:=true;
local checkbox_false:=0;
input(
{
{X,checkbox},
{z,checkbox}
}
);
// las teclas [±] ó [enter] ó [?] cambian el estado de la casilla
END;