Miten saisin luettua tiedostosta esim. pelkästään kymmenennen rivin? Käytän siis VB 2005 Express Editionia.
Jos kaikki rivit ei oo samanpitusia (jolloin vois soveltaa fseekiä), niin lukemalla tiedostosta kymmenen ekaa riviä, ja heittämällä yheksän ekaa hukkaan.
https://www.ohjelmointiputka.net/keskustelu/
Sieltä pari viimeistä kohtaa sisältävät itse ratkaisun. Eli FileStream ja StreamReader ovat oikeita välineitä.
Blaze kirjoitti:
Jos kaikki rivit ei oo samanpitusia (jolloin vois soveltaa fseekiä), niin lukemalla tiedostosta kymmenen ekaa riviä, ja heittämällä yheksän ekaa hukkaan.
Miten toteuttaisin tämän..? Joku esimerkki?
Katso linkki ja sovella siitä. Laitat vain silmukaksi for-silmukan 1 - rivinumero.
Heippa Aloittelija3!
Imports System.IO '/---------------------------------- Dim tekstihaku As StreamReader = File.OpenText("polku\tiedosto.txt") Dim hlpStr As String, cnt As Integer Do While cnt < 10 cnt = cnt + 1 hlpStr = tekstihaku.Readline() hlpStr = "" Loop TextBox1.Text = tekstihaku.Readline() tekstihaku.Close() TexBox1.Select(0, 0)
Kiitti, toi toimi! Entä tietylle riville kirjoittaminen?
Luet tiedostosta n riviä johonkin muuttujaan, lisäät kirjoitettavan rivin siihen perään, luet loput rivit ja lisäät ne siihen perään. Lopuksi kirjoitat koko roskan takaisin tiedostoon.
Heippa Aloittelija3!
Imports System.IO '/---------------------------------- Dim tekstihaku As StreamReader = File.OpenText("polku\tiedosto.txt") Dim hlpStr As String, cnt As Integer Do While cnt < 10 '/esim. * cnt = cnt + 1 hlpStr = hlpStr & tekstihaku.Readline() Loop hlpStr = hlpStr & TextBox1.Text & vbCrlf '/* lisäys hlpStr = hlpStr & tekstihaku.ReadToEnd() tekstihaku.Close() TextBox1.Text.Select (0, 0) cnt = Empty Dim tekstivienti As StreamWriter = File.OpenText("polku\tiedosto.txt") tekstivienti.Write(hlpStr) tekstivienti.Close() hlpStr = Empty '/----------------------------------
Eihän tuossa ole mitään järkeä, että vastaukset kerrotaan suoraan. Think pal think...
Hello tesmu!
I only ask if it's a question 'bout trying to keep some big secret or sharing some knowledge with people, here? ...I mean there are also lots of newbies out there...
Eivät ne nyypät mitään opi, jos niille antaa suoraan koodia. Paremmin oppivat, kun kertoo vain, mitä funktioita ja olioita pitää käyttää. Jos koodia antaa, niin pitää komentoida jokainen rivi kuin apinalle konsanaan.
Aihe on jo aika vanha, joten et voi enää vastata siihen.