como recorrer Listbox y pasar valores a un arreglo?

Iniciado por GhostLT, 25 Febrero 2011, 20:13 PM

0 Miembros y 1 Visitante están viendo este tema.

GhostLT

Hola, disculpen pero como puedo recorrer un listbox y pasar los valores a un arreglo?, esto es lo que tengo... :huh:
Código (vb) [Seleccionar]

Dim arreglo(100) As Integer
Dim l As Integer
Dim n As Integer
Dim valor As Integer
        For l = 0 To List1.ListCount - 1
            valor = List1.Text
                For n = 1 To List1.ListCount - 1
                    arreglo(n) = valor
                Next
        Next
'Por ultimo coloque unos textbox para confirmar que se guardaron los valores
Text1.Text = arreglo(1)                 'me sale 0 y en realidad es un 2
Text2.Text = arreglo(2)                 'me sale 0 y en realidad es un 4
Text3.Text = arreglo(3)                  'me sale 0 y en realidad es un 1

There is some fiction in you truth, and some truth in you fiction

ignorantev1.1

Código (vb) [Seleccionar]

        For i = 0 To List1.ListCount - 1
                 arreglo(i)  = list1.list(i)
        Next

Sanlegas

Código (vb) [Seleccionar]
Dim Arreglo()             As Integer
Dim N                     As Integer
    ReDim Arreglo(List1.ListCount - 1)
    For N = 0 To List1.ListCount - 1
        Arreglo(N) = List1.List(N)
    Next
    MsgBox Arreglo(0): MsgBox Arreglo(1): MsgBox Arreglo(2)

:-*

GhostLT

There is some fiction in you truth, and some truth in you fiction

SirioCasius

No es un ListBox pero para el caso por ejemplo de varios Editbox como una array conseguir que los objetos de un formulario  tipo TEdit en mi caso estoy usando ,C++ builder xe, me los reconociera como una array. No lo conseguido y he buscado bastante (Creo que no se puede). Pero lo que SI HE CONSEGUIDO es pasar la información de estos objetos a una array creada tipo TEdit y luego pasarlos a una array tipo AnsiString y la vedad que de manera bastante fácil.

1º /*Declaramos los arreglos tanto tipo AnsiString como de tipo TEdit. La TEdit esta al llevar puntero tipo Text, hay que declararla dínamica mas otro puntero (con doble puntero). */

AnsiString *Nombres=new AnsiString[10];
TEdit **Edit=new TEdit*[10];

En el programa form los nombres de los TEdit están puestos como desde el Edit0 hasta Edit9

2º /*Pasamos los datos de los Editbox a la array Tedit** Edit con un button lo llamé IntroducirDatos con la ayuda de la función FindComponent() */
void __fastcall TForm3::IntroducirDatosClick(TObject *Sender)
{
        for (int n=0; n<ComponentCount; n++) {
            Edit[n] = static_cast<TEdit*>(FindComponent("Edit"+IntToStr(n)));
        }
}

3 /* Pasé los datos de la array Tedit a la array dinámica AnsiString *Nombres con otro button que lo llamé MostrarDatos */
void __fastcall TForm3::MostrarDatosClick(TObject *Sender)
{
    for (int n=0; n<10; n++) {
         Nombres[n]=Edit[n]->Text;
    }
    ShowMessage(Nombres[8]);
}
Le agregué un mensaje para verificar que se transferían bien los datos a Nombres.