El 05/10/12 13:56, Miguel Humberto Valdiri Badillo escribió:
El día 4 de octubre de 2012 22:44, Jose Humberto Araque Meza
<jhara...@gmail.com> escribió:
Hola comunidad
Estoy elaborando unas macros en libreoffice pero en dos en particular tengo
unos resultados errados, no se si será algún problema del libreoffice, las
dos funciones son muy simples.
El asunto es el siguiente:
1. tengo una función llamada vestocastic, que suma los valores de un rango
de datos y si es uno devuelve verdadero, en caso contrario devuelve falso,
pero en ocaciones aunque la suma de los valores da uno, devuelve falso.
2. tengo otra función llamada enumeric, que lo que hace es verificar que un
elemento sea numérico, tengo el separador de decimales establecido como
coma, pero cuando tengo un valor que inicia con punto seguido de un número,
la función me devuelve que es numérico, cuando debe devolver lo contrario.
El archivo esta disponible en:
http://ubuntuone.com/0IlE5hKbyFlPg0JSL0OqsM
Tengo ubuntu 12.04 64 bits y libreoffice 3.6.0.2 (id de compilacion
360m1(build:102))
De antemano gracias por los aportes que me puedan hacer.
hechiz-0
--
Al escribir recuerde observar la etiqueta (normas) de esta lista:
http://goo.gl/Pu0ke
Para cambiar su inscripción, vaya a "Cambio de opciones" en
http://goo.gl/Nevnx
Que gracioso, conmuté los valores en la segunda fila y dio "True".
Con los datos de la hoja, la variable suma siempre es = 1 pero cuando
hace la comparación "if suma=1 then" a pesar de que suma contiene como
valor 1, el resultado es falso.
El código es muy simple:
-----------------------------------------------------------
'Option explicit
'option base 1
Function vEstocastic (vector()) as boolean
dim i, m as integer
dim suma as variant
suma = 0
m = ubound(vector, 2)
for i = 1 to m
suma = suma + vector(1, i)
next
if suma = 1 then 'Esta es la línea que no funciona como debiera
vEstocastic = true
else
vEstocastic = false
end if
End Function
Function eNumeric (elemento) as boolean
if isnumeric(elemento) then 'Esta línea tampoco funciona siempre
eNumeric = true
else
eNumeric = false
end if
End Function
------------------------------------------------------
--
Al escribir recuerde observar la etiqueta (normas) de esta lista:
http://goo.gl/Pu0ke
Para cambiar su inscripción, vaya a "Cambio de opciones" en http://goo.gl/Nevnx