Quitar espacios en blanco de dw freeform

Espero me puedan ayudar.

Deseo eliminar los espacios en blanco de todos los campos del dw freeform, antes de grabar los datos en la base de datos. Por ejemplo tengo un datawindow con los siguientes campos (nombre, apellido) y al ingresar los datos:

nombre:____cesar y apellido: ____liberato______ ;donde guion bajo(____)representa los espacios en blanco a la izquierda o derecha que se ingresa.

Desearía quitar esos espacios, para todos los campos de dw freeform, antes de usar la función update() para guardar en la base de datos solo las palabras mas no los espacios en blanco.

1 Respuesta

Respuesta
1

Tenes en PW las funciones RightTrim ( string ) y LeftTrim ( string ) y Trim ( string )

Gracias por responder , estimado experto. Pero en que momento o en que evento coloco esas funciones . tengo mi datawindow freeform y un boton que dice Guardar , en el evento click del boton coloco , dw_ff.update(). y el usuario puede colocar espacios en blanco en los campos del datawindow freeform.

Cualquier validación, control o cambio que quieras hacer en los campos de la DW, lo tienes que ejecutar antes de llamar a dw_ff.update().

Puedes crear un evento en el cual coloques estas funciones y luego reemplazarlo por los valores de la DW; o bien, en el evento click del botón. Yo prefiero hacerlo en un evento, y que este evento devuelva un 1 si esta todo bien o un -1 si arroja algún error.

Luego, antes de ejecutar el dw_ff.update() tendrás que chequear lo que te devuelve ese evento, visualizando en pantalla un mensaje de error o de valildacion.

Estimado Sr. Lenardo , muchas gracias por responder

La verdad por delante , tengo poco de haber iniciado en esta herramienta.

?Como esta eso de crear un evento?,?Crear función?,por favor te pediría una ayuda.

Según como me dices: antes de llamar a dw_1.updadte() , haría lo siguiente

string var_nombre

var_nombre=trim(dw_1.getitemstring(row,"nombre"))

dw_1.setitemstring(row,"nombre",var_nombre)

Seria algo así para todos los campos de mi datawindowfreeform??? y esto colocarlo dentro de un evento o función.

Gracias por responder,como veràs esta pregunta la postie hace mucho y no he recibido respuestas,por lo cual tengo que hacer una actualización constante a la base de datos.

De todos modos gracias Sr. Leonardo.

Power es una herramienta con orientación a objetos, por lo tanto, tiene características y funciones o eventos propios, los cuales pueden ser compartidos con otros objetos por medio de la herencia.

Cada ventana y DW tiene sus propios eventos ya definidos y programados, los cuales tiene su funcionalidad.

Acá puedes crear eventos y funciones que necesites en cada uno de estos objetos. Puedes crear un evento llamado "ue_limpia_espacios" en la ventana y llamarlo antes de hacer el update de la DW.

Como este evento es propio de la ventana que lo usa, puedes colocar directamente el código que me escribiste con los nombres de los campos propio de la DW.

Si fuese un objeto fuera de la ventana, por ejemplo un userobject o bien una función, el código a colocar es mas genérico y aplicable a cualquier DW. Por lo tanto, lo puede usar en cualquier ventana.

También puedes hacer una función en la que le pases el string a sacarle los espacios y te devuelve el mismo string sin espacios.

// VENTANA

string var_nombre

var_nombre=F_LIMPIA_ESPACIOS(dw_1.getitemstring(row,"nombre"))

dw_1.setitemstring(row,"nombre",var_nombre)

// FUNCIÓN

F_LIMPIA_ESPACIOS ( string var_nombre)

RETURN STRING

var_nombre= LeftTrim(var_nombre)

var_nombre= RightTrim(var_nombre)

RETURN var_nombre

Lo mismo lo puedes hacer con un evento en la ventana.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas