https://foro.gambas-es.org/viewtopic.php?f=1&t=77&p=241#p241
-----------------------------------
CanihoJR
Lunes, 28 Septiembre 2009, 11:03

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 :P 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 :D

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:

[code linenumbers=false syntax=gambas]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
[/code]

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

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!


