QTDE DE LINHAS DE UM TXT SEM FAZER LOOP

FBUR 14/07/2011 13:14:51
#379147
Boa tarde!

No VB6, gostaria de saber se é possível obter a quantidade de linhas de um arquivo de texto, mas sem ser através de loop.

[]'s
KERPLUNK 14/07/2011 14:00:28
#379151
Infelizmente não...
FBUR 14/07/2011 14:03:39
#379152
EDERMIR 14/07/2011 14:26:31
#379154
Sim.

Caso a linha tenha o separador VBCRLF (salto de linha) você pode contar quantas ocorrências deste caracter existem.

Em um pensamente rápido:
Wpartes = split(Wtext1.text,vbcrlf)
Wlinhas = ubound(Wpartes)

Wlinhas = número de linhas.
ROBIU 14/07/2011 14:29:15
#379155
Resposta escolhida
Que tal o FSO?

Usando o FileSystemObject - FSO

Dim FSO As New FileSystemObject
Dim ArqTxt As TextStream
Dim Texto As String

Private Sub Command1_Click()
Set ArqTxt = FSO.OpenTextFile(App.Path & [Ô]    este.txt[Ô], ForReading, True)
Texto=ArqTxt.ReadAll
MsgBox [Ô]Arquivo Possui [Ô] & Format(ArqTxt.Line, [Ô]0000[Ô]) & [Ô] Linhas[Ô]
ArqTxt.Close
Msgbox Texto
End Sub
LLAIA 14/07/2011 15:21:54
#379165
se vc souber quantos bytes tem cada linha, dá pra estimar por tamanhoArquivo / tamanhoLinha
FBUR 14/07/2011 15:28:54
#379167
Entendi.

A propriedade ReadAll, como o nome diz, lê todos os registros do arquivo. Obviamente, quando termina de ler está na última linha. Com isso a propriedade Line retorna a linha atual, que está na última graças ao ReadAll.

Eu até já tinha usado o FSO, mas não tinha pensado desta forma.

Boa solução!

OBS:
.Line = mostra o número da linha atual
.ReadLine = mostra o conteúdo da linha atual

;)

[]'s
Tópico encerrado , respostas não são mais permitidas