PDA

View Full Version : [VB] Temporizzare un WHILE ................


race2
16-09-2002, 09:22
In VB.NET,

E' possibile temporizzare un ciclo WHILE ???

Esempio:


conn.Open()
Dim comm As New OleDbCommand("SELECT * FROM Teble", conn)
Dim read As OleDbDataReader = comm.ExecuteReader
Dim li As ListViewItem
While read.Read()

Dim x As String = read("Campo")

If x = 1 Then
MsgBox(1)
End If

End While
conn,Close()


vorrei che la lettura di read() avvenisse ogni 1 secondo, fino a finire tutto il contenuto della tabella, in protica un normalissimo ciclo WHILE ma con lettura temporizzata ad 1 secondo,

come posso applicare il Timer???

cisky
16-09-2002, 12:50
Potresti utilizzare una funzione API :

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

(Attendi x es. 1 secondo dopo ogni lettura dei dati)

race2
17-09-2002, 08:28
Non ho studiato le API............

e devo risolvere in poco tempo.............

tas
17-09-2002, 09:40
Ma perchè non usi un timer con tempo impostato su 1000 millisecondi? Lo aggiungi al tuo form, impostando la proprietà Enabled=False, poi nella routine di partenza scrivi:

conn.Open()
Dim comm As New OleDbCommand("SELECT * FROM Teble", conn)

'read variabile membro privata della classe
read As OleDbDataReader = comm.ExecuteReader

'qui attivi il timer
Timer1.Enabled = True

Nell'evento del timer dovrai caricare la listview:

Dim li As ListViewItem
Dim x As String

If read.Read() = True Then
x = read("Campo")
If x = 1 Then
'...
End If
Else
Timer1.Enabled = False
conn.Close()
End If

race2
17-09-2002, 14:27
OK ora provo e se non va qualcosa ti dici, grazie per ora ciao!!!