Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2011, 14:43   #1
maxefficiently
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 42
По умолчанию File System Watcher (TfisFileNotification)

поставил TfisFileNotification (TfisFile Notification v.1.00) на Delphi 2010. Указал директорию, стартанул компонент, обрабатываю событие-мобытия нет, не работает вообще. Поток 2-й создаётся.

В чём проблема, кто -то пользуется этим компонентом или посоветуете другой рабочий компонент File System Watcher, для отслеживания изменений в файловой системе?

Спасибо за полезные ответы!
maxefficiently вне форума Ответить с цитированием
Старый 14.02.2011, 14:49   #2
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Могу предложить юнит для этих целей, который в свою очередь мне дал Stilet. работает на ура в D2007
Вложения
Тип файла: rar MODULS.rar (10.9 Кб, 18 просмотров)
SERG1980 вне форума Ответить с цитированием
Старый 14.02.2011, 15:14   #3
maxefficiently
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 42
По умолчанию

Спасибо, попробуем, вот эта штука: TSHChangeNotify v.3.0 с http://www.torry.net/pages.php?id=252 работает, только тупая, директорию не выставить, мониторит не понятно что, каталог пользоватедя пониторит, остальное ничего не мониторит, каталог не сменить, бесит такая тупость Столько уже перепробовал, ничего нормаьно не пашет Будем модуль пробовать.
maxefficiently вне форума Ответить с цитированием
Старый 14.02.2011, 15:24   #4
maxefficiently
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 42
По умолчанию

SERG1980, супер, работает. Только незадача: надо отследить, что текстовый файл в папке изменился и сделать form1.Memo1.Lines.LoadFromFile его,и когда он начинает загружатся, то возникает ошибка: процесс не может получить доступ к файлу, так как файл используется другим процессом. Незадача, как побороть?
maxefficiently вне форума Ответить с цитированием
Старый 14.02.2011, 15:33   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
процесс не может получить доступ к файлу, так как файл используется другим процессом. Незадача, как побороть?
вообще-то, на форуме действует правило - один вопрос - одна тема (ну, или наоборот - одна тема - один вопрос).
поэтому, если собираетесь вести обсуждение - тогда лучше создайте новую тему.

а по сути могу посоветовать, попробуйте прочитать файл через TFileStream
открывайте его в режиме совместного доступа:
Tf1 := TFileStream.Create('тут ваш файл.txt', fmOpenRead or fmShareDenyNone );
и потом грузите его в Ansi строку (не забудьте только ей установить размер предварительно!)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.02.2011, 15:42   #6
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
и потом грузите его в Ansi строку (не забудьте только ей установить размер предварительно!)
или же создайте стринговый стрим копируйте в него содержимое файлового стрима и дальше добавляйте в мемо
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s:TStringStream;
    Tf1:TFileStream;
begin
Tf1 := TFileStream.Create('d:\1.txt',fmOpenRead or fmShareDenyNone);
s:=TStringStream.Create('');
s.CopyFrom(Tf1,Tf1.Size);
memo1.Text:=(s.DataString);
s.Free;
Tf1.Free;
end;

Последний раз редактировалось SERG1980; 14.02.2011 в 15:49.
SERG1980 вне форума Ответить с цитированием
Старый 14.02.2011, 17:51   #7
maxefficiently
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 42
По умолчанию

спасибо Serge_Bliznykov, огромное спасибо SERG1980, жму обоим руки, помогли!!! Работает!
maxefficiently вне форума Ответить с цитированием
Старый 14.02.2011, 18:07   #8
maxefficiently
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 42
По умолчанию

Одна проблема - модуль отследив изменения в текстовом файле, на последующие - просто не реагирует, будет другой файл изменён-отреагирует, то есть не сообщает, что файл изменён несколько раз подряд, только 1-н раз, как решить трабл?
maxefficiently вне форума Ответить с цитированием
Старый 15.02.2011, 00:28   #9
maxefficiently
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 42
По умолчанию

По последнему вопросу создал отдельно новую тему: http://www.programmersforum.ru/showt...877#post735877
maxefficiently вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В чём разница между unit, header file, cpp file? TwiX Общие вопросы C/C++ 6 29.04.2012 19:49
System.Net и System.Net.Sockets Adwenturer Общие вопросы .NET 4 08.02.2010 22:08
system lennon Безопасность, Шифрование 1 31.10.2009 18:31
Error 1 fatal error C1083: Cannot open include file: 'iostream.h': No such file or directory s20 Общие вопросы C/C++ 2 26.09.2009 23:28
класс ввода\вывода System::IO::File Selebro Общие вопросы C/C++ 1 18.10.2008 22:48