Avatar billede kamak Praktikant
26. april 2002 - 15:07 Der er 13 kommentarer og
1 løsning

Kan ikke gemme String med linieskift! HJÆLP

Jeg har et stort problem.

Jeg har en textbox med multiline = true
Der bliver så skrevet noget i den og når der trykkes på en knap, bliver det hele gemt i en string - hvilket fungere fint.

Denne string (kaldet: tekst(1) ) kan også nemt vises i en label (også med multiline) med alle linierne. Men når jeg så gemmer stringen i en fil:

Open "tekst.txt" For Output As #1
Print #1, tekst(1)
Close #1

og loader den igen (næste gang programmet startes):

Open "tekst.txt" For Input As #1
Line Input #1, tekst(1)
Close #1

Så er det kun den første linie der kan vises i en label. Hvordan får jeg alle linierne med?
Jeg håber I forstår hvad jeg mener ellers skal jeg gerne forklaere det tydeligere.
Avatar billede medions Nybegynder
26. april 2002 - 15:11 #1
Prøv der hvor du vil ha' udskrevet teksten igen at skrive:

strUdskriv = Replace(tekst(1),"" & vbCrLf & nline

-ved ikke om det virker!

//>Rune
Avatar billede kamak Praktikant
26. april 2002 - 15:21 #2
Jeg er ikke helt med på hvad du mener. Hvordan skal jeg helt nøjagtig gøre?
Avatar billede kamak Praktikant
26. april 2002 - 15:22 #3
jeg har hævet point til 110. Jeg SKAl have dette problem løst
Avatar billede el_gnu Nybegynder
26. april 2002 - 15:33 #4
Er det ikke fordi du kun læser én linje?

Burde det ikke være

Open "tekst.txt" For Input As #1
Input #1, tekst(1)
Close #1
Avatar billede el_gnu Nybegynder
26. april 2002 - 15:35 #5
eller i det mindste et loop der læser alle linjer indtil EOF
Avatar billede kamak Praktikant
26. april 2002 - 15:37 #6
har lige prøvet. Det giver samme resultat, jeg får stadig kun den første linie.
Jeg ved faktisk ikke hvad forskellen er mellem line input og kun input - men det ser ud som om der ingen forskel er :-(
Avatar billede kamak Praktikant
26. april 2002 - 15:40 #7
et loop der læser alle linjer indtil EOF - Du har måske fat i noget der :-)
Avatar billede el_gnu Nybegynder
26. april 2002 - 15:42 #8
prøv noget à la:

Dim  buffer As String
tekst(1) = ""

Do Until EOF(1)
  Line Input #1, buffer
  tekst(1) = tekst(1) & buffer
Loop
Avatar billede el_gnu Nybegynder
26. april 2002 - 15:43 #9
Avatar billede sjh Nybegynder
26. april 2002 - 15:48 #10
Private Sub Command1_Click()
Dim strTekst As String
strTekst = tekst(1)
  Open "tekst.txt" For Output As #1
    Print #1, strTekst;
  Close #1
End Sub

Private Sub Form_Load()
Dim strTekst As String
  Open "tekst.txt" For Binary As #1
    strTekst = Space(LOF(1))
    Get #1, 1, strTekst
  Close #1
tekst(1) = strTekst
End Sub
Avatar billede kamak Praktikant
26. april 2002 - 15:49 #11
Nu får jeg alle linierne med. De kommer bare til at stå efter hinanden istedet for på hver sin linie i labelen...
Avatar billede kamak Praktikant
26. april 2002 - 15:55 #12
JA, sjh det virker sq :-)
Avatar billede kamak Praktikant
26. april 2002 - 15:57 #13
takker :-)
Avatar billede sjh Nybegynder
26. april 2002 - 15:58 #14
det var så lidt, selv tak. :-)
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