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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2011, 18:18   #1
omigos99
 
Регистрация: 26.12.2009
Сообщений: 5
Сообщение .NET Алгоритм проверки каждые n мсек наличие файла в текущей директории

Здравствуйте!
Задача состоит в том, что у меня есть "сервер" и к нему в папку стекаются "сообщения"(файлы с разными именами). Подскажите, пожалуйста, как организовать проверку каждые 100 ms наличие какого-либо файла в директории, его прочитать и удалить.

я работаю в среде PascalABC .NET, но скорее всего пример разберу и на С# (C++)
задержка sleep(100), процедуры открытия и тп. я знаю. Подскажите как организовать проверку с задержкой (м.б. бесконечный цикл?); и находить адреса новых файлов.

ответ нужен, курсовая горит
Спасибо!
omigos99 вне форума Ответить с цитированием
Старый 10.12.2011, 18:26   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а может просто System.IO.FileSystemWatcher применить?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.12.2011, 19:37   #3
omigos99
 
Регистрация: 26.12.2009
Сообщений: 5
По умолчанию

спасибо за ответ. Но теперь возникает другая проблема
я пишу(извините за мой паскаль)
Код:
var
   FileWatch: System.IO.FileSystemWatcher;

    procedure OnChanged(source: object; e: System.IO.RenamedEventArgs );
    begin
        // Specify what is done when a file is changed, created, or deleted.
       WriteLn('File: ' +  e.FullPath + ' ' + e.ChangeType.ToString);
    end;

  begin
   FileWatch := new System.IO.FileSystemWatcher(GetDir+'\messages');
   FileWatch.Changed += new FileSystemEventHandler(OnChanged);
 end.
на что Паскаль АБС ругается мол "Неверное число параметров конструктора" ( new FileSystemEventHandler(OnChanged)).
В подсказке выдаёт, что первый параметр - объект, второй IntPtr.
Подскажите что делать?
в оригинале
Код:
using System;
using System.IO;

class Program
{
    static void Main(string[] args)
    {
        //  Create a FileSystemWatcher to monitor all files on drive C.
        FileSystemWatcher fsw = new FileSystemWatcher("C:\\");

        //  Watch for changes in LastAccess and LastWrite times, and
        //  the renaming of files or directories. 
        fsw.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
            | NotifyFilters.FileName |NotifyFilters.DirectoryName;

        //  Register a handler that gets called when a 
        //  file is created, changed, or deleted.
        fsw.Changed += new FileSystemEventHandler(OnChanged);
    }

    //  This method is called when a file is created, changed, or deleted.
    private static void OnChanged(object source, FileSystemEventArgs e)
    {
        //  Show that a file has been created, changed, or deleted.
        WatcherChangeTypes wct = e.ChangeType;
        Console.WriteLine("File {0} {1}", e.FullPath, wct.ToString());
    }

Последний раз редактировалось omigos99; 10.12.2011 в 19:47.
omigos99 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка всех файлов в текущей директории _-Re@l-_ Общие вопросы Delphi 9 18.12.2010 22:28
автосохранение файла каждые 15 минут kzld Microsoft Office Excel 5 13.12.2010 13:23
Не работает цикл проверки на наличие неверных символов artemavd Общие вопросы Delphi 39 17.09.2010 04:55
Определить кодировки файлов в текущей директории 4айник Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 27.04.2010 15:49
Определение текущей директории Alex Cones Мультимедиа в Delphi 4 11.04.2009 12:32