Tein tässä ohjelman, mikä lukee txt-tiedostoa, ja tulostaa lukemansa tekstin Labeliin... Toimi muuten ihan kivasti, mutta ääkköset jäivät jonnekin, eli kun siellä tiedostossa luki: "Tämä on tekstiä", niin labeliin tulostuikin vain "Tm on teksti"
Tässä koodi:
Dim FILE_NAME As String = "c:\temp\test.txt"
Dim sr As StreamReader = File.OpenText(FILE_NAME)
Dim line As String
Dim Text As String
Do
line = sr.ReadLine()
Text = Text line
Loop Until line Is Nothing
sr.Close()
Label1.Text = Text
Tämä on sitten äkkiä kasattu testi ohjelma... Minä vaan opettelen perusteita.
Olisiko jossain kohtaa pitänyt määritellä ohjelma käyttämään jotain tiettyä koodisivua tms? Ja jos olisi, niin miten se olisi pitänyt tehdä?
Ääkkösten luku?
8
912
Vastaukset
- Tommi
Olisiko tuo tekstitiedosto kenties Unicode-muodossa ? Jos näin on, pitäisi tuo luettu puskuri käyttää jonkin UTF-konversion läpi ennen tulostamista.
- Typerys...
Tarkistin asiaa, olen juuri vaihtanut käyttöjärjestelmää, ja XP:n muistio olikin hieman monimutkaisempi kuin edellisissä...
Tuo txt-tiedosto olikin tallennettu ANSI muotoisena...
Tallensin tekstitiedoston uudestaan UTF-8 koodauksella ja nyt se toimii...
En edes ajatellut, että yksinkertaisen txt-tiedoston voisi tallentaa useammalla eri tavalla... Kiitän avustasi. - Toinen Typerys
Typerys... kirjoitti:
Tarkistin asiaa, olen juuri vaihtanut käyttöjärjestelmää, ja XP:n muistio olikin hieman monimutkaisempi kuin edellisissä...
Tuo txt-tiedosto olikin tallennettu ANSI muotoisena...
Tallensin tekstitiedoston uudestaan UTF-8 koodauksella ja nyt se toimii...
En edes ajatellut, että yksinkertaisen txt-tiedoston voisi tallentaa useammalla eri tavalla... Kiitän avustasi.Alle viikon olen itse VB:tä opiskellut, mutta eikö tällä tavalla olisi helpompi lukea tekstitiedostoja?
Dim luettu As String
Open "C:\tiedosto.txt" For Input As #1
Input #1, luettu
Close #1
Label1.Caption = luettu
Jos tämä tyyli ei käy, niin miksei? - Typerys...
Toinen Typerys kirjoitti:
Alle viikon olen itse VB:tä opiskellut, mutta eikö tällä tavalla olisi helpompi lukea tekstitiedostoja?
Dim luettu As String
Open "C:\tiedosto.txt" For Input As #1
Input #1, luettu
Close #1
Label1.Caption = luettu
Jos tämä tyyli ei käy, niin miksei?Toimiiko .NET versiossa?
Juuri kokeilin, ja heitti vaikka mitä erroreita... - Toinen Typerys
Typerys... kirjoitti:
Toimiiko .NET versiossa?
Juuri kokeilin, ja heitti vaikka mitä erroreita....NETistä en tiedä mitään, VB6:lla kun itse ohjelmoin, ja siinäpä onkin vastaus kysymykseeni miksei koodi kelpaa ;)
- Typerys...
Toinen Typerys kirjoitti:
Alle viikon olen itse VB:tä opiskellut, mutta eikö tällä tavalla olisi helpompi lukea tekstitiedostoja?
Dim luettu As String
Open "C:\tiedosto.txt" For Input As #1
Input #1, luettu
Close #1
Label1.Caption = luettu
Jos tämä tyyli ei käy, niin miksei?Dim FILE As String
Dim Luettu As String
Dim kaikki As String
FILE = "c:\tiedosto.txt"
FileOpen(1, FILE, OpenMode.Input)
Do Until EOF(1)
Input(1, Luettu)
kaikki = kaikki Luettu
Loop
FileClose(1)
Label1.Text = kaikki
Lueskelin vähän input-komennosta, ja sain kasattua tuommoisen version... Tuo toimii .NETissä. Jos nyt jotain sattuu kiinnostamaan... Tosin ilmeisesti tuo taas vaatii sen että tiedoston koodaus on ANSI, eikä UTF-8 kuten tuolla toisella tavalla...
- -jk-
Tuonhan voi tehdä vaikkapa näin:
Imports System.IO
Dim Sr As StreamReader = New StreamReader("c:\temp\test.txt", System.Text.Encoding.Default)
Dim line As String
Dim Text As String
Do
line = Sr.ReadLine()
Text = Text line
Loop Until Sr.Peek = -1
Sr.Close()
Label1.Text = Text
Parempi käyttää Peekiä kuin Nothingia, koska tyhjä stringi (eli jos on pelkkä rivinvihto) lopettaa tekstitiedoston lukemisen.- Typerys...
Otsikossa olikin jo kaikki oleellinen... Eli kiitos.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Kalle Palander kertoi fantasioivansa siitä, kuinka Kiira Korpi naisi häntä sträppärillä ahteriin
Sai potkut Yleltä. https://yle.fi/a/74-201400005328527Aamuseuraa/rehevää naista
uhkean rehevät m-xxxl naiset/rouvat/pari 18-80v kutsu luokses 31.1 aamusta päiväpanoille 32v hetero mies.oon innokas nuo4366224h Kirppis
Olen muuttamassa paikkakunnalle ja mietin olisiko tälläiselle liikkeelle tarvetta alueella?72193Suomessa eletään liian pitkään
"Ihmisten on kuoltava" Asiantuntija varoittaa: Suomi ei ole valmis siihen, että niin moni elää pitkään: ”Kaiken täytyy1571163Kerotakaa joensuun kontiolahden paiholan laitoksesta jotain
Mun kaveri joutuu paiholan laitokseen nyt lähi aikoina niin voisko ihmiset kertoa minkälaista siellä on tarinoita jne ja17806Sun ulkonäkö on
Kyllä viehättävä. Kauniit piirteet. Todella sievät. Ja olemus on ihana. Olet tehnyt vaikutuksen.37736Olen niin haaveillut
Sinusta. Ollut hullun rakastunut. Ajatellut kaikkea mitä yhdessä voisimme tehdä. Mutta ei ei yhtään mitään. Usko vaan lo57732Oletko koskaan
Tavannut/tuntenut ihmistä, jonka kanssa vuosisadan rakkaustarina olisi ollut mahdollinen, mutta joku este tuli väliin?68706- 42686
En voi ottaa
Jos ikinä aiot ottaa yhteyttä, niin tee se nyt. On aika, kun todella todella tarvitsisin sinua. Naiselle.36637