1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Ajuda urgente c#

Discussão em 'Programação' iniciada por spin_, 27 de Maio de 2009. (Respostas: 1; Visualizações: 855)

  1. bom dia..sou iniciante em c#, tenho uma aplicação para fazer que é o seguinte:
    numa textbox insiro um numero quando carrego num botao ele vai a um ficheiro de texto (tipo base de dados) passa tudo para a textbox10, depois aqui vai verificar se existe esse numero..
    se existir passa toda a informacao relativa ao numero que inseri para uma richtextbox, senao apresenta mensagem d erro...

    eu nao sei se estou a fazer da maneira mais correcta
    ja tenho isto feito:

    privatevoid button1_Click(object sender, EventArgs e)
    {
    StreamReader rd = newStreamReader(@"C:\\teste.txt");
    string texto= rd.ReadToEnd();
    textBox10.Text = texto;
    rd.Close();

    int i = 0;
    string id = textBox1.Text;
    int index = id.Length;
    string[] campo = newstring[1000];
    string[] linha = newstring[1000];



    if (index == 1)
    id = "0000" + id;
    if (index == 2)
    id = "000" + id;
    if (index == 3)
    id = "00" + id;
    if (index == 4)
    id = "0" + id;

    linha = texto.Split('\n');


    /* for (i = 0; i < linha.Length -1; i++)
    {
    campo = linha.Split('|');
    if (id.CompareTo(campo[0]) == 0)
    {
    while (linha != "")
    {
    richTextBox2.Text = richTextBox2.Text + linha;
    i++;
    }
    }else messagebox.show("O id nao foi encontrado");
    }*/


    /*do
    {
    campo = linha.Split('|');
    aux = id.CompareTo(campo[0]);
    i++;
    } while (aux != 0 && i < linha.Length);
    switch (aux)
    {
    case 0:
    for (i = linha.Length -1; i >0 ;i++ )
    do
    {
    richTextBox2.Text = richTextBox2.Text + linha;
    i++;
    } while (linha != "");


    break;
    default:
    MessageBox.Show("O Id do utente inserido nÆo existe!");
    break;
    }*/

    }


    como podem ver fiz duas maneiras diferentes primeiro mais simples usei um for pra percorrer o array a procura do numero que foi inserido na caixa, ele passa tudo certo mas aqui o problema é que por o else estar dentro do for mesmo que o numero exista ele ta sempre a mostrar mensagem de erro.

    quando utilizo o switch, o problema anterior deixa de existir, mas surge outro quando entra no case 0 ele havia de me mostrar toda a informacao, mas so me passa o campo[0].

    ja agora como faço para aceder à ultima posicao de um array?

    Se alguem me poder ajudar seria optimo..
    Desde já obrigado pela atenção e ajuda.
     
    Última edição: 27 de Maio de 2009
  2. slowman

    slowman Power Member

    spin_, Qdo temos dúvidas na nossa cabeça parece simples mas depois de se passar a escrita tudo se complica. Quero dizer com isso que não entendi qual era a tua dúvida.
    Contudo não queria deixar de te ajudar em uma coisa que sei. Para acederes à última posição de um vector é o seguinte:
    - se TMP for por exemplo o teu vector acedes à última posição assim: TMP[TMP.lenght-1] -> simples não é :)

    Posso tentar também dizer o seguinte (embora saiba que vai parecer confuso): na 1ª parte do programa (no ciclo for) o que fazes é caso a string da textbox exista na linha do texto do ficheiro apresentas essa linha no richtextbox e nesse caso deves sair para o próximo i (podes usar o "continuo;"). Se richtextbox.lengh ou .lines (deve ter uma propriedade qqr) for > 0 sabes que escreveu alguma coisa e podes sair. Senão mostras o erro.

    Cumps
     

Partilhar esta Página