Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Esta Función Esta Correcta?

Esta Función Esta Correcta?
Artículo
Responder citando    Descargar mensaje  
Mensaje Esta Función Esta Correcta? 
 
estoy intentando hacer una función de forma que en todos los textbox me escriba en mayúsculas esta función esta bien planteada o no?

' gambas class file

Public A_Mayusculas As String

Public Sub Form_Open()
 
End

Public Sub TextBox1_Change()
   Convertir_a_mayusculas(TextBox1.Text, TextBox1)
   TextBox1.Text = A_Mayusculas
End

Public Function Convertir_a_mayusculas(texto As String, txt As TextBox) As String
   A_Mayusculas = String.UCase$(texto)
   Return txt.Text = A_Mayusculas
End

Public Sub TextBox2_Change()
   Convertir_a_mayusculas(TextBox2.Text, TextBox2)
   TextBox2.Text = A_Mayusculas
End




 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Sabado, 21 Junio 2014, 23:50 ]
 


Esta Función Esta Correcta?
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Esta Función Esta Correcta? 
 
No tiene mucho sentido utilizar una función que sustancialmente regresa el contenido de una variable global .



 
vuott - Ver perfil del usuario Enviar mensaje privado  
vuott [ Domingo, 22 Junio 2014, 01:09 ]
Responder citando    Descargar mensaje  
Mensaje Re: Esta Función Esta Correcta? 
 
Hola. No soy de contestar en los post, pero es que me pongo nervioso pues nadie respondió lo que pregunto el wey.

Desde mi humilde punto de vista no esta bien, el planteo de la solución seria pasar el objeto solamente.
yo lo resolveria así, y de hecho lo tengo en una biblioteca de esta forma. Espero que te sirva.... Exitos


'' ## Descripcion ##
''
'' Todo a mayusculas.
''
'' ## Parametros ##
''
''  - ByRef txt As TextBox
''  
''    Es el objeto TextBox  sobre el cual trabajar.
Public Sub TxtMay(ByRef txt As TextBox)

  txt.Text = UCase(txt.Text)
  
End.
 




 
última edición por osunaosuna el Domingo, 22 Junio 2014, 03:32; editado 1 vez 
osunaosuna - Ver perfil del usuario Enviar mensaje privado  
osunaosuna [ Domingo, 22 Junio 2014, 03:23 ]
Responder citando    Descargar mensaje  
Mensaje Re: Esta Función Esta Correcta? 
 
gracias por las respuestas, al final opte por esta forma en cada textbox:



Public Sub txtNombreJugador1_Change()
  txtNombreJugador1.Text = String.UCase$(txtNombreJugador1.Text)
End



 
v3ctor - Ver perfil del usuario Enviar mensaje privado  
v3ctor [ Domingo, 22 Junio 2014, 07:00 ]
Responder citando    Descargar mensaje  
Mensaje Re: Esta Función Esta Correcta? 
 
Hola amigos
Lo he hecho así.

Public Sub TextBox1_Change() 'cuando el valor cambia
TextBox1.Text = UCase$(TextBox1.Text) 'tan pronto como se presiona una tecla en los cambios en el CAPS
end

lo variable del sistema de carga no se utiliza ...



 
didier18 - Ver perfil del usuario Enviar mensaje privado  
didier18 [ Domingo, 22 Junio 2014, 09:14 ]
Responder citando    Descargar mensaje  
Mensaje Re: Esta Función Esta Correcta? 
 
Definitivamente es casi lo mismo...



 
osunaosuna - Ver perfil del usuario Enviar mensaje privado  
osunaosuna [ Lunes, 23 Junio 2014, 00:01 ]
Responder citando    Descargar mensaje  
Mensaje Re: Esta Función Esta Correcta? 
 
didier18 escribió: [Ver mensaje]
Hola amigos
Lo he hecho así.

Public Sub TextBox1_Change() 'cuando el valor cambia
TextBox1.Text = UCase$(TextBox1.Text) 'tan pronto como se presiona una tecla en los cambios en el CAPS
end

lo variable del sistema de carga no se utiliza ...


nooo que tiene que ver el titulo con esta pregunta
 


una solucion  para evitar reescribir codigo es
es crear tu propio  texbox
con una nueva propiedad
charcater casing
con tres opciones  
[list]normal no hace nada es la opcion por default
upper todo a mayusculas
lower todo a minusculas
[/list]

cualquier parecido con otro lenguaje es solo coincidencia

y no no es necesario crear  nuevos componente
se puede hacer todo en el mismo proyecto que estas usando en un archivo  con un archivo de clases

solo dale un nombre no usado y aparece en el sector de los componente
mas o menos asi

este codigo lo semi-copie del foro
tenia uno bien hecho y lo perdi
asi que no estoy seguro que funcione pero la idea es la idea



Inherits TextBox
Export

Public Sub _new()
    '   INICIAMOS LAS VARIABLES

    Dim hObs As Observer
    
    hObs = New Observer(Me) As "TextBox" ' declara una nueva clase observer llamada TextBox

End Sub
'falta el codigo para la nueva propiedad

Public Sub TextBox_Change()
    ' Aqui interceptamos el evento keypress del textbox
    'codigo
 End Select

End
  


y si alguien logra meter el codigo directo en el gambas  seria buena idea
como para enviarla  al codigo oficial



 
codificador - Ver perfil del usuario Enviar mensaje privado  
codificador [ Lunes, 23 Junio 2014, 06:33 ]
Responder citando    Descargar mensaje  
Mensaje Re: Esta Función Esta Correcta? 
 
Oye tu codificador!!! Hola...

Si eso lo he echo en alguna ocasión cuando las cuestiones son cuantiosas, lo único que me toma desprevenido es que aparezca en el cuadro de herramientas, me parece difícil, no se...

Yo deje de usar esta forma porque al no aparecer en el cuadro de herramienta debería manejarlo a mano algo así:

Public mm As TBox

Public Sub Form_Open()
mm = New TBox(Me)
With mm
  .Top = 0
  .Left = 0
  .w = 100
  .h = 100
End With

End


A mi y aclaro solo a mi me pareció mas practico reunir en una biblioteca funciones que manejen objetos a mis necesidades así solo debía de incluirla en cualquier proyecto en el cual quisiera y usarlas...


Empero si me demuestras que se puede o alguien de los piadosos se atreve a mostrarme como hacerlo bienvenido sea...



 
osunaosuna - Ver perfil del usuario Enviar mensaje privado  
osunaosuna [ Martes, 24 Junio 2014, 02:00 ]
Responder citando    Descargar mensaje  
Mensaje Re: Esta Función Esta Correcta? 
 
osunaosuna escribió: [Ver mensaje]
Oye tu codificador!!! Hola...

Si eso lo he echo en alguna ocasión cuando las cuestiones son cuantiosas, lo único que me toma desprevenido es que aparezca en el cuadro de herramientas, me parece difícil, no se...

Yo deje de usar esta forma porque al no aparecer en el cuadro de herramienta debería manejarlo a mano algo así:
 

de aparecer aparece en otros ides es lo mas facil pero en gambas el proceso es mas manual

añades una nuevo archivo de clase  
le colocas un nombre texbox_minusculas    y  export

en el codigo



ejecutas con f5 y detienes y aparece el nuevo componete en el cuadro de herramientas  casi listo para usar
lo que no recuerdo era el codigo para añadirle eventos y propiedades y lo demas
solo recuerdo que era con observer para los eventos



lo tenia hecho pero lo perdi




en gambas 2 no  aparecia y se debia hacer de la forma que dices



 
última edición por codificador el Martes, 24 Junio 2014, 06:09; editado 1 vez 
codificador - Ver perfil del usuario Enviar mensaje privado  
codificador [ Martes, 24 Junio 2014, 06:08 ]
Responder citando    Descargar mensaje  
Mensaje Re: Esta Función Esta Correcta? 
 
Codificador:

Aqui teneis la información que da la documentación oficial sobre como crear componentes  para gambas3:

Enlace

Saludos



 
jsbsan - Ver perfil del usuario Enviar mensaje privado  
jsbsan [ Martes, 24 Junio 2014, 13:12 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente
 

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


 



 

cron