Ĺadny brzuch
Witam,
Interesuje mnie komenda która zwróci mi wartość true kiedy na dysku będzie sie coś działo. Jeżeli istnieje jeszcze kod który rozróżnia operację odczyt i zapis, proszę o pomoc. Jeżeli jest też kod który rozpoznaje wysyłanie i odbieranie danych z Internetu, tez bym prosił o pomoc. Z góry dziękuję.
Pozdrawiam
Witam,
Interesuje mnie komenda która zwróci mi wartość true kiedy na dysku będzie sie coś działo. Jeżeli istnieje jeszcze kod który rozróżnia operację odczyt i zapis, proszę o pomoc. Jeżeli jest też kod który rozpoznaje wysyłanie i odbieranie danych z Internetu, tez bym prosił o pomoc. Z góry dziękuję.
Pozdrawiam
W delphi sa funklcje i procedury a nie komendy! A sprawdzic czy na dysku cos sie dzieje chyba mozna tylko z poziomu sterownika. Moze jeszcze sprobowac przechwycic przerywania ale nie sadze zeby system pozwolil na dostep do tego z poziomu aplikacji...
Witam,
Interesuje mnie komenda która zwróci mi wartość true kiedy na dysku będzie sie coś działo. Jeżeli istnieje jeszcze kod który rozróżnia operację odczyt i zapis, proszę o pomoc. Jeżeli jest też kod który rozpoznaje wysyłanie i odbieranie danych z Internetu, tez bym prosił o pomoc. Z góry dziękuję.
Pozdrawiam
No, to, co zaprezentuję nie zwraca true, ale może coś wywołać ;)
Potrzebny Ci komponent TShellChangeNotifier. Powinieneś go od razu odpowiednio skonfigurować:
ustalić monitorowany katalog (chyba da się Mój komputer, ale nie jestem pewien) - właściwość Root
ustalić, czy trzeba monitorować podfoldery - właściwość WatchSubTree
ustalić, na jakie zmiany powinien komponent reagować - gałąź właściwości NotifyFilters.
W jedynym możliwym zdarzeniu onchange napisz sobie np.:
procedure TForm1.ShellChangeNotifier1Change; var s: string; begin s := 'Zmiany w katalogu ' + ShellChangeNotifier1.Root; if ShellChangeNotifier1.WatchSubTree then s:=s + ' lub jego podfolderach'; showmessage(s); end;
A jeżeli zamiast var s: string wpiszę:var s: boolean; to wtedy powinno zwrócić mi true lub false, ale czy to bedzie działać?
To z true lub false nie bedzie działało na pewno.
ewentualnie patrz -> http://4programmers.net/Delphi/Length
Kod, pisze z glowy:
procedure TForm1.ShellChangeNotifier1Change; var b: boolean; begin b: = TRUE; Sleep(1000); ProceduraFalse; end;
procedure TForm1.ProceduraFalse var b: boolean; begin b: = False; end;
Jeżeli zajdą zmiany, zmienna b będzie true, skrypt odczega czas (1000 ms) i zmieni na false, jak ponownie zajdą zmiany, to ponownie odbędzie się ta kolejność. Hmmm ja to tak wymyśliłem, ale wszystko z głowy pisałem. Pozdro
Użytkownik kamils1991 edytował ten post 18 wrzesień 2006, 13:57
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
Interesuje mnie komenda która zwróci mi wartość true kiedy na dysku będzie sie coś działo. Jeżeli istnieje jeszcze kod który rozróżnia operację odczyt i zapis, proszę o pomoc. Jeżeli jest też kod który rozpoznaje wysyłanie i odbieranie danych z Internetu, tez bym prosił o pomoc. Z góry dziękuję.
Pozdrawiam
Witam,
Interesuje mnie komenda która zwróci mi wartość true kiedy na dysku będzie sie coś działo. Jeżeli istnieje jeszcze kod który rozróżnia operację odczyt i zapis, proszę o pomoc. Jeżeli jest też kod który rozpoznaje wysyłanie i odbieranie danych z Internetu, tez bym prosił o pomoc. Z góry dziękuję.
Pozdrawiam
W delphi sa funklcje i procedury a nie komendy! A sprawdzic czy na dysku cos sie dzieje chyba mozna tylko z poziomu sterownika. Moze jeszcze sprobowac przechwycic przerywania ale nie sadze zeby system pozwolil na dostep do tego z poziomu aplikacji...
Witam,
Interesuje mnie komenda która zwróci mi wartość true kiedy na dysku będzie sie coś działo. Jeżeli istnieje jeszcze kod który rozróżnia operację odczyt i zapis, proszę o pomoc. Jeżeli jest też kod który rozpoznaje wysyłanie i odbieranie danych z Internetu, tez bym prosił o pomoc. Z góry dziękuję.
Pozdrawiam
No, to, co zaprezentuję nie zwraca true, ale może coś wywołać ;)
Potrzebny Ci komponent TShellChangeNotifier. Powinieneś go od razu odpowiednio skonfigurować:
ustalić monitorowany katalog (chyba da się Mój komputer, ale nie jestem pewien) - właściwość Root
ustalić, czy trzeba monitorować podfoldery - właściwość WatchSubTree
ustalić, na jakie zmiany powinien komponent reagować - gałąź właściwości NotifyFilters.
W jedynym możliwym zdarzeniu onchange napisz sobie np.:
procedure TForm1.ShellChangeNotifier1Change; var s: string; begin s := 'Zmiany w katalogu ' + ShellChangeNotifier1.Root; if ShellChangeNotifier1.WatchSubTree then s:=s + ' lub jego podfolderach'; showmessage(s); end;
A jeżeli zamiast var s: string wpiszę:var s: boolean; to wtedy powinno zwrócić mi true lub false, ale czy to bedzie działać?
To z true lub false nie bedzie działało na pewno.
ewentualnie patrz -> http://4programmers.net/Delphi/Length
Kod, pisze z glowy:
procedure TForm1.ShellChangeNotifier1Change; var b: boolean; begin b: = TRUE; Sleep(1000); ProceduraFalse; end;
procedure TForm1.ProceduraFalse var b: boolean; begin b: = False; end;
Jeżeli zajdą zmiany, zmienna b będzie true, skrypt odczega czas (1000 ms) i zmieni na false, jak ponownie zajdą zmiany, to ponownie odbędzie się ta kolejność. Hmmm ja to tak wymyśliłem, ale wszystko z głowy pisałem. Pozdro
Użytkownik kamils1991 edytował ten post 18 wrzesień 2006, 13:57