Andersonjb Postado Fevereiro 21, 2006 Denunciar Share Postado Fevereiro 21, 2006 E ai, pessoal, beleza? É uma duvida besta que eu quebrei a cabeça aqui e não consegui fazer... como eu faço para mim saber a quantidade de linhas do meu arquivo ??? Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Fevereiro 21, 2006 Denunciar Share Postado Fevereiro 21, 2006 Leia ele todo (com o método ReadToEnd() de um objeto StreamReader) para uma string e divida esta pelo caracter separador de linhas (vbCrLf, vbCr ou vbLf) o que vai resultar em um array. Daí basta verificar o tamanho do array (propriedade Length do mesmo).Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Andersonjb Postado Fevereiro 21, 2006 Autor Denunciar Share Postado Fevereiro 21, 2006 Eu tenho que colocar um VbcrLf no final de cada linha, certo? Mas me diz uma coisa: a propriedade Lenght retorna o numero de caracteres, como eu vou saber o numero de linhas dessa maneira? Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Fevereiro 21, 2006 Denunciar Share Postado Fevereiro 21, 2006 Eu tenho que colocar um VbcrLf no final de cada linha, certo?Não, provavelmente o arquivo já terá o ENTER (chr(13) & chr(10)), que é o vbCrLf, no final de cada linha (se foi gravado em um editor de textos no Windows).Mas me diz uma coisa: a propriedade Lenght retorna o numero de caracteres, como eu vou saber o numero de linhas dessa maneira?Não, você está confundindo com a função Len(). No caso aí, é a propriedade Length, que todo array possui e que diz a quantidade de elementos contidos no mesmo.Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Andersonjb Postado Fevereiro 21, 2006 Autor Denunciar Share Postado Fevereiro 21, 2006 Hum, entendi... mas tem como se me mostrar isso em código pra ficar mais claro ??? Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Fevereiro 21, 2006 Denunciar Share Postado Fevereiro 21, 2006 Hum, entendi... mas tem como se me mostrar isso em código pra ficar mais claro ??? É, mais claro do que isso não tem como fazer:Dim f As New IO.StreamReader("c:\pasta\arquivo.txt") Dim texto As String = f.ReadToEnd() Dim linhas As String() = texto.Split(vbCrLf) Dim qt As Integer = linhas.Length MessageBox.Show("Quantidade de linhas no arquivo: " & qt.ToString())Note que eu fiz tudo conforme descrevi no outro post.Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Andersonjb Postado Fevereiro 21, 2006 Autor Denunciar Share Postado Fevereiro 21, 2006 texto.Split(vbCrLf)O que é isso ? A função Split ! Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Fevereiro 21, 2006 Denunciar Share Postado Fevereiro 21, 2006 texto.Split(vbCrLf) O que é isso ? A função Split ! Split, do Inglês "dividir", faz exatamente o que o nome sugere: divide uma string através de um ou mais delimitadores (caracteres que ditam as diferentes partes da string). Exemplo: dim frase as string = "isto é um teste" dim palavras() as string = frase.Split(" ") for each palavra as string in palavras messagebox.show(palavra) nextCerto? Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Andersonjb Postado Fevereiro 25, 2006 Autor Denunciar Share Postado Fevereiro 25, 2006 Rapaz, há cada dia aprendendo mais! Eu nem imaginava que esse Split Existia...Aproveitando o Post, Gray, pra não cometer Flood, deixa eu perguntar uma coisa: Quando eu abor o arquivo usando uma StringReader, dessa maneira:Dim f As New IO.StreamReader("c:\pasta\arquivo.txt")eu estou abrindo um Arquivo com o formato Ascii, correto? Mas e se eu quissese abrir qualquer tipo de arquivo Unicode, como eu faria??? Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Fevereiro 26, 2006 Denunciar Share Postado Fevereiro 26, 2006 Rapaz, há cada dia aprendendo mais! Eu nem imaginava que esse Split Existia...Aproveitando o Post, Gray, pra não cometer Flood, deixa eu perguntar uma coisa: Quando eu abor o arquivo usando uma StringReader, dessa maneira:Dim f As New IO.StreamReader("c:\pasta\arquivo.txt") eu estou abrindo um Arquivo com o formato Ascii, correto? Mas e se eu quissese abrir qualquer tipo de arquivo Unicode, como eu faria??? StringReader ou StreamReader? Você falou o primeiro, mas o código está utilizando o segundo. Aliás, nem teria sentido fazer esta pergunta para o primeiro, então creio que seja mesmo o segundo. Por padrão os arquivos *já* são abertos como Unicode. Se você quiser abrir como ASCII é que você deve fazer isso: Dim f As New IO.StreamReader("c:\pasta\arquivo.txt", System.Text.Encoding.ASCII)Ok? Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Andersonjb Postado Fevereiro 27, 2006 Autor Denunciar Share Postado Fevereiro 27, 2006 Hé, eu me enganei! Mas assim, os arquivos são abertos como Unicode, correto? Mas e se o arquivo for ASCII, ele tambem, abre normal? E na hora de salvar, ele converte ou salva como Unicode tambem? Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Fevereiro 27, 2006 Denunciar Share Postado Fevereiro 27, 2006 Hé, eu me enganei! Mas assim, os arquivos são abertos como Unicode, correto? Mas e se o arquivo for ASCII, ele tambem, abre normal? E na hora de salvar, ele converte ou salva como Unicode tambem? Só vai ser necessário salvar como Unicode se existir algum caracter de código superior a 255, caso contrário o arquivo vai ser ASCII/ANSI. Os primeiros 256 caracteres Unicode são os mesmos da tabela ASCII/ANSI.Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Andersonjb
E ai, pessoal, beleza? É uma duvida besta que eu quebrei a cabeça aqui e não consegui fazer... como eu faço para mim saber a quantidade de linhas do meu arquivo ???
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados