Obtener valor de buffer de un datawindow con Power Builder

En esta post veremos como con una funcion podemos obtener los valores de un campo dentro de un datawindow sin estar preguntando que tipo de datos es el campo del cual queremos obtener el dato asi ya no nos preocuparemos en que si es number usar la funcion getItemNumber o si es string getItemString() con solo llamar a la funcion ya obtendremos el dato.

Creamos una funcion que se llame por ej fn_get_valor_buffer():
Return type: any
Parámetros:
1. Pass by: value, Type: datawindow, Name: cdw_datos
2. Pass by: value, Type: string, Name: col_dato

any dato
string tipo
long fila
tipo = cdw_datos.describe(""+col_dato+".coltype")
fila = cdw_datos.getrow()

IF tipo = "number" or left(tipo,7) = "decimal" or left(tipo,7) = "integer" or left(tipo,4) = "long" then
  dato = cdw_datos.GetItemNumber(fila, col_dato)
ELSEIF left(tipo,4)="char" then
  dato = cdw_datos.GetItemString(fila, col_dato)
ELSEIF tipo ="date" then
  dato = cdw_datos.GetItemDate(fila, col_dato)
ELSEIF tipo ="time" then
  dato = cdw_datos.GetItemTime(fila, col_dato)
ELSEIF tipo ="datetime" then
  dato = cdw_datos.GetItemDateTime(fila, col_dato)
ELSE
  dato = "error - tipo de dato desconocido"
END IF

return dato


Ejemplo de uso:
any vnombre
// acá obtenemos el dato como tipo any luego tenemos que castear el dato al tipo que necesitemos usar.
vnombre = fn_get_valor_buffer(dw_personas, 'nombre');
messageBox('', string(vnombre))

Comentarios

  1. How to play Slots Online - Oklahoma Casinos
    While you might not be familiar with some slot machines, there's 바카라 배팅전략 a reason why you'll want to 포커 play them. We 바카라가입쿠폰 have some exciting Slots games. We know some of them 바카라 추천 사이트 have a 사다리사이트

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Obtener el anterior y siguiente registro de una tabla MySQL con PHP