Script para comprobar si un Vector esta duplicado con Power Builder
En este post les mostrare un script de como poder recorrer un vector y verificar si los datos son duplicados muy util en algunos casos, mas todabia si trabajamos mucho con vectores, hice el algoritmo por necesidad y espero que a alguien mas le sirva.
Bueno este es un script de ejemplo como veran en mi variable varray[] ya cargo mis datos pero ustedes seguramente obtendran el dato de otra manera es cuestion de ajustar nada mas a sus necesidades.
Otro uso recuiente que le pude dar es poder verificar si una cantidad determinada corresponde a la cantidad de datos iguales contenidos en el arrar, ejemplo quiero verificar que la cantidad de datos de mi array sean todos datos iguales para eso ejecuto el script y almaceno los datos iguales por ultimo verifico con mi dato si corresponde la cantidad.
// comprobar si un array(vector) esta duplicado de datos
// @author: Robert Galeano Fernandez - @rgfpy
string varray[]
integer cant_array, k
varray = {'paraguay', 'info', 'PB', 'Paraguay'}
cant_array= upperbound(varray[])
FOR i = 1 to cant_array
FOR k = cant_arrayto 1 step -1
IF upper(varray[i]) = upper(varray[k]) and i <> k then
messagebox('.....', 'Existe duplicacion de array en el indice ' + string(k))
i = cant_array
exit
END IF
NEXT
NEXT
Bueno este es un script de ejemplo como veran en mi variable varray[] ya cargo mis datos pero ustedes seguramente obtendran el dato de otra manera es cuestion de ajustar nada mas a sus necesidades.
Otro uso recuiente que le pude dar es poder verificar si una cantidad determinada corresponde a la cantidad de datos iguales contenidos en el arrar, ejemplo quiero verificar que la cantidad de datos de mi array sean todos datos iguales para eso ejecuto el script y almaceno los datos iguales por ultimo verifico con mi dato si corresponde la cantidad.
// @author: Robert Galeano Fernandez - @rgfpy
integer i, k, cant, cant_array
string varray[]
varray = {'valor1','valor1','valor1','valor1'}
cant_array = upperbound(varray[])
FOR i = 1 to cant_array
FOR k = cant_array to 1 step -1
IF upper(varray[i]) = upper(varray[k]) and i <> k then
cant += 1
exit
END IF
NEXT
NEXT
IF cant <> cant_array then
//ok. existen datos iguales en mi vector
ELSE
//false. no son iguales
END IF
Comentarios
Publicar un comentario