llamada a procedimiento desde un form

Consultas, trucos, consejos. Todo sobre Clarion en todas sus versiones
Responder
euro500g
Novato
Mensajes: 31
Registrado: Vie Jul 22, 2011 4:26 pm
Contactar:

llamada a procedimiento desde un form

Mensaje por euro500g » Mar Jun 12, 2012 1:29 pm

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


Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1055
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: llamada a procedimiento desde un form

Mensaje por Mauricio » Mié Jun 13, 2012 6:39 am

Hola,
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
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.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog

euro500g
Novato
Mensajes: 31
Registrado: Vie Jul 22, 2011 4:26 pm
Contactar:

Re: llamada a procedimiento desde un form

Mensaje por euro500g » Mié Jun 13, 2012 11:09 am

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

Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1055
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: llamada a procedimiento desde un form

Mensaje por Mauricio » Mié Jun 13, 2012 5:31 pm

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.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog

euro500g
Novato
Mensajes: 31
Registrado: Vie Jul 22, 2011 4:26 pm
Contactar:

Re: llamada a procedimiento desde un form

Mensaje por euro500g » Jue Jun 14, 2012 10:37 am

Ok, muchisimas gracia, ya lo pruebo.Saudos.

Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1055
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: llamada a procedimiento desde un form

Mensaje por Mauricio » Jue Jun 14, 2012 11:04 am

Ok, avisá si te trabaste con algo.
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog

euro500g
Novato
Mensajes: 31
Registrado: Vie Jul 22, 2011 4:26 pm
Contactar:

Re: llamada a procedimiento desde un form

Mensaje por euro500g » Jue Jun 14, 2012 11:35 am

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.

Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1055
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: llamada a procedimiento desde un form

Mensaje por Mauricio » Jue Jun 14, 2012 12:12 pm

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

euro500g
Novato
Mensajes: 31
Registrado: Vie Jul 22, 2011 4:26 pm
Contactar:

Re: llamada a procedimiento desde un form

Mensaje por euro500g » Jue Jun 14, 2012 12:32 pm

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.

Avatar de Usuario
Mauricio
Desarrollador de Clarion
Mensajes: 1055
Registrado: Dom Feb 06, 2011 9:34 am
Ubicación: España
Contactar:

Re: llamada a procedimiento desde un form

Mensaje por Mauricio » Jue Jun 14, 2012 12:59 pm

De nada :)
Mauricio, básicamente usando Clarion 6.3
www.tdcsoftware.com y www.clarioneros.com/blog


Responder

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 1 invitado