Avatar billede vippen1 Nybegynder
20. marts 2001 - 17:24 Der er 10 kommentarer og
1 løsning

Implementering af KØ i VB?

Hejsa...

Jeg har kun arbejdet _meget_ lidt med VB ... så nu er mit spørgsmål: Hvordan laver man en KØ i VB? ... f.eks. en kø med beskeder...

Takker på forhånd....
Avatar billede tdaugaard Nybegynder
20. marts 2001 - 17:25 #1
Ehm .. hvordan en kø med beskeder ?
Avatar billede vippen1 Nybegynder
20. marts 2001 - 17:28 #2
Altså... Der skal smiden denne streng i køen....

“SenderNick¥Timestamp¥Command¥Receivers”

... Altså en kø med en Streng...

Håber du er med..

Avatar billede vippen1 Nybegynder
20. marts 2001 - 17:28 #3
eller strenge...
Avatar billede tdaugaard Nybegynder
20. marts 2001 - 17:40 #4
hmm .. du kan jo bruge en listbox (evt. Visible = False) hvor du tilføjer med .AddItem.. og så når du skal \"processe\" strengene henter du bare den første og sletter den når du har hentet den.

Du kan så have en Timer med f.eks. Interval = 500 (ms). I Timer1_Timer() event\'en laver du flg.


Private Sub Timer1_Timer()
  Timer1.Enabled = False

  Do Until List1.ListCount = 0
    strItem = List1.List(0)
    List1.RemoveItem 0

    \' her laver du hvad du nu vil med strengen
  Loop

  Timer1.Enabled = True
End Sub
Avatar billede tdaugaard Nybegynder
20. marts 2001 - 17:45 #5
Har lige afprøvet det og det virker helt fint :-)
Avatar billede tdaugaard Nybegynder
20. marts 2001 - 17:46 #6
Kommer lige i tanke om at du måske skal have en DoEvents i dit loop så ikke det \"stopper med at svare\" hvis der er mange items...

Private Sub Timer1_Timer()
  Timer1.Enabled = False

  Do Until List1.ListCount = 0
    strItem = List1.List(0)
    List1.RemoveItem 0

    \' her laver du hvad du nu vil med strengen
    DoEvents
  Loop

  Timer1.Enabled = True
End Sub
Avatar billede tdaugaard Nybegynder
20. marts 2001 - 17:48 #7
og så liige en ting til ... en ListBox kan vist max indeholde 65535 items ... men du kan også bruge en anden, lidt mere besværlig, metode med et array
Avatar billede vippen1 Nybegynder
20. marts 2001 - 18:05 #8
nu spørger jeg lidt dumt... men hvordan hvordan henter og sletter jeg ... Jeg har lavet en list1 og puttet et par strenge i... Hvordan henter jeg den så? og sletter... er Vist heller ikke helt med på, hvad timeren laver..
Avatar billede tdaugaard Nybegynder
20. marts 2001 - 18:09 #9
Sorry .. jeg glemte lige du skrev at du er nybegynder :-(

Timeren kører event\'n. Private Sub (timernavn)_Timer() hvert \"Interval\" millisekund. Så f.eks. 500 il køre den hvert halve sekund.

Det eksempel jeg skrev her giver dig din første streng i variablen strItem, og sletter den derefter med .RemoveItem 0 (sletter den første streng).

Spørg du bare løs hvis der er mere du ikke liige kan forstå hvad gør
Avatar billede vippen1 Nybegynder
20. marts 2001 - 19:23 #10
Hvad laver den der DoEvent ?
Avatar billede tdaugaard Nybegynder
21. marts 2001 - 00:55 #11
DoEvents sørger for at programmet ikke bare stopper imens dit loop kører. Det gør bl.a. at du stadig kan bruge andre funktioner i programmet mens loop\'et kører.
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