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