Just nu i M3-nätverket
Gå till innehåll

Problem att spara från fil till array


Blask

Rekommendera Poster

Hej

 

Jag har gjort ett litet program som hämtar information från en textfil och sparar den i array’s (strArr1).

 

       Dim strArr1() As String
       Dim intCountLine As Integer = 0 ' Räknare för Do While-satsen.
       Dim i As Integer = 0            ' Räknare för For Next-satsen.
       Dim strText As String = ""

       ' Skapar en referens till StreamReader.
       Dim sr As StreamReader

       ' Koppla objektet till textfil.
       ' texten i filen "min_testfil.txt" innehåller ett ord per rad (att, mat, träd...)
       sr = File.OpenText("min_testfil.txt")

       ' Läs rad för rad i textfil.
       Do While sr.Peek <> -1
           ' Läs in data och spara i strArr1.
           strArr1(intCountLine) = sr.ReadLine
           ' Räkna hur många rader i textfil.
           intCountLine = intCountLine + 1
       Loop

       ' Bryt kopplongen till textfil.
       sr.Close()

       ' Läs av alla strArr1 och sätt ihopp dem till en textsträng.
       For i = 0 To intCountLine
           strText = strText & strArr1(i) & ", "
       Next

       ' Visa textsträngen i en textbox.
       txtBox1.Text = strText

 

När jag definierar min array så kan man ange hur många array’s de ska finnas. Men hur gör jag om jag inte vet hur många rader min textfil innehåller, hur får jag den mer dynamisk?

 

Jag provade med att inte ange antalet arry (Dim strArr1() As String), men då får jag felmeddelandet ”An unhandled exception of type 'System.NullReferenceException' occurred” på raden (strArr1(intCountLine) = sr.ReadLine).

 

 

Länk till kommentar
Dela på andra webbplatser

Nu förstår jag iof inte varför du först vill lägga texten i an array för att sedan direkt lägga det i en sträng... Men du kan ju använda split för att köra in strängen i en array och använda radbrytning för att anger vilkor för spliten. Typ:

myArr = Split(myTxtStr, vbCrLf)

 

/Cluster

------------------------------------------------------

"Den som försummar att dricka ur erfarenhetens källa

kommer troligen att dö av törst i okunnighetens öken."

------> http://eforum.kicks-ass.net <------

 

[inlägget ändrat 2005-04-07 13:51:20 av Cluster]

Länk till kommentar
Dela på andra webbplatser

Hej

 

Jo först kan jag säga att koden inte är färdig och jag hade tänkt att till slut använda array för att hantera mina småsträngar.

Har funderat på om man skulle använda split, först läsa in all text från textfilen till en sträng och sedan stycka upp och spara till array.

Men tillbaka till array. Kan jag i samband med att jag läser in data till mina array skapa nya array så jag får så många jag behöver. Vad gör jag om jag inte vet hur många rader jag kommer att läsa in?

 

 

Länk till kommentar
Dela på andra webbplatser

Använd t ex hjälpklassen ArrayList som är en dynamisk array som växer när du lägger till element. ;)

 

 

/

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...