Bueno yo asi a primeras lo haria de esta manera , para utilizar el codigo solo tienes que seguir esta regla a la hora de nombrar los inputs se pueden llamar como kieras pero con terminacion 1,2,3, osea:
Input del valor 1 = nombre_que_quieras1
Input del valor 2 = nombre_que_quieras2
Input de resultado = nombre_que_quieras3
Entonces en el botón de transformar:
tObjects = Page.EnumerateObjects();-- obtenemos tabal con todos los nombre de los objetos d ela pagina.
bEmty = false;-- declaramos una variable (vacio) en falso
for i,v in pairs(tObjects) do-- recorremos la tbl de objetos
Type = Page.GetObjectType(v);-- obtenemos que typo son (Input,ListBox,label,etc...)
if Type == 7 then -- Si (v = Nombre de objeto)es Input
if (String.Right(v, 1)== "1") or (String.Right(v, 1)== "2") then -- Miramos si terminan con 1 o 2 , 3 no sirve porque es el de resultados.
stxt = Input.GetText(v);-- Obtenemos texto del input
if stxt == "" or type(tonumber(stxt))~= "number" then--Si esta vacio o es diferente a numero ( previa conversion stringToNumber).
bEmty = true;-- Declaramos bEmty en true
end
end
end
end
if not bEmty then -- si bEmty no ha sido declarada en true en ningun input de la tabla , es que todos los campos son correcto ( numeros).
-- Efectuamos operacion (1+2=3)
Input.SetText("PA3",tonumber(Input.GetText("PA1")) + tonumber(Input.GetText("PA2")))
Input.SetText("PM3", tonumber(Input.GetText("PM1")) + tonumber(Input.GetText("PM2")))
Input.SetText("Iniciativa3", tonumber(Input.GetText("Iniciativa1")) + tonumber(Input.GetText("Iniciativa2")))
Input.SetText("Prospeccion3", tonumber(Input.GetText("Prospeccion1")) + tonumber(Input.GetText("Prospeccion2")))
else-- en caso que se haya declarado bemty alguna vez en true , es que algun campo no esta correcto , mensage...
Dialog.Message("Error", "Hay campos sin rellenar o no son números", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end
Yo en este ejemplo solo he usado 4 grupos de tres inputs para hacerlo mas corto , lo puedes alargar lo que quieras siempre que sigas el patrón de nombres que te he dicho.
Tiene algún filtrillo para detectar si los campos están vacíos o no son números.
Supongo que habrá código para hacerlo mas simple si cabe pero yo he sacado este en un ratillo y me parece valido.
te he subido el ejemplo:
- HIDE: ON
- Hidebb Message Hidden Description
Nota: en el ejemplo no hay explicaciones (sorry),copia el código de aquí.