Lukas S. Posted May 14, 2012 at 06:10 PM Report #455533 Posted May 14, 2012 at 06:10 PM (edited) Estou a tentar fazer com que ele leia um ficheiro e que guarda linha a linha sendo que a primeira linha será user a segunda senha e assim sucessivamente guardando em ListaUtilizadores(i).user & ListaUtilizadores(i).senha os dados que eu quero ... mas está me a dar um erro a dizer que ultrapassou o fim do ficheiro sendo que tem lá um EOF(1) Alguém sabe como resolver isto ? OpenFileDialog1.CheckFileExists = True OpenFileDialog1.ShowDialog() Try FileOpen(1, OpenFileDialog1.FileName, OpenMode.Input) Do Until EOF(1) ReDim Preserve ListaUtilizadores(i + 1) Dim a As New Utilizador ListaUtilizadores(i) = a ListaUtilizadores(i).user = LineInput(1) ListaUtilizadores(i).senha = LineInput(1) i += 1 ReDim Preserve ListaUtilizadores(i + 1) Loop n = i - 1 Catch ex As Exception MsgBox(ex.ToString) Finally FileClose(1) End Try End Sub Edited May 14, 2012 at 09:35 PM by Caça GeSHi E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.
José Lopes Posted May 14, 2012 at 08:41 PM Report #455559 Posted May 14, 2012 at 08:41 PM Podes postar o ficheiro para melhor análise??? Quando te pedirem peixe.... ensina-os a Pescar!!Hum..lálálálá!!
Lukas S. Posted May 14, 2012 at 09:11 PM Author Report #455573 Posted May 14, 2012 at 09:11 PM Podes postar o ficheiro para melhor análise??? o ficheiro só tem abc abc lucas lucas Sem espaços sem paragrafos sem nada tal como está . E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.
bsccara Posted May 15, 2012 at 01:56 AM Report #455636 Posted May 15, 2012 at 01:56 AM Não terás uma linha em branco no fim do ficheiro ? Quando o abres num editor e fazes Ctrl+End o cursor fica no final do segundo 'lucas' ? Como estás a fazer dois LineInput por cada EOF se o ficheiro tiver um número impar de linhas vai dar erro no segundo LineInput.
Tuntankamon Posted May 15, 2012 at 08:43 AM Report #455653 Posted May 15, 2012 at 08:43 AM (edited) O .net tem outras classes para fazer esse trabalho, em vez de utilizares como estás a fazer, porque não utilizas algo deste género: OpenFileDialog1.CheckFileExists = True OpenFileDialog1.ShowDialog() Dim listaUtilizadores As New List(Of Utilizadores) Try Dim conteudoFicheiro As String() = IO.File.ReadAllLines(OpenFileDialog1.FileName) For i As Int16 = 0 To conteudoFicheiro.Length - 1 Step 2 Dim novoUser As New Utilizador novoUser.user = conteudoFicheiro(i) novoUser.pass = conteudoFicheiro(i + 1) listaUtilizadores.add(novoUser) Next Catch ex As Exception MsgBox(ex.ToString) End Try E tens de ter atenção como foi referido à possibildade de existirem linhas em branco no fim do ficheiro... Edited May 15, 2012 at 08:44 AM by Tuntankamon
Lukas S. Posted May 15, 2012 at 05:38 PM Author Report #455820 Posted May 15, 2012 at 05:38 PM O .net tem outras classes para fazer esse trabalho, em vez de utilizares como estás a fazer, porque não utilizas algo deste género: OpenFileDialog1.CheckFileExists = True OpenFileDialog1.ShowDialog() Dim listaUtilizadores As New List(Of Utilizadores) Try Dim conteudoFicheiro As String() = IO.File.ReadAllLines(OpenFileDialog1.FileName) For i As Int16 = 0 To conteudoFicheiro.Length - 1 Step 2 Dim novoUser As New Utilizador novoUser.user = conteudoFicheiro(i) novoUser.pass = conteudoFicheiro(i + 1) listaUtilizadores.add(novoUser) Next Catch ex As Exception MsgBox(ex.ToString) End Try E tens de ter atenção como foi referido à possibildade de existirem linhas em branco no fim do ficheiro... Qual a diferença ? E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.
Lukas S. Posted May 15, 2012 at 05:50 PM Author Report #455822 Posted May 15, 2012 at 05:50 PM (edited) Gostava de fazer login por cada utilizador mas nao estou a conseguir também For Each listaUtilizadores As Utilizador In .......... login() Next Obs: Fiz o seguinte Dim l As Integer For l = 0 To listaUtilizadores.Count login() Next vou testar agora Obs: Não deu ele repete sempre o primeiro 😕 Edited May 15, 2012 at 06:34 PM by Lukas S. E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.
thoga31 Posted May 15, 2012 at 07:23 PM Report #455853 Posted May 15, 2012 at 07:23 PM Tens de dar indicação no Sub login sobre qual o utilizador. Fazer tão-somente login() não vai indicar nada à subrotina. Ah,k e a diferença é haver bibliotecas novas e cheias de novas funcionalidades na plataforma .NET enquanto tu estás a utilizar métodos do VB clássico, métodos estes mantidos actualmente apenas por uma questão de facilitar a compatibilidade. Knowledge is free!
Lukas S. Posted May 15, 2012 at 08:50 PM Author Report #455894 Posted May 15, 2012 at 08:50 PM Tens de dar indicação no Sub login sobre qual o utilizador. Fazer tão-somente login() não vai indicar nada à subrotina. Ah,k e a diferença é haver bibliotecas novas e cheias de novas funcionalidades na plataforma .NET enquanto tu estás a utilizar métodos do VB clássico, métodos estes mantidos actualmente apenas por uma questão de facilitar a compatibilidade. thoga ensinam-me estes métodos na escola e sempre os usei ... :X um bocado complicado E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.
thoga31 Posted May 15, 2012 at 08:54 PM Report #455896 Posted May 15, 2012 at 08:54 PM thoga ensinam-me estes métodos na escola e sempre os usei ... :X um bocado complicado Ensinam em pleno 2012 métodos ante-2005? Valha-nos Santa Justa e mais o seu elevador... Mete o "Until EOF" no Loop e não no Do - poderá ajudar, não sei, foi um palpite que me surgiu de repente... Knowledge is free!
Lukas S. Posted May 16, 2012 at 05:43 PM Author Report #456160 Posted May 16, 2012 at 05:43 PM Ensinam em pleno 2012 métodos ante-2005? Valha-nos Santa Justa e mais o seu elevador... Mete o "Until EOF" no Loop e não no Do - poderá ajudar, não sei, foi um palpite que me surgiu de repente... só por curiosidade tás a falar do que ? E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.
thoga31 Posted May 16, 2012 at 09:12 PM Report #456217 Posted May 16, 2012 at 09:12 PM só por curiosidade tás a falar do que ? Possivelmente do teu problema... Sugeri que no teu ciclo Do Loop Until metas a condição no Do e não no Loop, poderá ajudar, não sei... Muutas vezes estes erros acontecem por estas cenas um pouco inexplicáveis. Knowledge is free!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now