Ivo Pereira Posted May 5, 2008 at 07:43 PM Report Share #183473 Posted May 5, 2008 at 07:43 PM Boas pessoal, num programa meu queria que o programa ao ler o texto (.txt), coloca-se cada linha numa listbox, mas queria que detecta-se quando há mudança de linha (já tentei com o vbNewLine e não dá (Constant cannot be the target of an assignment.). Se alguém me puder ajudar agradecia. Se não me conseguirem dizer com aquilo do detectar quando há mudança de linha, queria ao menos que me ajudassem a desenrascar isto a meter por linha na listbox. Thx cumps Link to comment Share on other sites More sharing options...
anolsi Posted May 5, 2008 at 07:47 PM Report Share #183474 Posted May 5, 2008 at 07:47 PM Estás a utilizar o split? "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
Ivo Pereira Posted May 5, 2008 at 07:51 PM Author Report Share #183475 Posted May 5, 2008 at 07:51 PM Não... isto provavelmente é um pequeno código bastante simples, aliás, eu sei que já fiz algo do género. Mas deu-me uma branca pah. LOL Será que me podias dizer como utilizo o Split neste caso? Link to comment Share on other sites More sharing options...
anolsi Posted May 5, 2008 at 07:59 PM Report Share #183477 Posted May 5, 2008 at 07:59 PM Aqui está um exemplo genérico que depois podes adaptar. Dim conjBytes() As Byte = My.Computer.FileSystem.ReadAllBytes('fiche.txt') Dim texto As String = "" For Each b As Byte In conjBytes texto &= ChrW(b) Next texto = texto.Replace(ChrW(10), "") Dim linhas() As String = texto.Split(ChrW(13)) Se tiveres dúvidas, pergunta. "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
Ivo Pereira Posted May 5, 2008 at 08:41 PM Author Report Share #183489 Posted May 5, 2008 at 08:41 PM Se tiveres dúvidas, pergunta. Ok, vamos começar 👍 O ReadAllBytes não era suposto ver o tamanho do ficheiro, ou estou em erro? O que significa &=? O que é o ChrW? 😄 Link to comment Share on other sites More sharing options...
anolsi Posted May 5, 2008 at 08:45 PM Report Share #183490 Posted May 5, 2008 at 08:45 PM O ReadAllBytes não era suposto ver o tamanho do ficheiro, ou estou em erro? O ReadAllBytes lê cada byte do ficheiro. Reapara que enquanto o ReadAllText lê todos os caracteres do ficheiro, o ReadAllBytes lê o seu código Unicode. Desta maneira, não existem problemas, que o ReadAllText têm, em comer acentos e cedilhados... O que significa &=? é uma abreviatura. É igual isto texto = texto & ChrW(b) O que é o ChrW? Transforma o valor Unicode num caracter. "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
Ivo Pereira Posted May 5, 2008 at 08:55 PM Author Report Share #183492 Posted May 5, 2008 at 08:55 PM O ReadAllBytes lê cada byte do ficheiro. Reapara que enquanto o ReadAllText lê todos os caracteres do ficheiro, o ReadAllBytes lê o seu código Unicode. Desta maneira, não existem problemas, que o ReadAllText têm, em comer acentos e cedilhados... é uma abreviatura. É igual isto texto = texto & ChrW(b) Transforma o valor Unicode num caracter. Eh la, hoje já aprendi umas coisinhas novas 😄 Olha amanhã logo testo o código porque agora tenho de ir estudar (a pedido dos meus pais xD). Depois amanhã digo algo. Cumps e obrigado Off-topic: anolsi discordo da tua frase de Um bom programador é um grande preguiçoso..., acho que ficava melhor Um bom programador é um grande curioso... Link to comment Share on other sites More sharing options...
jpaulino Posted May 5, 2008 at 09:08 PM Report Share #183493 Posted May 5, 2008 at 09:08 PM Já agora outra alternativa: Dim txtLines() As String txtLines = My.Computer.FileSystem.ReadAllText("C:\textfile.txt").Split(vbNewLine) For Each line As String In txtLines Debug.Write(line.ToString) Next anolsi, Não compliques! Um abraço Link to comment Share on other sites More sharing options...
anolsi Posted May 5, 2008 at 09:11 PM Report Share #183495 Posted May 5, 2008 at 09:11 PM Já agora outra alternativa: Dim txtLines() As String txtLines = My.Computer.FileSystem.ReadAllText("C:\textfile.txt").Split(vbNewLine) For Each line As String In txtLines Debug.Write(line.ToString) Next anolsi, Não compliques! Um abraço Mas eu já tive problemas a ler cedilhados, acentos. Eram comidos pelo ReadAllText. E desta maneira não. "Nós somos o que fazemos repetidamente, a excelência não é um feito, e sim, um hábito."Não respondo a questões por PM que possam ser colocadas no fórum! Link to comment Share on other sites More sharing options...
Ivo Pereira Posted May 5, 2008 at 09:15 PM Author Report Share #183496 Posted May 5, 2008 at 09:15 PM Já agora outra alternativa: Dim txtLines() As String txtLines = My.Computer.FileSystem.ReadAllText("C:\textfile.txt").Split(vbNewLine) For Each line As String In txtLines Debug.Write(line.ToString) Next anolsi, Não compliques! Um abraço Fizeste-me fechar o Visual Basic Express, mas ainda vou abrir para experimentar da tua maneira, já que da maneira do anolsi me deu umas cenas esquisitas e deixo essa maneira para ver e entender amanhã. LOL 😄 Mas eu já tive problemas a ler cedilhados, acentos. Eram comidos pelo ReadAllText. E desta maneira não. Por acaso comigo nunca deu qualquer problema. 👍 Link to comment Share on other sites More sharing options...
jpaulino Posted May 5, 2008 at 09:17 PM Report Share #183497 Posted May 5, 2008 at 09:17 PM Mas eu já tive problemas a ler cedilhados, acentos. Eram comidos pelo ReadAllText. E desta maneira não. Isso usa-se mais para copiar ficheiros byte a byte e não para ler ficheiros. O problema dos cedilhados, acentos, etc, está relacionado com a codificação do ficheiro. Nesse caso utilizas StreamReader e defines uma codificação. Ex: Dim sr As New StreamReader(Ficheiro, Encoding.Default) Link to comment Share on other sites More sharing options...
jpaulino Posted May 5, 2008 at 09:17 PM Report Share #183498 Posted May 5, 2008 at 09:17 PM Fizeste-me fechar o Visual Basic Express, mas ainda vou abrir para experimentar da tua maneira, já que da maneira do anolsi me deu umas cenas esquisitas e deixo essa maneira para ver e entender amanhã. LOL 😄 Mas o metodo do anolsi também funciona! 👍 Link to comment Share on other sites More sharing options...
Ivo Pereira Posted May 6, 2008 at 03:48 PM Author Report Share #183608 Posted May 6, 2008 at 03:48 PM Bom, acabei por usar o teu jpaulino, thx 🙂 Obrigado também ao anolsi, pelo esforço e trabalho realizado (apesar de eu ter usado o do jpaulino, pois era o tal código que usava mas que me tinha esquecido 😛 ), e obrigado também pelas dicas do &= e do Chrw 😉 Obrigado aos dois 😄 [glow=green,2,300]RESOLVIDO 😄 [/glow] Link to comment Share on other sites More sharing options...
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