miércoles, 2 de mayo de 2012

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.

// 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

No hay comentarios.:

Publicar un comentario