Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Jak policzyć ilość linii w pliku TXT?
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002
Jak policzyć ilość linii w pliku TXT?

Potrzebuję policzyć ilość linii w pliku *.txt. Plik będzie miał zmienną ilość tych linii... Czy ktoświe jak to zrobić?


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


17-04-2004 15:39
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
andrey
Łódź



Typ: neutral
Postów: 295
Zarejestrowany: Mar 2003

Jeżeli chcesz wiedzieć ile jest wszystkich linii w pliku txt ( i tych zapisanych i tych pustych) najprostszy kod może wyglądac następująco:

Private Sub Form_Load()

Dim s As String ' Zmienna przechowuje łańcuchy znaków
Dim l As Integer ' zmienna przechowuje ilosc linii w pliku
 
  Open "sciezka_do_pliku_txt" For Input As #1
      Input #1, s ' Czyta pierwszy rekord
      l = l + 1 ' nie wazne co tam jest zliczamy to
    Do Until (EOF(1) = True) ' Czyta dopoki nie napotka konca pliku
    Input #1, s ' Czyta nastepny wiersz
      l = l + 1 ' zlicza ten wiersz
    Loop
  Close #1 ' zamykamy pliczek
    MsgBox "Ilość linii w pliku txt: " & l ' i patrzymy co wyszlo
End Sub


_____________________________________________
http://www.carbondesign.pl/ - rowery poziome, trójkołówce, handbike-i, tuning, akcesoria

17-04-2004 15:59
Pokaż profil andrey  Wyślij email do andrey   Odwiedź stronę andrey       3078613
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

Czyli jak mam entery na końcu to je też policzy... A jak chciałbym tylko zapełnione linie...?


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


17-04-2004 17:59
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

Bo szczerze mówiąc mój plik ma 133 linie i wszytskie pełne, a Twój programik mówi, że ma 138...


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


17-04-2004 18:14
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
kros




Typ: neutral
Postów: 39
Zarejestrowany: Apr 2003

Ja zrobiłbym to trochę inaczej. Ładuję plik do stringa i sprawdzam ilość karetek powrotnych np:

l = 0 'Ilość lini
i = 1
Do While InStr(i, MojPlik, vbCrLf, vbTextCompare) <> 0
  i = i + 1
  l = l + 1
Loop


_____________________________________________

(Im więcej wiem to wiem, że mało wiem)

17-04-2004 19:32
Pokaż profil kros  Wyślij email do kros   
Viper87



Typ: neutral
Postów: 490
Zarejestrowany: Oct 2002

A w jakiej zmiennej mam znaleźć wynik? Po wszytskie po tej pętli są wyzerowane z wyjątkiem i...


_____________________________________________
Viper

"Savoir c`est prevoir, prevoir c`est prevenir". 
(Wiedzieć to przewidzieć, przewidzieć to zapobiegać) 


17-04-2004 19:38
Pokaż profil Viper87  Wyślij email do Viper87   Odwiedź stronę Viper87  
karolinavb




Typ: neutral
Postów: 468
Zarejestrowany: Jan 2003

Jeśli masz wątpliwości przeczytaj przykład na stronie http://www.vb-helper.com/howto_count_file_lines.html

Pozdrawiam Karolina


_____________________________________________
Karolina

17-04-2004 21:31
Pokaż profil karolinavb  Wyślij email do karolinavb   
andrey
Łódź



Typ: neutral
Postów: 295
Zarejestrowany: Mar 2003

Viper wykaż sie kreatywnością najprostszym sposobem na usunięcie rozpoznawania pustej linii jako linii zapisanej jest zmiana kodu(zmiana na niebiesko):
Private Sub Form_Load()

Dim s As String ' Zmienna przechowuje łańcuchy znaków
Dim l As Integer ' zmienna przechowuje ilosc linii w pliku

  Open "sciezka_do_pliku_txt" For Input As #1
      Input #1, s ' Czyta pierwszy rekord
      If s <> "" Then l = l + 1 '  wazne co tam jest sprawdzamy i dopiero zliczamy
    Do Until (EOF(1) = True) ' Czyta dopoki nie napotka konca pliku
    Input #1, s ' Czyta nastepny wiersz
      If s <> "" Then l = l + 1 ' zlicza ten wiersz
    Loop
  Close #1 ' zamykamy pliczek
    MsgBox "Ilość linii w pliku txt: " & l ' i patrzymy co wyszlo
End Sub


_____________________________________________
http://www.carbondesign.pl/ - rowery poziome, trójkołówce, handbike-i, tuning, akcesoria

17-04-2004 23:00
Pokaż profil andrey  Wyślij email do andrey   Odwiedź stronę andrey       3078613
Wszystkich odpowiedzi: 7 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1