llamada a procedimiento desde un form
-
- Novato
- Mensajes: 31
- Registrado: Vie Jul 22, 2011 4:26 pm
- Contactar:
llamada a procedimiento desde un form
Hola amigos, soy novato en clarion y quiero que me ayuden a llamar un procedimiento o funcion para validar un campo desde un form.
por ejemplo validar el cuit de un cliente. Como llamo por ejemplo a la funcion validarcuit, como paso el parametro etc.
Gracias.
Ramón Rodríguez
por ejemplo validar el cuit de un cliente. Como llamo por ejemplo a la funcion validarcuit, como paso el parametro etc.
Gracias.
Ramón Rodríguez
- Mauricio
- Desarrollador de Clarion
- Mensajes: 1125
- Registrado: Dom Feb 06, 2011 9:34 am
- Ubicación: España
- Contactar:
Re: llamada a procedimiento desde un form
Hola,
en el embebido Accepted de tu campo tendrías que poner algo como lo siguiente (suponiendo que tu campo se llama CLI:CUIT)
La función ValidarCuit recibe como parámetro el cuit del cliente y devuelve TRUE o FALSE dependiendo de si el cuit es válido o no.
Espero que te sirva, si no, seguí preguntando.
en el embebido Accepted de tu campo tendrías que poner algo como lo siguiente (suponiendo que tu campo se llama CLI:CUIT)
Código: Seleccionar todo
IF ValidarCuit(CLI:CUIT)
! El cuit es válido, no hacemos nada
ELSE
Message('Debe ingresar un cuit válido','Atención',ICON:EXCLAMATION)
SELECT(?)
CYCLE
END !IF
Espero que te sirva, si no, seguí preguntando.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog
www.tdcsoftware.com y www.clarioneros.com/blog
-
- Novato
- Mensajes: 31
- Registrado: Vie Jul 22, 2011 4:26 pm
- Contactar:
Re: llamada a procedimiento desde un form
Hola Mauricio, gracias por el ayudin, eso entiendo, lo que no se es donde defino la funcion, es decir donde escribo el código de la funcion
y como defino los parametros de entrada y salida. Gracias.
PD::Trabajo en clarion 6.3
y como defino los parametros de entrada y salida. Gracias.
PD::Trabajo en clarion 6.3
- Mauricio
- Desarrollador de Clarion
- Mensajes: 1125
- Registrado: Dom Feb 06, 2011 9:34 am
- Ubicación: España
- Contactar:
Re: llamada a procedimiento desde un form
Para la función creás un prodecimiento Source. En el prototipo de la función ponés lo siguiente:
(STRING pCuit),BYTE. Esto significa que recibirás un STRING como cuit y devolverás un BYTE.
En los parámetros del procedimiento, solo ponés (STRING pCuit).
En el código de tu función hacés la evaluación, podés definir una variable local, Loc:Retorno, de tipo BYTE.
Luego de la evaluación setearás esa variable a TRUE o FALSE, dependiendo de si el cuit es válido o no.
Y tenés que terminar tu función con un RETURN (Loc:Retorno).
Básicamente, es eso.
(STRING pCuit),BYTE. Esto significa que recibirás un STRING como cuit y devolverás un BYTE.
En los parámetros del procedimiento, solo ponés (STRING pCuit).
En el código de tu función hacés la evaluación, podés definir una variable local, Loc:Retorno, de tipo BYTE.
Luego de la evaluación setearás esa variable a TRUE o FALSE, dependiendo de si el cuit es válido o no.
Y tenés que terminar tu función con un RETURN (Loc:Retorno).
Básicamente, es eso.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog
www.tdcsoftware.com y www.clarioneros.com/blog
-
- Novato
- Mensajes: 31
- Registrado: Vie Jul 22, 2011 4:26 pm
- Contactar:
Re: llamada a procedimiento desde un form
Ok, muchisimas gracia, ya lo pruebo.Saudos.
- Mauricio
- Desarrollador de Clarion
- Mensajes: 1125
- Registrado: Dom Feb 06, 2011 9:34 am
- Ubicación: España
- Contactar:
Re: llamada a procedimiento desde un form
Ok, avisá si te trabaste con algo.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog
www.tdcsoftware.com y www.clarioneros.com/blog
-
- Novato
- Mensajes: 31
- Registrado: Vie Jul 22, 2011 4:26 pm
- Contactar:
Re: llamada a procedimiento desde un form
Mauricio me tranque de vuelta, Te muestro un Ejemplo Sencillo
If longitud=ValidarCuit(Clie:Cuit) = 0
Message('Debe Ingresar un cuit')
Select(?Clie:Cuit)
End
Procedure ValidarCuit(cCuit1)
Largo Byte
CODE
largo=Len(cCuit1)
Return(Largo)
Donde defino cCuit1, porque me dijiste que en prototipo defino el tipo de variable y que retorna (String),Byte
en Parametro (String) y cCuit1, espero que me entiendas
Muchisimas gracias y disculpa las molestias.
If longitud=ValidarCuit(Clie:Cuit) = 0
Message('Debe Ingresar un cuit')
Select(?Clie:Cuit)
End
Procedure ValidarCuit(cCuit1)
Largo Byte
CODE
largo=Len(cCuit1)
Return(Largo)
Donde defino cCuit1, porque me dijiste que en prototipo defino el tipo de variable y que retorna (String),Byte
en Parametro (String) y cCuit1, espero que me entiendas
Muchisimas gracias y disculpa las molestias.
- Mauricio
- Desarrollador de Clarion
- Mensajes: 1125
- Registrado: Dom Feb 06, 2011 9:34 am
- Ubicación: España
- Contactar:
Re: llamada a procedimiento desde un form
Fijate el ejemplo que te adjunto. No le prestes atención a la función, solo valida que los 2 primeros números del CUIT sean 20.
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog
www.tdcsoftware.com y www.clarioneros.com/blog
-
- Novato
- Mensajes: 31
- Registrado: Vie Jul 22, 2011 4:26 pm
- Contactar:
Re: llamada a procedimiento desde un form
Mauricio, gracias por la onda che, ahi me di cuenta yo pense que cuando pusiste pcuit hacias referencia a que el string era para el cuit
y en definitiva es la variable por la que yo te preguntaba. Esta ahora entiendo perfecto.
Muchas gracias viejo.
y en definitiva es la variable por la que yo te preguntaba. Esta ahora entiendo perfecto.
Muchas gracias viejo.
- Mauricio
- Desarrollador de Clarion
- Mensajes: 1125
- Registrado: Dom Feb 06, 2011 9:34 am
- Ubicación: España
- Contactar:
Re: llamada a procedimiento desde un form
De nada
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog
www.tdcsoftware.com y www.clarioneros.com/blog
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 25 invitados