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

jluis

Manipular ficheiros de texto II

5 mensagens neste tópico

Ora ja que tenho este post aqui aproveito e faxo ja mais 2 perguntas que ainda nao me deu o meu prof, pois so o vejo uma vez por semana...

1)tenho uma datagrid que funciona atravez de um ficheiro de texto, e aquilo modificando um ele guarda no ficheiro esse socio alterado vai para o fim do ficheiro e na datagrid acontece exatamente o mesmo, o que queria saber e se da para por a datagrid a "aparecer" todo por ordem numeria do numeros de socio!

2) tenho o codigo para inserir um socio no ficheiro mas como me pediram para aquilo ser introzido o numero manualmente tenho que por la uma valida e como o codigo ta feito para me guardar direito tenho de por um "exit for" senao da a parte da validaçao mas gravame o numero, ora o problema pode ser facil e resolver mas eu ja tou a uns dias a ver isto e nao tou a ver o que tenho de fazer, era fixe se me podessem dar aqui uma ajuda...

For i As Integer = 0 To tabelasocios.Count - 1
                If tabelasocios.Item(i).numero = Me.Txtnumero.Text Then
                    MsgBox("Numero existente, insira outro", MsgBoxStyle.Information)
                    'Me.Txtnumero.Text = ""
                Else
                    Dim s As New socios()
                    s.numero = Val(Txtnumero.Text)
                    s.nome = Txtnome.Text
                    s.morada = Txtmorada.Text
                    s.codpostal = Txtcodpostal.Text
                    s.localidade = Txtcon.Text
                    s.mail = Txtmail.Text
                    s.telefone = txttel.Text
                    s.telemovel = Txtmovel.Text
                    s.fax = txtfax.Text
                    s.nif = txtnif.Text
                    s.bi = txtbi.Text
                    s.data_emissao = txtdataemi.Text
                    s.datanax = Txtnax.Text
                    s.proficao = Txtprof.Text
                    s.estudante = Txtestudante.Text
                    s.habilitacao = txtha.Text
                    s.interesses = txtai.Text
                    If Me.CheckBox1.Checked = True Then
                        s.priva = True
                    Else
                        s.priva = False
                    End If
                    tabelasocios.Add(s)
                    resicla.guardarficheiro()
                End If
                Exit For (tirando isto ele da mas guarda o numero que foi introduzido no numero de socio +1)
            Next

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

1) Tens a datagrid binded a um ficheiro de texto? Se tiveres possibilidade de passar os dados por uma datatable antes de fazer bind, crias uma instancia de dataview a partir da datatable, fazes o bind da datagrid à dataview e usas o Sort.

2) O Exit For no sítio onde está, está a invalidar o ciclo. Não deveria estar lá em cima, antes do ELSE, para sair do ciclo quando detectas que o número já existe? Ainda que nao faça diferença nenhuma meter lá, porque o ciclo não tem mesmo mais nada para fazer depois do IF...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas, ribeiro55 tas-me a dar uma grande ajuda...

tipo a parte do exit for e a tal cena de só alguém de fora consegue ver...xD

agora com o datagrid tive a analisar bem a coisa e vi provavelmente a solução mais fácil acho que é alterar o guardar, tipo ao introduzir-mos um registo para guardar, ele em vez de guardar tudo o que esta na memoria, ora so que se virmos assim temos que ao guardar por ordem numérica na memoria.

qual será a solução mais facil?

arranjar um código para por a datagrid a aparecer por ordem numérica ou alterar o guardar deforma que fique nos ficheiro por ordem numérica!

aguardo uma resposta...B)

e desde ja obrigado...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A melhor forma depende do que tens, mas de qualquer maneira...

Hoje precisas "assado" mas amanhã podes precisar "cozido", por isso aposta na ordenação na leitura.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok... mas como eu não sou grande programador, só me consigo desenrascar por isso seria muito pedir o teu mail para poderes me dares mais tarde umas dicas?

quanto ao que me disses-te... sim e melhor modificar o modo de leitura, pois se eu mudificar a leitura ele como guarda como ta na memoria vai sempre guardar por ordem... agora ai vou eu começar mais uma maratona para ver como vou fazer...xD

cumprs e um muito obrigado...;)

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