Avatar billede petestaar Nybegynder
01. januar 2003 - 18:41 Der er 9 kommentarer og
1 løsning

Søge i en txt fil m.m...

Hej Eksperter!

Jeg er ved at lave et lille "bildæks" program. Programmet skal kunne gemme og hente dataer omkring dækmærke, type, dimension m.m. Dataerne er gemt i en tekstfil "Link.txt", og bliver loaded i en Listview. Dataerne bliver således gemt i Link.txt adskildt af et ",".
eks. Dunlop, 215, 35, 18"
    Mærke, Bredde, Profil, Diameter)
Hvert ord for hvert "," bliver således indlæst i hver kolonne i første række i Listview´en

Dim Text As string
Dim arrTekst() As string

With Listview1
Open "c:\link.txt" for input as Freefile
Do While Not EOF(Freefile)
Lineinput Freefile, text
arrTekst() = split(text, ",")
.ListItems.Add intcount, , arrTekst(0)
osv.

1) Hvordan søger man i en tekstfil, og får søgeresultaterne frem i en listview? F.eks. søger man på Dunlop, kommer alle Donlup dæk frem i listview´en.

2) er det muligt at lave en oversigt over f.eks. de sidste 30 fundne dæk?
Avatar billede arnvig Nybegynder
01. januar 2003 - 19:08 #1
Du kan bruge InStr() funktionen til at søge efter forekomster af en tekststreng i en anden tekststreng.

Du kan måske bruge en filter funktion på dit listview.

Det lyder dog som om at du vil være rigtigt godt hjulpet med en simpel accessdatabase i stedet for en "flad" text-fil.
Avatar billede petestaar Nybegynder
01. januar 2003 - 19:57 #2
Kan du uddybe det lidt omkring InStr()funktionen, og hvad er lige præcis en tekststreng?
Avatar billede arnvig Nybegynder
01. januar 2003 - 20:36 #3
Her er et link til Microsoft Visual Basic Language Refrence: Function (InStr)
http://msdn.microsoft.com/library/en-us/vbenlr98/html/vafctInStr.asp?frame=true

"Dette er en tekststreng","Her en tekststreng mere"
Avatar billede sjh Nybegynder
02. januar 2003 - 06:22 #4
du kunne også lave din egen lille database file:
http://hjem.get2net.dk/sjh/eksperten/299869/TypeData.zip
Avatar billede martin_moth Mester
05. januar 2003 - 20:03 #5
Brug InStr på din variabel Text - som indeholder en tekststreng med indholdet af c:\link.txt.

Når du finder den første forekomst af "Dunlop", noterer du dig dennes placering i teksten. Derefter søger du fra den placering efter næste dækfabrikat. Det der står mellem "Dunlop" og næste dækfabrikat er det du søger, nemlig Bredde, Profil og Diameter. Dette kan du så loope over, så du finder alle profil, bredde, diameter for samtlige dunlop dæk, indtil der ikke findes flere forekomster.

Dette har jeg lavet et eksempel på, blot hvor man skulle finde links i en html-fil. Princippet er PRÆCIS det samme - her skal du bare finde indholdet i en tekststreng, der står mellem bestemte ord (dækmærker). Så lur på http://www.eksperten.dk/spm/258484, svaret 16/09-2002 14:25:36

PS: En god ide er at starte forfra og bruge en database - det er sådan cirka 100.000.000 gange mere smart! /Martin
Avatar billede martin_moth Mester
08. januar 2003 - 12:51 #6
Hvad siger du til det, peterstaar - har du fået løst problemet?
Avatar billede petestaar Nybegynder
08. januar 2003 - 20:20 #7
Hej martin_moth! du har fat i noget af det rigtige. Med hensyn til det med en database, bliver jeg nød til at bruge en txt-fil, da mange af de maskiner som skal anvende programmet ikke har access.
Avatar billede martin_moth Mester
08. januar 2003 - 23:26 #8
Det behøver de heller ikke have.

Jeg bruger en access-database sammen med mine VB-programmer uden at have Access installeret på min PC!
Avatar billede martin_moth Mester
08. januar 2003 - 23:28 #9
Hvis du VIL bruge text-filer, vil jeg foreslå dig at bruge en random access file - med records du kan slå op - se f.eks. www.eksperten.dk/spm/302502
Avatar billede arnvig Nybegynder
23. januar 2003 - 12:45 #10
Peterstaar, kunne du bruge svaret ?
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