• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

hardcore

Listagem de dados de um ficheiro para TextBox

4 mensagens neste tópico

Oi pessoal, tudo bem? O que se passa é o seguinte..

Tenho uma listbox que está a listar os dados de um ficheiro. Eles estão escritos da seguinte forma:

Hardcore;8600;000;Santa-Maria

Para dividir os dados que estão no ficheiro sobre essa forma uso o seguinte código:

       

private void ListBoxListarContactos_SelectedIndexChanged(object sender, EventArgs e)
        {
            List<string> items = new List<string>();

            for (i = 0; i < ListBoxListarContactos.SelectedItems.Count; i++)
            {
                items.Add(ListBoxListarContactos.SelectedItems[i].ToString());
            }
            string teste = "";

            for (int i = 0; i < items.Count; i++)
                teste = teste + items[i].ToString();

            String s = ListBoxListarContactos.Text;

            // Se não estiver nenhum elemento selecionado limpa as textboxes
            if (String.IsNullOrEmpty(s))
            {
                // Limpa as textbox
                return;
            }

            /*Dividir a linha do ficheiro em campos*/
            String[] valores = teste.Split(new String[] { ";" }, StringSplitOptions.None);
            
            Nome.text = valores[0]
            CodPostal.Text = valores[1];
            CodAux.Text = valores[2];
            Freguesia.Text = valores[3];
        }

Isto vai dar-me o seguinte resultado:

Hardcore

8600

000

Santa-Maria

Agora gostava de mostrar os dados, mas de ordem invertida. Do tipo:

Santa-Maria

000

8600

Hardcore

Alguém consegue ajudar-me?

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pha lês tudo para um array e depois lês o array de tras para a frente

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes ler o ficheiro para um ArrayList. Fazer o reverse do ArrayList e depois inserir-lo na list box.

Poupas o ciclo de percorrer um array do fim para o incio. Ganhas performance.

ArrayList a = new ArrayList();

//Ler o ficheiro e adicionar a array list
while(<condição>)
{
a.Add(<linha do ficheiro>);
}
// Inverter a ArrayList
a.Reverse();

// Colocar a array list na list box
lb.Items.AddRange(a.ToArray());

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora