Avatar billede zelebris Nybegynder
18. december 1999 - 19:06 Der er 11 kommentarer og
1 løsning

Hurtigste måde at loade en text fil til en textbox

Jeg skal bruge en kode der kan åbne en linie fra en fil til en textbox, f.eks er der på linie 4 står der hvliken start side browseren skal start op på.
På linie 5 er der så titlen på vinduet, osv.
Altsammen skal loades ind i et vindue med en masse textboxes, hvår man så kan ændre de forskelige data. Selve gemmeprocessen er ikke noget problem!
Hvad er den hurtigste måde at loade data'erne?

Mvh. Nicolai Kofoed
Avatar billede winkill Nybegynder
18. december 1999 - 19:28 #1
Hvis du gemmer filen som nedenfor...
Caption=Mit program
Text1=Første tekst
Text2=Anden tekst

så kan du bruge følgende kode til at indlæse filen igen:

Dim Ref, Par
Open "minfil.txt" for input as 1
While Not EOF(1)
  Line Input #1, Dat
  Ref = Mid(Dat, 1, InStr(1,Dat,"=") - 1)
  Par = Mid(Dat, InStr(1,Dat,"=") + 1)
  Select Case Ref
  Case "Caption"
    Form1.Caption = Par
  Case "Text1"
    Text1.Text = Par
  Case "Text2"
    Text2.Text = Par
  End Select
Wend
Close #1
Avatar billede joern Nybegynder
18. december 1999 - 19:33 #2
Hej Nikolaj.

Hvis ikke din tekstfil ligger i samme mappe som dit program, må du angive hvor filer er.  Jeg går ud fra, at der er mange "poster" i din tekstfil, og at der til hver post hører lige mange linier, - ellers går det ikke.  En af linierne - den første for hver post f.eks. - skal indeholde éntydig identifikation.

Foruden dine tekstfelter, skal din form indeholde en listeboks, hvor du kan vælge den post, du vil redigere i eller anvende.

Hvis der f.eks. til hver post hører 20 linier:

Dim linie(20) as string


Open netsti & "\tekst.fil" for input as #1
    Do while EOF(1)=False
      For x=0 to 19 
          Line Input #1, linie(x)
          Dinliste.additem linie(0)
      Next
    Loop

Når du så klikker på en linie i listeboksen skal du åbne filen igen og læse indtil du når den valgte post's id.  Derpå kan du anbringe de øvrige 19 strenge i deres respektive tekstbokse.  Dette kan elegant gøres hvis de har samme navn med et indeks.

Jeg har på min hjemmeside http://www.jkfsoft.dk/sites.htm et program der (måske) ligner det du er ved at lave.  Jeg kan evt. sende dig dele af kildeteksten.    Det er et VB 3 program.

M.v.h  Jørn
Avatar billede winkill Nybegynder
18. december 1999 - 19:40 #3
Tjeah, what ever...
Avatar billede mix Nybegynder
18. december 1999 - 19:43 #4
Oki se her .
Jeg ville gøre det sådan her.
Lad os sige at på en af linjerne der står:
Browser=Http://www.mixstudio.net
Og på en anden står:
Firmanavn=Jettes Blomster

Dim Linje as String, FindT as String
Dim Nr as Integer, Antal as Integer

Nr =1
Antal = 0
Open "Filenavn.txt" for input as 1
Do until EOF(1)
  Line input#1, Linje
  Do until Findmig = "="
    Antal = Len(Linje)
    FindT = Mid$(Linje,Nr,1)
    Nr = Nr +1
  Loop
  Nr = Nr - 2
  Antal = Antal - Nr
  FindT = Lcase(Mid$(Linje,1,Nr))
  If Findt = "browser" then
  Nr = Nr +1
  FindT = Mid$(Linje,Nr,Antal)
  Text4.text = FindT
  ElseIf FindT = "firmanavn" then
  Nr = Nr +1
  FindT = Mid$(Linje,Nr,Antal)
  Text5.text =FindT
  ElseIf FindT = "????" then
  Nr = Nr +1
  FindT = Mid$(Linje,Nr,Antal)
  Text6.text =FindT
  End if
Loop 

Sådan ville jeg gøre.
M.I.X
Avatar billede winkill Nybegynder
18. december 1999 - 19:48 #5
MIX > I stedet for

Do until EOF(1)
  Line input#1, Linje
  Do until Findmig = "="
    Antal = Len(Linje)
    FindT = Mid$(Linje,Nr,1)
    Nr = Nr +1
  Loop
  Nr = Nr - 2
  Antal = Antal - Nr
  FindT = Lcase(Mid$(Linje,1,Nr))
 
Kan man skrive

FindT = Lcase(Mid(Linje, 1, InStr(1,Linje,"=") - 1)

;o)
Avatar billede winkill Nybegynder
18. december 1999 - 19:50 #6
..med én ekstre ) til sidst ;)
Avatar billede mix Nybegynder
18. december 1999 - 19:51 #7
Winkill > Takker... ;o)
En lille guld mønt mere til posen.
Avatar billede mix Nybegynder
18. december 1999 - 19:53 #8
winkill > Det er oki , jeg fattet den godt :o)
Avatar billede zelebris Nybegynder
18. december 1999 - 20:04 #9
Til den der først sender mig en mail med et program der kan gøre det jeg leder efter er der 100 point oven i de 250 jeg har givet!.
Jeg fatter nemlig ikke særlig meget af de koder i har skrevet!

Mvh. Nicolai
Avatar billede mix Nybegynder
18. december 1999 - 20:12 #10
Oki..
For min skyld synes jeg bare du skulle give dem til winkill, han kom først.

M.I.X
Avatar billede zelebris Nybegynder
18. december 1999 - 20:15 #11
Nu har jeg dog fundet ud af det, og det er winkill der løber af med sejren!
Avatar billede winkill Nybegynder
20. december 1999 - 12:16 #12
Thanx mix/zelebris:)
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