Eli heittää filuun riville n tietoa.
Useimmat olisivat varmaan tehny tän hakemalla eka rivit line inputilla yksitellen, mutta veikkaan että tämä on paljon nopeampi. Varmaan on vieläki optimoimisen varaa mutta tämä toimii kivasti.
Jos rivi on vähemmän kuin yksi niin tieto heitetään ihan kaikkia muita rivejä ennen, ekaksi, pyyhkimättä mitään. Jos rivi on enemmän kuin mitä filussa on, niin tieto tungetaan viimeiseksi kaikkien muiden jälkeen.
Sub TungeRivi(tieto, rivi, filu)
FiluNro = FreeFile 'ekan avoimen filun nro
Open filu For Input As #FiluNro
sisältö = Input(LOF(1), 1) 'koko filun sisältö
Close #FiluNro
Open filu For Output As #FiluNro 'ja sitte tungettavaks tiedot sinne
entteri = InStr(sisältö, vbCrLf) 'missä kohtaa eka rivinvaihto
If rivi < 1 Then Print #1, tieto 'kätevä ominaisuus
While entteri 'loopataan niin kauan kunnes filusta löytyy rivinvaihtoa
rivit = rivit + 1
rivisisältö = Left(sisältö, entteri - 1) 'eka rivi sisällöstä ilman rivinvaihtoa
sisältö = Mid(sisältö, entteri + 2) 'rivinvaihdon jälkeinen sisältö, +2 siksi että vbcrlf vie kaksi merkkiä
If rivit = rivi Then 'jos on se rivi meneillään millon pitää tunkea oma tieto sinne
Print #1, tieto
Meni = True
Else 'muuten heitetään alkuperäinen sisältö
Print #1, rivisisältö
End If
entteri = InStr(sisältö, vbCrLf) 'ja seuraava rivinvaihto...
Wend
If sisältö <> "" Then Print #1, sisältö 'ja vielä viimeiset tiedot sinne jos vaikka vikan rivin lopussa ei ookaan entteriä
If Not Meni And rivi > 0 Then Print #1, tieto 'jos rivi on enemmän kuin mitä filussa on niitä niin heitetään tieto loppuun
Close #FiluNro
End Subiha kiva
Aihe on jo aika vanha, joten et voi enää vastata siihen.