Precitanie celeho riadku v com je chyba?   zodpovězená otázka

VB.NET

Ahoj

Chcel by som sa spytat ako precitam cely riadok od zaciatku do konca aj s medzerami?

Je to jednoducha aplikacia ktora cita riadok po riadku a zapisuje ho do suboru potom to z toho suboru upravene precita..

Prikladam kod:

'ulozi data

        Dim s1 As New IO.StreamWriter("riadkovanie.txt")     'otvori soubor



        Dim p As Integer                                     'premenna p su cisla ktore generuje za N



        For i As Integer = 0 To rtb1.Lines.Length - 1        'prejst vsetky riadky

            's1.WriteLine("N" & p & " " & i)                  'zapise do riadku N

            s1.WriteLine(i)

            p += krok1.Value

        Next

        s1.Close()



        ' nacita data

        Dim s2 As New IO.StreamReader("riadkovanie.txt")     'otvorit subor

        While Not s2.EndOfStream                             'citat pokial som neni na konci suboru

            Dim text As String = s2.ReadLine()               'nacitat riadok 

            rtb1.Text = s2.ReadToEnd                         'zapisat riadok do richtextboxu

        End While



        s2.Close()                                           'zavriet soubor

Dakujem

dodo

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nie je mi celkom jasné na čo sa pýtate.

Riadok sa dá načítať z StreamReaderu alebo z Richtextboxu.

Snáď pomôže toto :

Dim s2 As New IO.StreamReader("c:\tst.txt")
        While s2.Peek > -1
            RichTextBox1.Text = s2.ReadToEnd
            Dim text As String = s2.ReadLine() 'Nacitanie riadku z StreamReaderu
            Dim text2 As String = RichTextBox1.Lines(0) 'Nacitanie riadku z Richtextboxu
        End While
        s2.Close()

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Mne citanie zo suboru funguje dobre len zapisovanie akosi nie...

Ked mam napriklad v richtextbox-e riadok "cislo text text cislo" tak mi zapise do suboru na disku iba to prve cislo po medzeru za medzerou to uz nezapise

dodo

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Skúste miesto s1.WriteLine(i)

napísať s1.writeline(rtb1.lines(i))

Vaso

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Vy do souboru zapisujete proměnnou i a ne obsah řádku, to se pak nemůžete divit, že v souboru jsou jenom čísla. Místo

s1.WriteLine(i)

dejte

s1.WriteLine(rbt1.Lines(i))

V proměnné i se totiž postupně vystřídají čísla od 0 do počtu řádků, ale vy potřebujete vypsat i-tý řádek a ne číslo i. Přečtěte si pořádně tutoriál pro začátečníky, kdybyste chápal pole a cykly, nemusel byste se na tuhle věc ptát.

A mimochodem v načítání máte také chybu - do proměnné text si načtete první řádek a vše od druhého řádku až do konce nahráváte do RichTextBoxu. Pokud se to má takhle chovat, pak je to v pořádku, ale předpokládám (z toho, jak soubor ukládáte), že spíš chcete celý soubor načíst do RichTextBoxu. Takhle vám zmizí první řádek ze souboru.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ano ako vzdy mate pravdu.

dodo

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback