Gå til innhold

VB6 - Lesing av .txt filer


Anbefalte innlegg

Ok, så la oss sei att eg har lyst å lesa ein .txt fil som inneholder dette:

 

12

55

27

31

 

Og så vil eg plassere dem i hver sin tekstboks:

 

Boks1, Boks2, Boks 3, Boks4, sånn att:

 

Boks 1 = 12

Boks 2 = 55

Boks 3 = 27

Boks 4 = 31

 

Er det noen som kan hjelpe? :dribble:

Lenke til kommentar
Videoannonse
Annonse

Dim Del() as string=split(my.computer.filesystem.readalltext("C:\Fil.txt"),environment.newline)

textbox1.text=del(0)
textbox2.text=del(1)
osv

 

EDIT: Det var visst VB6 det var snakk om. Erstatt da My.computer.filesystem.readalltext("C:\Fil.txt") med det du finner etter å ha googlet "read file vb6".

 

Og hvorfor bruke piratkopiert versjon (beklager hvis jeg tar feil) av eldgamle VB6 når VB.net er gratis?

Endret av Degeim
Lenke til kommentar

Takker for svar ;)

 

Jeg søkte etter: "read file vb6" på google, og fant d ut ;)

 

Jeg vet ikke helt hvorfor jeg bruker vb6 istedenfor vb.net ^^.

 

EDIT: Jeg prøve på koden:

 

Private Sub Form_Load()

 

Dim Text1() As String

ReDim Text1(0)

Open "\userdata.txt" For Input As #1

Do Until EOF(1)

Line Input #1, Text1(UBound(Text1))

ReDim Preserve Text1(UBound(Text1) + 1)

Loop

Close #1

 

End Sub

 

Men ingenting sjer :cry:

Vett du hva som er gale?

Endret av DglZ3r0
Lenke til kommentar
Men ingenting sjer  :cry:

Vett du hva som er gale?

9506636[/snapback]

Du kan ikke deklarere en array til Text1 og forvente dette vil oppdatere tekstboksene. Dette må gjøres eksplisitt ETTER arrayen er initialisert med tekstfilens innhold:
' Først, erstatt alle forekomster av "Text1" med Lines. Legg deretter

' inn følgende kode i slutten av Form_Load (men før End Sub).

Text1.Text = Lines(0)

Text2.Text = Lines(1)

Text3.Text = Lines(2)

Text4.Text = Lines(3)

For øvrig vil jeg anbefale VB.NET (Express-utgaven er sågar gratis) over VB6. Med mindre du har noen spesiell grunn for å velge VB6 (kompatibiliet, skole, ect.), ser jeg absolutt ingen fordeler med å anvende VB6.

 

Om du mot formodning likevel skulle fortsette med VB6, vil kodebiblioteket VBCorLib være en god erstatning for mange av de utmerkede forbedringer VB.NET utgjorde - blant annet kan du løse tekstinnlastingsproblemet med følgende kode:

Private Sub Form_Load()

 

    Dim Lines() As String

    Lines = File.ReadAllLines("C:\Test.txt")

 

    Text1.Text = Lines(0)

    Text2.Text = Lines(1)

    Text3.Text = Lines(2)

    Text4.Text = Lines(3)

   

End Sub

Endret av aadnk
Lenke til kommentar

Hmm, jeg prøve på:

 

Dim Lines() As String

Lines = File.ReadAllLines("\userdata.txt")

Text1(0).Text = Lines(0)

Text1(1).Text = Lines(2)

Text1(2).Text = Lines(4)

Text1(3).Text = Lines(6)

Text1(4).Text = Lines(8)

Text1(5).Text = Lines(10)

Text1(6).Text = Lines(12)

 

Det er 172 linjer, og jeg vil att den skal kopiere hver andre linje ifra userdata.txt, og ja jeg har en .txt fil i samme mappe som heter userdata.txt.

Men det komme opp ein feilmelding:

 

Object required. . .

 

Og så blir denne linja gul:

 

Lines = File.ReadAllLines("\userdata.txt")

 

:cry:

Lenke til kommentar

For det første - ikke bruk 86 tekstbokser i samme vindu. Om brukeren har behov for å redigere 86 ulike tekstelementer, vil jeg anbefale du benytter en annen kontroll (GridView, ListView/ListBox, ect.) eller utvikler en selv.

 

Hva feilmeldingen angår, må du REFERERE VBCorLib til prosjektet ditt før koden kan anvendes. Gjør som følger:

  1. Last ned VBCorLib_Bin_2_1.zip fra denne siden.
  2. Ekstrakter ZIP-filen. Kopier VBCorLib.dll innunder VBCorLib_Bin_2_1/VBCorLib til %SystemRoot%\System32\ (vanligvis C:\Windows\System32\). Alternativt kan dette sløyfes.
  3. Åpne prosjektet ditt. Velg Project -> Reference -> Browse -> velg VBCorLib i mappen ovenfor -> Open -> Ok.

Endret av aadnk
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...