|
| Langsom ListBox ??? Fra : Peter Jensen |
Dato : 28-02-01 13:08 |
|
Hej !
Jeg har lavet et lille leksikon, hvor man kan vælge de enkelte artikler vha.
en ListBox. (Når man klikker på en artikel i ListBoxen, åbner programmet en
fil med samme navn+.txt og viser den i en tekstbox).
Nu vil jeg imidlertid lave en fuldtekstsøgningsfunktion, og har da også
lavet følgendene:
Vha. en For - Next funktion, lader jeg programmet åbne artiklerne een efter
een og bruger InStr til at finde ud af om søgeordet er i teksten, hvis det
er, skrives navnet til en fil, der når søgningen er færdig indlæses og
tilføjes ListBox'en.
Denne søgning går da også hurtigt nok, INDTIL den når bunden af
artikellisten, og skal til at "scrolle" for at nå den næste artikel... med
dén hastighed vil det tage flere dage...
Håber jeg har udtrykt mig klart nok...
Er der en alternativ løsning til ovenstående problem ? Jeg HAR forsøgt mig
med en Access-database i stedet, men hver gang jeg tog mit program med til
en anden computer (pakket med Package and Deployment Wizard), så virkede det
ikke pga. bl.a. "CLASS NOT REGISTERED", desuden fylder alle de medfølgende
systemfiler jo en krig, hvis man vil til at lege med databaser.
Jeg bruger Visual Basic 6.0 Learning Edition.
På forhånd tak !
Mvh. Peter
| |
Thomas Rasmussen (28-02-2001)
| Kommentar Fra : Thomas Rasmussen |
Dato : 28-02-01 15:32 |
|
Hejsa. peter.
er det fordi der er mange elementer i din listboks??? hvis å,s ås prøv at
LÅSE din listboks med denne funktion -
Public Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock As
Long) As Long
Den tager et handle til et objekt, og låse det, så ikke objektet opdatere
sig selv. Dermed ingen refreshm, ingen paint events. det kan man godt
tillade sig ved søgninger.
Det skal dog bemærkes, at selvom du har låst objektet for opdateringer, kan
man godt tilføje, fjerne og editere. For.. eahc sig gennem det. Det vedrører
faktisk kun opdatering af GUI
Prøv det..... Eller uddyb dig lidt mere..
/Thomas, EDB konsulent, Aston IT Group
"Peter Jensen" <retep@post5.tele.dk> wrote in message
news:97ipqf$30o$1@news.inet.tele.dk...
> Hej !
>
> Jeg har lavet et lille leksikon, hvor man kan vælge de enkelte artikler
vha.
> en ListBox. (Når man klikker på en artikel i ListBoxen, åbner programmet
en
> fil med samme navn+.txt og viser den i en tekstbox).
> Nu vil jeg imidlertid lave en fuldtekstsøgningsfunktion, og har da også
> lavet følgendene:
> Vha. en For - Next funktion, lader jeg programmet åbne artiklerne een
efter
> een og bruger InStr til at finde ud af om søgeordet er i teksten, hvis det
> er, skrives navnet til en fil, der når søgningen er færdig indlæses og
> tilføjes ListBox'en.
> Denne søgning går da også hurtigt nok, INDTIL den når bunden af
> artikellisten, og skal til at "scrolle" for at nå den næste artikel... med
> dén hastighed vil det tage flere dage...
>
> Håber jeg har udtrykt mig klart nok...
>
> Er der en alternativ løsning til ovenstående problem ? Jeg HAR forsøgt mig
> med en Access-database i stedet, men hver gang jeg tog mit program med til
> en anden computer (pakket med Package and Deployment Wizard), så virkede
det
> ikke pga. bl.a. "CLASS NOT REGISTERED", desuden fylder alle de medfølgende
> systemfiler jo en krig, hvis man vil til at lege med databaser.
>
> Jeg bruger Visual Basic 6.0 Learning Edition.
>
> På forhånd tak !
>
> Mvh. Peter
>
>
| |
Peter Jensen (28-02-2001)
| Kommentar Fra : Peter Jensen |
Dato : 28-02-01 22:28 |
|
> Hejsa. peter.
> er det fordi der er mange elementer i din listboks??? hvis å,s ås prøv at
> LÅSE din listboks med denne funktion -
>
> Public Declare Function LockWindowUpdate Lib "user32" (ByVal hwndLock
As
> Long) As Long
>
Tak for hjælpen ! Jeg tror dog, jeg har fundet en mere simpel "approach".
Jeg sætter bare min Listbox til visible=false, mens søgningen foregår - og
gør den visible når søgningen er komplet. Dette ser ud til at have den
ønskede effekt.
Mvh. Peter
| |
Thomas Rasmussen (01-03-2001)
| Kommentar Fra : Thomas Rasmussen |
Dato : 01-03-01 10:05 |
|
Hejsa.
Jo, det har samme effekt. men det ser måske lidt "dumt" ud, når boksen
forsvinder når man søger....
Lykke til
Mvh Thomas
"Peter Jensen" <retep@post5.tele.dk> wrote in message
news:97jqio$sdc$1@news.inet.tele.dk...
> > Hejsa. peter.
> > er det fordi der er mange elementer i din listboks??? hvis å,s ås prøv
at
> > LÅSE din listboks med denne funktion -
> >
> > Public Declare Function LockWindowUpdate Lib "user32" (ByVal
hwndLock
> As
> > Long) As Long
> >
>
> Tak for hjælpen ! Jeg tror dog, jeg har fundet en mere simpel "approach".
> Jeg sætter bare min Listbox til visible=false, mens søgningen foregår - og
> gør den visible når søgningen er komplet. Dette ser ud til at have den
> ønskede effekt.
>
> Mvh. Peter
>
>
>
| |
|
|