Programación General > Visual Basic 6.0 e inferiores

 Re: Codigo para Pasar Items de un Combox a Varios TextBox

(1/3) > >>

mexican:
Codigo para Pasar Items de un Combox a Varios TextBox

Tengo un ComBox con una lista de items, estos items quiero pasarlos de uno en uno por medio de un CommandButton a 15 TextBox

Es decir el codigo me va checar si el primer TextBox ya esta lleno con un item entonces lo pasa al segundo y si el primero y el segundo ya estan llenos entonces me lo pasa al tercero y asi sucesivamente

Gracias de Antemano

Brroz:
Hola mexican

Para probar el ejemplo, añade a un formulario un ComboBox llamado Combo1 y un TextBox llamado Text1 al que establecerás la propiedad Index = 0.

Si quieres, para tener datos de prueba, en el evento Load del formulario carga el combo con 11 items:

**************************************
Private Sub Form_Load
Dim int1 As Integer
For int1 = 0 to 10
Combo1.AddItem "Elemento índice " & int1
Next int1
End Sub
**************************************

Ahora, al seleccionar un elemento del combo, este se añade a un nuevo TextBox y se elimina del combo

*******************************************
Private Sub Combo1_Click()
   
    If Combo1.ListIndex < 0 Then Exit Sub
   
    Dim int1 As Integer
    int1 = Text1.UBound
    Dim int2 As Integer, ind1 As Boolean
    For int2 = 0 To int1
        If Len(Text1(int2).Text) = 0 Then
            Text1(int2).Text = Combo1.List(Combo1.ListIndex)
            ind1 = True
            Exit For
        End If
    Next int2
    If Not ind1 Then
        int1 = int1 + 1
        Load Text1(int1)
        Text1(int1).Move Text1(int1 - 1).Left, Text1(int1 - 1).Top + Text1(int1 - 1).Height + 10
        Text1(int1).Text = Combo1.List(Combo1.ListIndex)
        Text1(int1).Visible = True
    End If
   
    Combo1.RemoveItem Combo1.ListIndex
   
End Sub
*******************************************

Ahora sólo tienes que adaptar el código a tus necesidades. No te compliques con lo del Load Text1(n)... La gracia del ejemplo para lo que tú quieres hacer es:

Textn.Text = Combo1.List(Combo1.ListIndex)

Suerte.

chiaravel:
una vez convertidos tus textbox en matriz colocas el siguiente codigo.

Dim i as integer, ya_esta as boolean
Dim o as integer

for i = 0 to 14
     ya_esta=false
     o=1
     do until ya_esta=true
          if len(textbox.item(o).text)>0 then
             o=o+1
          else
             textbox.item(o).text=combo.list(i)
             ya_esta=true
          endif
     loop
next

Y listo...

Suerte

mexican:
Creo que tu codigo sería el mas sencillo y facil sin despreciar el de Brroz, lo que pasa es que no entiendo eso de matriz de controles, disculpa mi ignorancia, soy novato
Otra cosa me imagino que este codigo que me diste va puesto en el evento del CommandButton

Gracias

chiaravel:
Este codigo ponlo donde tu quieras y funcionara.

En cuanto a una matriz de controles veras...

Cuando tu insertas un objeto en tu formulario este adquiere un nombre autonumerico, ejemplo TEXT1, TEXT2, TEXT3, etc,etc.

Bien...el problema de esto es que si tuvieras que hacer una operacion que involucre a todos estos textbox, tendrias que uno por uno setarlos manualmente, en cambio cuando los conviertes en matriz los puedes recorrer como te indique en el ejemplo simplemente por su nombre y luego por un indice.

Ejemplo.

text1.item(nro de textbox).text="hola"

Pero tu duda hasta este momento debe ser... "Como creo una matriz de controles ?"

Bueno...

Es muy simple..

Solo seleccionas el primer textbox, seleccionas en el menu edicion Copiar y luego Pegar.

Te aparecera automaticamente...

Ya existe un control llamado 'text1'. ¿Desea Crear una matriz de controles?

Y listo Pegas tantos controles como elementos necesites y luego veras que todos se llaman igual Text1.

Debes tener en cuenta que al pertenecer a una matriz de controles, a partir de ese momento cada vez que quieras referirte a alguno de ellos debes indicar TEXT1.ITEM(nro de textbox)

Espero que me hayas entendido.

Suerte

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa