Zisťovanie dĺžky súboru

Programovacie jazyky, rady, poradňa...
redge
Light Star
Light Star
Príspevky: 287
Registrovaný: 09 feb 2011, 11:16

Zisťovanie dĺžky súboru

Príspevok od používateľa redge »

Nevie niekto, ako zistiť koľko riadkov má nejaký .txt súbor vo VB?
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Zisťovanie dĺžky súboru

Príspevok od používateľa audiotrack »

Kód: Vybrať všetko

 
Set FSO = CreateObject("Scripting.FileSystemObject")
Set file = FSO.OpenTextFile("C:\Griffin\Stewie\sexy_party.txt", 1)
file.ReadAll
msgbox (file.line)-1
redge
Light Star
Light Star
Príspevky: 287
Registrovaný: 09 feb 2011, 11:16

Re: Zisťovanie dĺžky súboru

Príspevok od používateľa redge »

dik.

//autoeditácia príspevku (03 Apr 2011, 14:10)
vyhadzuje mi chybu pri readall, že také nepozná, a ďalej mi nechce zobrať -1, end of statement expected
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

Re: Zisťovanie dĺžky súboru

Príspevok od používateľa manager666 »

Z tvojich predchadzajucich otazok odhadujem, ze robis vo VB.NET, takze audiova verzia urcena pre starsi VB(do roku 2002) ti samozrejme nepomoze. A navyse za tym messagebox-om to "-1" ma byt vnutri zatvorky, kazdopadne verzia pre .NET je nasledovna:

Kód: Vybrať všetko

Dim subor As System.IO.StreamReader = New System.IO.StreamReader("C:\subor.txt")
Dim i As Integer
Do While (subor.Peek > 0)
    subor.ReadLine()
    i = i + 1
Loop
subor.Close()
MsgBox(i)
pipiak
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 321
Registrovaný: 11 jún 2006, 9:24
Bydlisko: KE
Kontaktovať používateľa:

Re: Zisťovanie dĺžky súboru

Príspevok od používateľa pipiak »

Moze tiez pouzit triedo file info a nemusi to riesit cez cykly
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

Re: Zisťovanie dĺžky súboru

Príspevok od používateľa manager666 »

Myslis triedu System.IO.FileInfo, vsak ?
Neviem o tom, ze by obsahovala metodu na zistovanie poctu riadkov pripadne nieco, co by pomohlo, ale velmi rad sa necham poucit. :wink:
Dalsia moznost, ktora ma napadla je nasledovna:

Kód: Vybrať všetko

Dim stream As System.IO.StreamReader = New System.IO.StreamReader("C:\text.txt")
Dim txt As New TextBox
txt.Text = stream.ReadToEnd
MsgBox(txt.Lines.Length)
Ale co sa tyka pamatovej zlozitosti, myslim si, ze bude v tomto pripade vacsia ako v pripade, ktory som uviedol minule(mne osobne cykly nevadia a urcite si ten cyklus vezme menej pamati ako cely stream ulozeny v TextBoxe+TextBox samotny[aj ked je to referencny typ]).
pipiak
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 321
Registrovaný: 11 jún 2006, 9:24
Bydlisko: KE
Kontaktovať používateľa:

Re: Zisťovanie dĺžky súboru

Príspevok od používateľa pipiak »

ospravedlnujem sa,nedocital som otazku, iba nazov temy. Tu je oprava:
var lines = File.ReadAllLines(filename);
var count = lines.Length;
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

Re: Zisťovanie dĺžky súboru

Príspevok od používateľa manager666 »

Na triedu File som aj nejako pozabudol :lol: Tu je krasne vidno, kolko ma clovek moznosti...
Prepisem tvoj pripad do VB.NET:

Kód: Vybrať všetko

Dim lines() As String
lines = System.IO.File.ReadAllLines("C:\text.txt")
MsgBox(lines.Length)
redge
Light Star
Light Star
Príspevky: 287
Registrovaný: 09 feb 2011, 11:16

Re: Zisťovanie dĺžky súboru

Príspevok od používateľa redge »

pipiak napísal:ospravedlnujem sa,nedocital som otazku, iba nazov temy. Tu je oprava:
var lines = File.ReadAllLines(filename);
var count = lines.Length;
nevedel som o tom, ze vo VB existuje prikaz var :shock: :shock: :shock:
ale das mi nejaky tutorial, kde si to videl, by som sa rad naucil. :smt006 :smt006 :smt006
manager666
Star
Star
Používateľov profilový obrázok
Príspevky: 642
Registrovaný: 12 aug 2007, 13:29

Re: Zisťovanie dĺžky súboru

Príspevok od používateľa manager666 »

V češtine to nazývajú krásne "dovozování typu"(in English: Type Inference)...V slovenčine je to "dedukovanie typu" prípadne "usudzovanie typu". Znamená to, že prekladač automaticky vydedukuje podľa dát priradených premennej jej typ. Kľúčové slovo var je z jazyka C#, ak chceš túto funkcionalitu použiť vo VB.NET, stačí nenapísať pri deklarácii premennej jej typ.
Môžeš si to sám overiť:

Kód: Vybrať všetko

Dim a = "aaaaa"
MsgBox(a.GetType.ToString)
A keby si stále nepreferoval iba tutoriály, tak by si to vedel...Čudujem sa, že som ti to vôbec vysvetľoval :roll:
pipiak
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 321
Registrovaný: 11 jún 2006, 9:24
Bydlisko: KE
Kontaktovať používateľa:

Re: Zisťovanie dĺžky súboru

Príspevok od používateľa pipiak »

No ved si pozri jeho posledne temy a pochopis;)
To redge > chces byt programator, tak si najdi kurz na microsoft learn, a sprav si certifikat;) aspon pojdes poporiadku a naucis sa vsetko;)
Napísať odpoveď