[VB.NET] Loop in VB.NET

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • joopykoopy
  • Registratie: Februari 2010
  • Laatst online: 18-09 11:03
Heey mensjes

Ik ben voor m'n stage een programma aan het schrijven waar ik en me collega notitie's in achter kunnen laten, en dat we ze ook allebijde kunnen lezen. Dit werkt goed. Maar als ik een nieuwe notitie maak, dan ziet mijn collega hem niet zonder op de refresh knop te drukken (ja die heb ik gemaakt).

Nu komen de notitie's in een listbox, dus dacht ik van, als ik achter de listbox een code maak, die de hele tijd loopt (bijv. elke minuut) dan is het gefixt.

Toen kwam ik bij System.Threading.Thread.Sleep(60000), maar dit laat mijn hele code vastlopen...
Dat is niet de bedoeling...

Nu heb ik ook wat gevonden over een 2e thread maken (MicroSoft info ding) maar dit krijg ik niet aan de praat :S

Ik zal voor de mensen die de code willen zien ook even de code posten:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
Imports System.Threading

Public Class Form2
    Dim w As IO.StreamWriter
    Dim r As IO.StreamReader


    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Form1.Close()

        r = New IO.StreamReader("h:\NoteList\notes.nf")
        While (r.Peek() > -1)
            ListBox1.Items.Add(r.ReadLine)
        End While
        r.Close()


    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form1.Show()
        Me.Close()

    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If TextBox1.Text = "" Then
            MsgBox("Geel lege vlakken posten hea ;)")
            MsgBox("1x klikken is gewoon genoeg :)")
        Else

            ListBox1.Items.Clear()
            r = New IO.StreamReader("h:\NoteList\notes.nf")
            While (r.Peek() > -1)
                ListBox1.Items.Add(r.ReadLine)
            End While
            r.Close()


            ListBox1.Items.Add(Label1.Text + TextBox1.Text)

            Dim i As Integer
            w = New IO.StreamWriter("h:\NoteList\notes.nf")
            For i = 0 To ListBox1.Items.Count - 1
                w.WriteLine(ListBox1.Items.Item(i))
            Next
            w.Close()
            TextBox1.Clear()
        End If
    End Sub

    Private Sub SaveNotesToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim i As Integer
        w = New IO.StreamWriter("h:\NoteList\notes.nf")
        For i = 0 To ListBox1.Items.Count - 1
            w.WriteLine(ListBox1.Items.Item(i))
        Next
        w.Close()
    End Sub

    Private Sub LoadNotesToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        r = New IO.StreamReader("h:\NoteList\notes.nf")
        While (r.Peek() > -1)
            ListBox1.Items.Add(r.ReadLine)
        End While
        r.Close()
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        ListBox1.Items.Remove(ListBox1.SelectedItem)
        Dim i As Integer
        w = New IO.StreamWriter("h:\NoteList\notes.nf")
        For i = 0 To ListBox1.Items.Count - 1
            w.WriteLine(ListBox1.Items.Item(i))
        Next
        w.Close()
    End Sub

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        ListBox1.Items.Clear()
        r = New IO.StreamReader("h:\NoteList\notes.nf")
        While (r.Peek() > -1)
            ListBox1.Items.Add(r.ReadLine)
        End While
        r.Close()

    End Sub

    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
      
    End Sub


End Class


De code die in een loop moet komen is deze:
code:
1
2
3
4
5
6
        ListBox1.Items.Clear()
        r = New IO.StreamReader("h:\NoteList\notes.nf")
        While (r.Peek() > -1)
            ListBox1.Items.Add(r.ReadLine)
        End While
        r.Close()



Ik hoop dat jullie me kunnen helpen.

Groeten,
Joopykoopy

Acties:
  • 0 Henk 'm!

  • urk_forever
  • Registratie: Juni 2001
  • Laatst online: 19-09 16:01
Simpelste oplossing, gebruik een timer! In het Timer.Tick event update je dan je listbox. Hoe je dat precies doet kan je vast zelf wel uitvogelen.

Je topic start voldoet ook niet helemaal, zo geef je niet aan wat je nu hebt en wat er precies fout gaat. Lees ook het PRG Beleid even voordat je een topic opent.

[ Voor 58% gewijzigd door urk_forever op 15-03-2010 10:19 ]

Hail to the king baby!


Acties:
  • 0 Henk 'm!

  • joopykoopy
  • Registratie: Februari 2010
  • Laatst online: 18-09 11:03
Is goed, iig bedankt voor je reactie. Ik zal dat even onder ogen nemen, en dan in het vervolg m'n topics naar die regels posten