• Viernes 15 de Noviembre de 2024, 04:56

Autor Tema:  Re: Array  (Leído 1881 veces)

Joe

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Array
« en: Domingo 27 de Octubre de 2002, 17:39 »
0
Hola:
        Tengo un array con 10 botones y dos cajas de texto (text1 y text2).
         Cada vez que llevo el cursor a text1 y pulso un boton me llena las dos cajas.
         ¿Cómo puedo separar ambas cajas de modo cuando el cursor está en Text1 rellene esa caja y cuando está en text2 rellene la otra.

He probado muchas fórmulas. Entre ellas:

La opción más lógica sería:

Text1.selFocus
Text1.Text = tetx1.text & command1(Index As Integer).Caption
Text2.text = " "
Text2.Text = tetx2.text & command1(Index As Integer).Caption

pero no da resultado
------------------------------------------------------

He probado también:

Text1.selFocus
Text1.Text = tetx1.text & command1(Index As Integer).Caption
If len(text2.text) <> "0" Then
text2 = ""

Text2.Text = tetx2.text & command1(Index As Integer).Caption

De esta forma me rellena la primera caja, pero no me obedece en al segunda. Es decir, si pongo el cursor en ella siempre me rellena la primera.

Tembién he probado con condicionales y no lo consigo.


                   Si se ha entendido mi problema y alguien fuera tan amable de explicármelo...

                                                     Joe.


:(

javierbalk

  • Miembro MUY activo
  • ***
  • Mensajes: 142
  • Nacionalidad: 00
    • Ver Perfil
    • Print preview y grabar PDF en Visual Basic 6
Re: Array
« Respuesta #1 en: Domingo 27 de Octubre de 2002, 21:46 »
0
Primero que todo: ¿Qué es lo que querés hacer?

Javier

Joe

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Array
« Respuesta #2 en: Jueves 31 de Octubre de 2002, 16:37 »
0
Primero, disculpa que no haya podido responderte antes y, segundo, gracias por interesarte por mi problema.

  Verás: He  comenzado a hacer mis primeros pequeños programas. Entre ellos, hice una calculadora a mi medida. Tiene, por ejemplo: cambios de moneda, las operaciones normales, el resultado automático de todo tipo de porcentajes,
el mantenimiento siempre del último reslutado, calendario, hora, etc.
     
      Pues bien, lo tengo hecho, en huen funcionamiento y cantrolado todos los posibes errores, pero para trabajar con el teclado. Ahora, lo que pretendo es trabajar también con el ratón. Para ello he hecho un array con botones del 0 al 9 más una 'coma'.

    Para realizar las operaciones aritméticas, los números de esos botones del array deben introducirse en dos texbox(Text1 y Text2), donde, por ejemplo, si quiero multiplicar, deberé rellenar el multiplicando y el multiplicador.

      Pero, como dije en mi anterior post, no consiguo que si el cursor está en un texbox plasme ahí los número y si está en el otro los deje allí.  Lo que me hace es introducir los mismos números en ambas cajas de texto, independientemente dónde se encuentre el cursor.

    He hecho muchas pruebas y me ha sucedido de todo,  menos lo que deseo.

    Lo último que he intentado, tu me dirás si voy acertado, es buscar el foco.

    If text1.setfocus = True Then
text1.text = Text1.text & Command1(Index As Integer)
     End if
    If text2.setFocus = True Then
text2.text = Text2.text & Command1(Index As Integer)
End if

   Pero tampoco me ha dado resultado. Por eso pido ayuda. Puedas o no sacarme de la duda, te doy las gracias de antemano, Javierbalk.

                                                         Joe.

javierbalk

  • Miembro MUY activo
  • ***
  • Mensajes: 142
  • Nacionalidad: 00
    • Ver Perfil
    • Print preview y grabar PDF en Visual Basic 6
Re: Array
« Respuesta #3 en: Jueves 31 de Octubre de 2002, 20:23 »
0
Bueno, lo que pasa es que tenés que saber cual es el textbox que tiene el enfoque, además ese enfoque se va a perder al presionar el command button, así que hay que ponerlo de nuevo.
Yo haría algo así:

En la sección de declaraciones del form:

Private mTextboxConEnfoque As Long

En los eventos GotFocus de los textBoxs:

Private Sub Text1_GotFocus()
    mTextboxConEnfoque = 0
End Sub

Private Sub Text2_GotFocus()
    mTextboxConEnfoque = 1
End Sub

El código de los commands:

Private Sub Command1_Click(Index As Integer)
    If mTextboxConEnfoque = 0 Then
        Text1.Text = Text1.Text & Command1(index).Caption
        Text1.SetFocus
        Text1.SelStart = Len(Text1.Text)
    Else
        Text2.Text = Text2.Text & Command1(Index).Caption
        Text2.SetFocus
        Text2.SelStart = Len(Text2.Text)
    End If
End Sub

Saludos,

Javier

Joe

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Array
« Respuesta #4 en: Viernes 1 de Noviembre de 2002, 16:09 »
0
Hola, Javier:

                  Con el código que me has dado, todo perfecto.   Muchas gracias.
                                           Un saludo
 
                                                            Joe.