Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Dudas Funciones, Como Hacerlas Correctamente? [SOLUCIONADO]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Dudas Funciones, Como Hacerlas Correctamente? [SOLUCIONADO] 
 
Buenas! (de nuevo:P)

El tema es que como algunos ya sabéis vengo de programar en PHP y tengo algunas manías que en gambas, lógicamente no me funcionan y aunque realmente soy de sistemas, programar es mi hobby y como tal, no es que se me de demasiado bien... por lo que vengo a preguntaros una serie de dudas a mi modo de ver, básicas para lo que necesito o quiero hacer... así que aya voy

1º. Como seria la forma correcta de ubicar mis funciones? en el caso de php lo hacia en un archivo externo y punto, pero aqui, donde deberia ir? en Clases o en Modulos? (de momento la tengo en clase, libcontrol)

El tema me surge a raíz de este post: http://foro.gambas-es.org/viewtopic.php?f=1&t=63 en el que muestro un poco el control de errores y un compañero me menciona una forma mas efectiva. En ese momento,  me doy cuenta de que es una locura ir añadiendo el mismo control de errores a varios textbox por lo que he realizado la siguiente función:

STATIC PUBLIC FUNCTION noletras(a AS String) AS String
  'Recibo una cadena de texto (string) compruebo que sea un dijito y si lo es, lo devuelve, sino "se pierde"
  IF IsDigit(a) THEN
    RETURN a
  ENDIF
END
 


así que desde cualquier formulario que quiera controlar el solo meter números en un textbox simplemente tengo que igualarlo de la siguiente forma:
PUBLIC SUB Ttelefono_Change()
  Ttelefono.Text = LibControl.noletras(Ttelefono.Text)
END


Funcionar, funciona, pero como es de esperar, no se si es la forma correcta, si es una mala costumbre, si debería realizarlo de otra forma o como debería realizarlo...
(referente al keypress que mencionamos en el otro post, de esta forma solo me sirve con el Change, ya que si lo hago con el keypres, nunca llego a enviar dato alguno :s

Bueno, ahí está mi post... dudas, consejos, cualquier comentario será un eterno agradecimiento
Gracias de Antemano!
 



 
última edición por CanihoJR el Lunes, 28 Septiembre 2009, 15:13; editado 1 vez 
CanihoJR - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Dudas Funciones, Como Hacerlas Correctamente? 
 
Hola

Básicamente te explico como funciona esto:

Tu creas un proyecto. Una carpeta por proyecto. En cada proyecto tienes un archivo .project que es la definición del proyecto.

Luego tienes los formularios que son .form y cada uno de ellos lleva asociado un archivo de texto para el código de ese formulario (sin extensión) y luego tienes módulos que son archivos .module.

Así que cuando tu inicias un proyecto y vas creando formularios, etc se van creando estos archivos. Habitualmente cada formulario lleva un código asociado por eso cada formulario tiene su propio manejador de eventos y una clase asociada donde escribes el código que corresponde a ese formulario.

Existe la posibilidad de que tengas varios controles en los que quieras un manejador común. Por ejemplo si tienes cinco textbox y en los cinco quieres que no se puedan meter numeros entonces puedes hacer un solo manejador y escribir un keypress para ese manejador. Para ello utilizas la propiedad group de los cinco textbox y en lo que hayas puesto en group escribes un nombre_group_keypress donde escribes el keypress que quieres. Solo escribes un keypress, pero funciona en los cinco textbox.

Eso está explicado aquí
Arrays de controles

Sin embargo hay veces que utilizas rutinas con mucha frecuencia en distintos formularios e incluso proyectos. Por ejemplo quizá te gustaría crear una función que sirviera para conectar a una base de datos y devolviera la conexión realizada o el error obtenido. Utilizarías esa función cada vez que quieres conectar a una base de datos en cualquier proyecto que uses.

Para eso están los módulos. Allí escribes código que no se refiere a un formulario concreto. Si creas un módulo llamado BD y allí creas una función PUBLIC que se llame conectar podrás en cualquier parte del proyecto llamar a la función BD.Conectar

En un módulo puede haber funciones o rutinas privadas y públicas. Las públicas son las que pueden ser llamadas desde tu proyecto y las privadas son las que solo pueden ser llamadas dentro de ese módulo.

De igual forma en los formularios los objetos y funciones son privados (solo pueden ser llamados dentro de ese formulario), sin embargo tu puedes cambiar para que las rutins sean PUBLIC y también en las propiedades del proyecto puedes hacer que los objetos del formulario sean públicos con lo que podrás manipular un objeto de un formulario desde otro formulario.

 
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Dudas Funciones, Como Hacerlas Correctamente? 
 
Mil y una gracias soplo me ha quedado súper claro, mucho mas que en los mil y un tutorial que encontré

De forma que he llegado a la conclusión de que esas funciones que realizo en mi CLASE, debería pasarlas a un MODULO, y en mi caso concreto, las llamaré directamente para cada textbox, ya que apenas son 2 por Formularios, o incluso simplemente un campo aislado, por lo que apenas me compensa crear grupos. (Al menos de momento) También con la certeza de que me servirá el día de mañana para cualquier otro proyecto, tal y como si fuese una libreria de PHP, ^^

Gracias!
 



 
CanihoJR - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Como Incorporo En Gambas, Funciones En Có... francopenizzotto General 1 Jueves, 11 Marzo 2010, 22:37 Ver último mensaje
jguardon
No hay nuevos mensajes Como Declarar Una Constante Correctamente??? arkyansoul Controles/Librerías/Componentes 3 Viernes, 26 Noviembre 2010, 20:17 Ver último mensaje
jsbsan
No hay nuevos mensajes Dudas Con << Y >>, ~ jsbsan Javascript 6 Miercoles, 27 Abril 2016, 08:51 Ver último mensaje
Shell
No hay nuevos mensajes Borde Que No Se Muestra Correctamente Shell General 2 Jueves, 23 Junio 2016, 20:56 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron