Eli olis yksi ihmetyksen aihe.
Kun Visual Basicissa teen ohjelman ja pistän siihen nää:
Open App.Path & "\" & lähdetiedosto For Input As #1 Do Until EOF(1) Input #1, tieto jne.
Lähdetiedostossa on tietoa seuraavasti:
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxxxxxxxxx
xxxxxx,xxxxxx
Huomasin tuossa että vb tulkitsee tuon alimman rivin kahdeksi eri riviksi.. siis pilkku tuntuu iskevän rivinvaihdon siihen.. Johtuuko tämä rivinvaihto siis pilkusta vai mistä? Miten saisin ujutettua pilkkuja lähdetiedostoon ilman että tulee rivinvaihtoa? Ja onko mahdollisesti muitakin merkkejä jotka tämän tekevät ja miten tästä pääsee eroon..
"Unlike the Input # statement, the Input function returns all of the characters it reads, including commas, carriage returns, linefeeds, quotation marks, and leading spaces."
No perkele :) olisihan tuo pitänyt huomata.. Mut miten menee sen syntaksi..?
Eiku hö nojoo tai siis tuota hä? Siis hmm.. Toi example näyttää miten toi funktio lukee 1 kirjaimen siitä.. mut miten sen sais toimii ihan normaalisti.. plääh.. minä olen ihan sekasin nyt..
Laita Inputin tilalle Line Input, sitten pilkkukin tulee mukaan kun rivejä luetaan.
Tämän ongelman saan kierrettyä hiukan kikkailemalla, mutta.
Ongelma:
Line Input näyttää ottavan tyhjätkin rivit. Input ottaa tyhjät rivit "" kun taas Line Input ottaa sen tyyliin " ", eli siis Line Input ottaa tyhjän rivin yhtenä tyhjänä merkkinä. Tämä sekoittaa minun ohjelmassa yhden järjestelmän, mutta kuten sanottua saan sen varmaankin kierrettyä. Kuitenkin olisi kiva tietää onko mahdollista, että Line Input ottaisikin tyhjät rivit "" eikä " " ?
Käytä Trim() funktiota. Trimmi poistaa merkkijonon alusta ja lopusta tyhjät merkit.
Open App.Path & "\" & lähdetiedosto For Input As #1 Do Until EOF(1) Line Input #1, Trim(tieto) Loop
Trinit, musta tuntuu et se ei ihan noin toimi.. Noin vois toimia?
Line Input #1, tieto tieto = Trim(tieto)
Joo ja kiitokset suuret vaan Antti L. ja trinit.
lainaus:
Trinit, musta tuntuu et se ei ihan noin toimi.. Noin vois toimia?
Joo, niin olikin. Oli tullut ajatuskatkos näköjään tuota kirjoittaessani :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.