Avatar billede marvind Nybegynder
07. februar 2006 - 11:00 Der er 8 kommentarer og
1 løsning

læse og skrive i txt filer?

jeg står og skal lave et program hvor man kan skrive navne til en inputbox og lægge dem ind i et array(nemt) når man så tryker på en knap på min form skal ale data i arrayet skrives ind i en .txt fil hvordan gør man det(åbner txt filen)

jeg ved at man i almindeligt vb bare kan skrive "open filnavn.txt for output/input as #1

jeg kender ikke helt point systemet endu men jeg skal nok prøve at give jer jeres pont
Avatar billede aaberg Nybegynder
07. februar 2006 - 11:27 #1
Denne kode virker:


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim names() As String = {"Ole", "Hans", "Grete"}
        Dim stream As New IO.FileStream("c:\\temp\\test.txt", IO.FileMode.Create)
        Dim writer As New IO.StreamWriter(stream)

        For Each name As String In names
            writer.WriteLine(name)
        Next

        writer.Close()

    End Sub
Avatar billede marvind Nybegynder
07. februar 2006 - 11:37 #2
jeg er rimelig ny til visual basic sååå.....
hvad betyder de her fejl:
(58): Method 'Button1_Click' has multiple definitions with identical signatures.
(59): Statement cannot appear within a method body. End of method assumed.
(72): 'End Sub' must be preceded by a matching 'Sub'.
Avatar billede marvind Nybegynder
07. februar 2006 - 11:40 #3
nu har jeg selv løst 2 og 3 men jeg mangler stadig 1
Method 'Button1_Click' has multiple definitions with identical signatures
Avatar billede aaberg Nybegynder
07. februar 2006 - 12:07 #4
Dette betyder at du har 2 Subs som hedder Button1_Click.

Dette er højest sansynligt fordi du har dobbeltklikket på din knap som hedder Button1. Dette vil lave en Sub som hedder Button1_Click som bliver kalt når du trykker på Button1 med musen. Derefter har du copy/pasted min kode ind, som også definere en Sub som hedder Button1_Click.

Løsningen er at slette den ene Sub.
Avatar billede arne_v Ekspert
07. februar 2006 - 14:48 #5
man skal ikke bruge \\ i VB.NET

og man kan sagtens oprette en StreamWriter uden at oprette en FileStream foerst
(bare med filnavnet som argument)
Avatar billede marvind Nybegynder
08. februar 2006 - 09:07 #6
juhuu! det virker helt fint! jeg ændrede bare "c:\\temp\\test.txt" til "filnavn.txt" hvis i får tid må i meget gerne forklare hvordan det fungerer
Avatar billede aaberg Nybegynder
08. februar 2006 - 13:55 #7
I dotnet foregår det meste dataudveksling via streams. Dette er f.eks. når du skriver til en fil (FileStream), sender information via netværket (NetworkStream), eller internt i dit program kan du bruge en MemoryStream osv. Så der er i princippet ingen forskel på at læse og skrive til en fil, eller kommunikkere med en server på netværket.

En Stream er altså en forbindelse, hvorigennem det er muligt at læse og skrive binær data. Når man opretter en FileStream, åbner man en sådan forbindelse ned i den angivne fil.

Derefter har jeg oprettet en StreamWriter, som gør det nemmere at skrive ned i streamen. Hvis du ikke opretter en StreamWriter, må du først konvertere din tekst til binær data, hvorefter du kan bruge FileStream.Write() for at skrive dataene ned i filen. Dette sker automatisk med en StreamWriter. Hvis du skal læse fra filen igen, skal du bruge en StreamReader.

Derefter går jeg igennem alle navnene i arrayet, og skriver dem ned i Streamen.

Da en Stream har en åben "kanal" ned i filen, bliver du nød til at kalde StreamWriter.Close() for at lukke for denne åbning.
Avatar billede marvind Nybegynder
11. februar 2006 - 00:02 #8
aaberg80 > > smider du ikke lige et svar så jeg kan komme af med pointene? =D
Avatar billede aaberg Nybegynder
13. februar 2006 - 10:36 #9
svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester