Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Timer ili nesto slicno...

[es] :: .NET :: Timer ili nesto slicno...

[ Pregleda: 3502 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Sandra_G
Aleksandra Glusac
Programer

Član broj: 66979
Poruke: 68
*.mediaworksit.net.

ICQ: 298551171


Profil

icon Timer ili nesto slicno...06.03.2006. u 16:24 - pre 219 meseci
Moram da pratim promene u jednom folderu, tj. da "nadgledam" taj folder za konkretan fajl. Dakle, kada se pojavi fajl test.txt (na primer), trebalo bi da ga iskopiram, i da zavrsim celu pricu.

Probala sam sa Timer, da proverava na svakih 1000 ms (tj. da podize event, pa da u okviru eventa proverava da li postoji ta slika ili ne), ali ne umem da ga "zaustavim" kada nadje taj fajl i iskopira ga. Nastavlja da "okida"....

Mozda ima neki drugi nacin?
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
 
Odgovor na temu

alex
Aleksandar Radulovic
Senior Software Engineer, Spotify
Stockholm, Sweden

Član broj: 71
Poruke: 2194
*.in.is.

Jabber: alex@a13x.info
ICQ: -1
Sajt: www.a13x.info


+1 Profil

icon Re: Timer ili nesto slicno...06.03.2006. u 16:35 - pre 219 meseci
Pogledaj FileWatcher klasu.
Alex: My favorite site is http://localhost/
R.J. Oppenheimer: "I am become death, destroyer of worlds" (1945 AD)
tweet.13x ||
linkedin.13x
 
Odgovor na temu

Oliver Klaćik
Vice President, Thunder Road Software
Inc.
Stara Pazova

Član broj: 34059
Poruke: 242
80.93.231.*

Sajt: www.thunderroadsoftware.c..


Profil

icon Re: Timer ili nesto slicno...06.03.2006. u 20:04 - pre 219 meseci
Ja sam skoro pravio neki service za monitoring foldera, pa čisto da ti skrenem pažnju... FileSystemWatcher.Created event okida u trenutku kada fajl počinje da se stvara u nadgledanom folderu... Ako je fajl malo veći, dobićeš exception kada pokušaš da mu pristupiš (radi kopiranja) jer OS još uvek drži lock nad fajlom. Inače, .Net nema nijedan 'fini' način provere da li je neki fajl pod lock-om... Pa, ako ti to bude stvaralo problem, imam neko zaobilazno rešenje koje mi je dao neki lik na MSDN forumu...
Oliver 'FAQ' Klaćik
 
Odgovor na temu

Bojan11
Pula,HR

Član broj: 73881
Poruke: 180
*.adsl.net.t-com.hr.



Profil

icon Re: Timer ili nesto slicno...06.03.2006. u 21:11 - pre 219 meseci
Pozdrav,
ja sam bas danas radio sa Timer kontrolom. Inace koristim VB.net 2005, pa je rukovanje sa timerom jako jednostavno. Prevučeš ga na formu, podesiš interval (npr.1000ms) i postaviš gdje očeš da ti se timer uključi
Timer1.Start()
i di da prekine sa odbrojavanjem
Timer1.Stop()
i to je to.
Inače funkciju koju treba izvršiti napraviš u Event-u tick...
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.3dnet.co.yu.



+311 Profil

icon Re: Timer ili nesto slicno...06.03.2006. u 21:12 - pre 219 meseci
Citat:
Sandra_G: Probala sam sa Timer, da proverava na svakih 1000 ms (tj. da podize event, pa da u okviru eventa proverava da li postoji ta slika ili ne), ali ne umem da ga "zaustavim" kada nadje taj fajl i iskopira ga. Nastavlja da "okida"....


Za zaustavljanje tajmera
Code:

Timer.Enabled = false;

Praksa još kaže i da se kod timer elapsed eventa obavezno na početku timer zaustavi, zatim izvrši potrebna obrada i na kraju timer startuje ponovo ukoliko je to potrebno da ne bi došlo do blokiranja programa (kada obrada unutar timer elapsed eventa traje duže nego interval tajmera onda dolazi do gomilanja uzastopnih timer elapsed eventa što blokira izvršavanje ostalih stvari... odoh već u offtopic... :)

Što se tiče čitanja fajla i lock-ovanja, probaj nešto na ovu foru:
Code:

int retrycount = 0;
bool iskopiran=false;
while (!iskopiran)
try
{
   ... kod za kopiranje fajla
  iskopiran=true;
}
catch
{
  retrycount++;
  Sytem.Threading.Thread.CurrentThread.Sleep(100);
  if (retrycount>100)
  {
     break;
  }
}

Kod pokušava da kopira fajl 10 sekundi u slučaju da je lock-ovan i ako ne uspe nastavlja sa radom. Ovih deset sekundi bi trebalo da bude dovoljno za manje fajlove, za veće opet verovatno treba više vremena.
Nadam se da sam pomogao.
Pozdrav!
 
Odgovor na temu

Sandra_G
Aleksandra Glusac
Programer

Član broj: 66979
Poruke: 68
*.mediaworksit.net.

ICQ: 298551171


Profil

icon Re: Timer ili nesto slicno...07.03.2006. u 13:20 - pre 219 meseci
FileSystemWatcher - DA.
Ali... nije mi bas najjasniji NotifyFilter property. Koji element bi trebalo da stavim ako zelim da 'nagledam' folder za nastajanje odredjenog fajla?
Kreirala sam event Created, ali uopste ne registruje... Pretpostavljam da ima neke veze sa NotifyFilter property.
I jos nesto... Kako da zaustavim nadgledanje foldera kada nadjem ono sto mi treba?

Hvalaaaaa :D

The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
 
Odgovor na temu

Oliver Klaćik
Vice President, Thunder Road Software
Inc.
Stara Pazova

Član broj: 34059
Poruke: 242
80.93.231.*

Sajt: www.thunderroadsoftware.c..


Profil

icon Re: Timer ili nesto slicno...07.03.2006. u 20:23 - pre 219 meseci
Pošto 'hvataš' događaj kreiranja fajla, NotifyFilter ti nije bitan, jer koju god kombinaciju da staviš, radiće. Verovatno ti ne okida jer nisi stavila property EnableRaisingEvents na true. Da jesi, znala bi i kako da onemogućiš hvatanje događaja...
Oliver 'FAQ' Klaćik
 
Odgovor na temu

Sandra_G
Aleksandra Glusac
Programer

Član broj: 66979
Poruke: 68
*.mediaworksit.net.

ICQ: 298551171


Profil

icon Re: Timer ili nesto slicno...10.03.2006. u 09:15 - pre 219 meseci
Citat:
Oliver Klaćik: Ja sam skoro pravio neki service za monitoring foldera, pa čisto da ti skrenem pažnju... FileSystemWatcher.Created event okida u trenutku kada fajl počinje da se stvara u nadgledanom folderu... Ako je fajl malo veći, dobićeš exception kada pokušaš da mu pristupiš (radi kopiranja) jer OS još uvek drži lock nad fajlom. Inače, .Net nema nijedan 'fini' način provere da li je neki fajl pod lock-om... Pa, ako ti to bude stvaralo problem, imam neko zaobilazno rešenje koje mi je dao neki lik na MSDN forumu...


Olivere, bas bi mi trebalo to resenje o lockovanju.... Ako nije problem, da mi to prosledis... :) Hvala puno!
The important thing is not to stop questioning. Curiosity has its own reason for existing. - Albert Einstein
 
Odgovor na temu

Oliver Klaćik
Vice President, Thunder Road Software
Inc.
Stara Pazova

Član broj: 34059
Poruke: 242
80.93.231.*

Sajt: www.thunderroadsoftware.c..


Profil

icon Re: Timer ili nesto slicno...10.03.2006. u 20:46 - pre 219 meseci
Evo ti link ka mom pitanju:

http://www.elitesecurity.org/tema/160418/0#1043532

gde ćeš naći rešenje...
Oliver 'FAQ' Klaćik
 
Odgovor na temu

[es] :: .NET :: Timer ili nesto slicno...

[ Pregleda: 3502 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.