Thread obsoleto Timer

forumboard

Utente Medio
Autore del topic
22 Aprile 2009
129
9
Miglior risposta
0
Salve, sto creando un programma che faccia delle ricerche su un webbrowser, voglio mettere un timer che tra una ricerca e l'altra aspetti 10 secondi tipo, non riesco a farlo funzionare.. come posso fare?
 
Riferimento: Timer

Salve, sto creando un programma che faccia delle ricerche su un webbrowser, voglio mettere un timer che tra una ricerca e l'altra aspetti 10 secondi tipo, non riesco a farlo funzionare.. come posso fare?

Ecco il codice, te devi solo capire dove va messa ogni sua parte...

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Riferimento: Timer

No forse mi sono spiegato male, io voglio che aspetti 10 secondi senza fare altre ricerche.. per esempio:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
cosi faccio le ricerche.. pero ora voglio che aspetti 10 secondi per rifare un altra ricerca, visto che è un ciclo!
 
Riferimento: Timer

Imposta un timer a 10 secondi e nell'evento del timer lanci la ricerca fermando il timer.

Quando la ricerca termina, avvi nuovamente il timer.
 
Riferimento: Timer

No forse mi sono spiegato male, io voglio che aspetti 10 secondi senza fare altre ricerche.. per esempio:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
cosi faccio le ricerche.. pero ora voglio che aspetti 10 secondi per rifare un altra ricerca, visto che è un ciclo!


Infatti ti serve un timer... usa quel codice che ti ho dato e al posto di "webbrowser.navigate("url...")" ci metti quello che vuoi che accada ogni 10 secondi, ovviamente puoi modificare l'intervallo e altre cose.
 
Riferimento: Timer

Non ho risolto, Jackub sono riuscito a non farlo bloccare, però non funziona lo stesso il timer..
 
Riferimento: Timer

Quello che ha scritto Jakub.. comunque ti ho mandato il codice tramite MP
 
Riferimento: Timer

Prima di tutto, se devi postare del codice, fallo nel forum e non mandarmelo più in privato.

In secondo luogo, come ti avevo detto prima, nell'evento Tick del Timer, in questo senso

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

ATTENZIONE : se la ricerca non termina all'interno dell'evento Tick allora la linea Timer1.Start() non dovrai metterla lì ma alla fine dell'evento del WebBrowser che ti indica che le operazioni si sono concluse.
 
Riferimento: Timer

Ho provato non và, mi fà le ricerche uno dietro l'altra senza aspettare tempo! Cioè ora quando spingo il pulsante che fà le ricerche aspetta 10 secondi e poi fa le ricerche a raffica.. io invece volevo l'intervallo fra una ricerca e l'altra
 
Riferimento: Timer

Quando qualcosa non va e hai modificato il codice, devi *sempre* proporre il codice modificato e *spiegare* cosa fa.

Quando ti ho detto di inserire il codice della ricerca dove ti ho indicato, ci devi mettere il codice di *una singola ricerca* non quello per tutte le ricerche.

Programmare non significa copiare-incollare del codice fatto da altri ma RAGIONARE sui suggerimenti avuti.
 
Riferimento: Timer

no infatti non ho fatto cosi.. guarda:
Do
Timer1.Stop()
filereader = My.Computer.FileSystem.OpenTextFileReader("C:\Users\Nicola\Documents\bot\lista.txt")
stringReader = filereader.ReadLine() 'legge la riga
WebBrowser1.Document.GetElementById("ctrl_ecc").SetAttribute("value", stringReader)
WebBrowser1.Document.GetElementById("ctrl_sacc").InvokeMember("click")
Timer1.Start()
myprocesses = Process.GetProcessesByName("iexplore")
For Each myprocess In myprocesses
myprocess.CloseMainWindow()
Next



C = C + 1
filereader.Close()

filecreato = System.IO.File.Create("C:\Users\Nicola\Documents\bot\lista2.txt")
filecreato.Close()


scrittore = My.Computer.FileSystem.OpenTextFileWriter("C:\Users\Nicola\Documents\bot\lista2.txt", True)
filereader = My.Computer.FileSystem.OpenTextFileReader("C:\Users\Nicola\Documents\bot\lista.txt")
a = stringReader
Label7.Text = C.ToString


Do While Not stringReader Is Nothing

If stringReader <> a Then
scrittore.WriteLine(stringReader)
End If
stringReader = filereader.ReadLine



Loop
filereader.Close()

scrittore.Close()



Kill("C:\Users\Nicola\Documents\bot\lista.txt")
My.Computer.FileSystem.RenameFile("C:\Users\Nicola\Documents\bot\lista2.txt", "lista.txt")



Loop Until Not stringReader Is Nothing
e nel bottone ho scritto, Timer1.Enable=True
 
Riferimento: Timer

Non ti avevo detto di includere tutto il codice in un ciclo Do ... Loop ...

Ti avevo detto di inserire tra lo Start e lo Stop il codice di UNA SOLA ricerca.
 
Riferimento: Timer

Ma in che senso di una sola ricerca? Cioè lo start e lo stop dove li dovrei inserire? Cioè se li metto fuori dal Do loop non penso funzioni
 
Ultima modifica:
Riferimento: Timer

Per ripetere le istruzioni comprese.. e quindi per fare più ricerche..
 
Riferimento: Timer

Ecco ... dato che ti ho detto che nell'evento del timer ci va il codice di UNA sola ricerca, devi togliere quel Do...
 
Riferimento: Timer

Penso che funziona.. solo che non ho capito il perchè..
Ora per esempio, siccome non ho capito quello che abbiamo fatto, non riesco a conteggiare le volte che faccio le ricerche!
 
Ultima modifica:
Riferimento: Timer

Usa un contatore da dichiarare fuori dall'evento ...

E come ti ho detto prima ... mostra il codice ogni volta ...
 
Riferimento: Timer

C = 0
Timer1.Stop()
filereader = My.Computer.FileSystem.OpenTextFileReader("C:\Users\Nicola\Documents\bot\lista.txt")
stringReader = filereader.ReadLine() 'legge la riga
WebBrowser1.Document.GetElementById("ctrl_SearchControl$txtSearch").SetAttribute("value", stringReader)
WebBrowser1.Document.GetElementById("ctrl_SearchControl$BEC81F8F9A4549289FF1C7851AE2789C").InvokeMember("click")

myprocesses = Process.GetProcessesByName("iexplore")
For Each myprocess In myprocesses
myprocess.CloseMainWindow()
Next



C = C + 1
filereader.Close()

filecreato = System.IO.File.Create("C:\Users\Nicola\Documents\bot\lista2.txt")
filecreato.Close()


scrittore = My.Computer.FileSystem.OpenTextFileWriter("C:\Users\Nicola\Documents\bot\lista2.txt", True)
filereader = My.Computer.FileSystem.OpenTextFileReader("C:\Users\Nicola\Documents\bot\lista.txt")
a = stringReader
Label7.Text = C.ToString


Do While Not stringReader Is Nothing

If stringReader <> a Then
scrittore.WriteLine(stringReader)
End If
stringReader = filereader.ReadLine



Loop
filereader.Close()

scrittore.Close()



Kill("C:\Users\Nicola\Documents\bot\lista.txt")
My.Computer.FileSystem.RenameFile("C:\Users\Nicola\Documents\bot\lista2.txt", "lista.txt")

Timer1.Start()





Label4.Text = "Ricerca Finita!"

End Sub
Ho dichiarato C e l'ho messo dentro ma rimane a 1..