Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 03.03.2018
Сообщений: 7
.NET 4.x

Отслеживание новых файлов в директории

03.03.2018, 17:46. Показов 4195. Ответов 11
Метки uwp (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую!

Прошу помощи в нахождении оптимального алгоритма в поставленной задаче) Сильно не ругайте, я новичок) спасибо

Пытаюсь создать программу, которая собирает и хранит в себе информацию о файлах программ ЧПУ, которые станок кладет в определенную директорию в качестве бекапа. Задача: отслеживать появление новых файлов либо изменённых, затем сравнение с базой программ в нашем приложении, если их нет, то нужно внести их в базу. Затем предоставить возможность оператору ЧПУ добавить необходимую информацию: инструмент, чертеж, и т.д. База состоит из одного json-файла. Еще хотелось бы услышать, как лучше сравнивать наличие найденных файлов с коллекцией, просто сравнивать имя файла с соответствующим полем в в коллекции или есть более разумный механизм?

спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.03.2018, 17:46
Ответы с готовыми решениями:

Отслеживание изменений в директории
Всем здравствуйте. Нужно написать код, который бы отслеживал изменения в директории, то есть создание/удаление/изменение...

1С 8.1 отслеживание новых файлов
Подскажите, как реализовать в 1С отслеживане появления новых файлов в какой-либо папке?

Мониторинг директории и копирование только новых файлов
Всем привет! Подскажите как реализовать следующую затею. Есть директория, в которой периодически появляются (добавляются) различные файлы....

11
Wanna be serious
 Аватар для Bespridelschic
587 / 474 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
03.03.2018, 17:55
Слежку за директорией можно организовать с помощью класса FileSystemWatcher. Описание класса и примеры работы с ним.

По поводу базы. Не совсем понятно, что вы подразумеваете под
Цитата Сообщение от mShifu Посмотреть сообщение
База состоит из одного json-файла
У вас имеется только один файл? Или полноценная база данных SQL?
0
0 / 0 / 0
Регистрация: 03.03.2018
Сообщений: 7
03.03.2018, 18:20  [ТС]
один файл, такой структуры :
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
...
{
      "UniqueId": "IG50Y",
      "Title": "Mazak Integrex 50Y",
      "Subtitle": "Mazak Integrex 50Y",
      "ImagePath": "ms-appx:///Assets/hoficon.png",
      "Description": "Mazatrol-640MT, 15tum chuck, 3000 rpm,  center 1500, ATC60",
      "Items": [
        {
          "UniqueId": "1163251",
          "Title": "116325",
          "Subtitle": "Ventil-tapp",
          "ImagePath": "ms-appx:///Assets/hoficon.png",
          "Description": "",
          "Time": "",
          "Client": "BLOCK & MOHR",
          "Agent": "PK",
          "DateM": "2017.11.22",
          "Revision": "02",
          "Mashine": "IG50Y",
          "IsNew": false,
          "Tools": [
            {
              "Title": "CoroTurn®",
              "Position": "1",
              "Insert": "CP-B1108-M5 4325",
              "ImagePath": "ms-appx:///Assets/hoficon.png",
              "LF": "200",
              "Adapter": "",
              "VC": "150",
              "FNFZ": "0.707",
              "AP": "3",
              "RE": "0.8",
              "NVF": "1000",
              "DCTDZ": ""
            }
...
Добавлено через 3 минуты
забыл сказать что это UWP приложение.
0
Wanna be serious
 Аватар для Bespridelschic
587 / 474 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
03.03.2018, 18:23
Судя по всему, вам понадобится централизованная база данных. В связи с уточнением о использовании UWP, выбор однозначно в сторону SQLite. Можете почитать про установку и работу с базой вот здесь. По поводу сравнения новых файлов с файлами в БД, все не так однозначно. Если файлы гарантированно не будут иметь совпадающих имен - то почему бы и нет. Если будут совпадающие имена, то нужно будет лезть внутрь и смотреть содержимое.
0
0 / 0 / 0
Регистрация: 03.03.2018
Сообщений: 7
03.03.2018, 18:44  [ТС]
Спасибо, попробую разобраться. Имена файлов не будут совпадать. Вы считаете, что json не подходит на роль базы данных?)
Дело в том, что я действительно новичок, только начал разбираться и SQLite, как мне какжется, будет сложноват для меня на начальном этапе. Но все равно, спасибо за советы. Я пытаюсь перестроить найденную мной на githab среди Windows-universal-samples программку, в которой все завязано на json, но он конечно не такой большой.
0
Wanna be serious
 Аватар для Bespridelschic
587 / 474 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
03.03.2018, 18:51
По моему скромному мнению, JSON не удобен для оперирования локальными данными. Он нужен для работы с Web. Как я понимаю, база постепенно будет разрастаться, поэтому переписывать весь файл будет все дольше и дольше, а объемы данных будут храниться в памяти. Использование базы было бы лучшим решением, а главное - удобным для вас. Но всё же, вы можете дорабатывать программу, используя JSON.

От себя добавлю, почитать про работу с Entity Framework можете здесь. Достаточно доступно объясняется работа с ним, и немного обозревается устройство базы данных.
0
0 / 0 / 0
Регистрация: 03.03.2018
Сообщений: 7
04.03.2018, 01:01  [ТС]
Спасибо за помощь)

Добавлено через 4 часа 54 минуты
Цитата Сообщение от Bespridelschic Посмотреть сообщение
Слежку за директорией можно организовать с помощью класса FileSystemWatcher. Описание класса и примеры работы с ним.
Как я понял, FileSystemWatcher недоступен в UWP приложениях? Или это не так? Если создаю консольное приложение и копирую код из примера по ссылке, то все работает, но если пытаться запихнуть это в UWP, то получаю кучу ошибок.

Добавлено через 29 минут
альтернатива это CreateFileQuery и ContentsChanged
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
04.03.2018, 01:30
mShifu, а зачем такое понадобилось? есть подозрение что есть более правильные решения, причем, во всех аспектах!
0
0 / 0 / 0
Регистрация: 03.03.2018
Сообщений: 7
04.03.2018, 02:05  [ТС]
Цитата Сообщение от Diamante Посмотреть сообщение
mShifu, а зачем такое понадобилось? есть подозрение что есть более правильные решения, причем, во всех аспектах!
Что именно Вы имеете в виду? Создавать такую программу или выбор алгоритма? Программу решил писать ради собственного интереса, если Вы об этом)

Если не сложно, натолкните на правильное решение.

Спасибо
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
04.03.2018, 02:18
mShifu, ну для начала создавать...
видимо не была проведена предварительная работа(80% трудозатрат), что бы понять, ЧТО надо, и, главное, НАГОА это надо...
0
0 / 0 / 0
Регистрация: 03.03.2018
Сообщений: 7
04.03.2018, 02:47  [ТС]
Цитата Сообщение от Diamante Посмотреть сообщение
mShifu, ну для начала создавать...
видимо не была проведена предварительная работа(80% трудозатрат), что бы понять, ЧТО надо, и, главное, НАГОА это надо...
Вы правы, никаких предварительных работ не проводилось. Я работаю на маленьком предприятии оператором станка ЧПУ, программа мне нужна для удобства. Необходимо, при получении чертежа проверить, есть ли готовая программа, если есть, то какой инструмент необходим, и еще некоторая сопутствующая информация, которая не храниться в станке. Все это требуют от нас делать вручную, т.е создавать тестовый файлик к каждой программе со всей этой информацией. Вот я и решил попробовать создать программу, которая облегчит эту работу. Возможно это сложная задача для новичка, но это всего ради интереса.
0
Wanna be serious
 Аватар для Bespridelschic
587 / 474 / 186
Регистрация: 31.07.2013
Сообщений: 1,693
04.03.2018, 05:28
Цитата Сообщение от mShifu Посмотреть сообщение
альтернатива это CreateFileQuery и ContentsChanged
Да, действительно, в UWP FileSystemWatcher недоступен. Используйте эти классы для отслеживания изменений в директориях.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.03.2018, 05:28
Помогаю со студенческими работами здесь

Вывод всех файлов и поддиректорий в заданной директории (добавить в код ввод директории)
.586p .model flat, stdcall std_output_handle equ -11 std_input_handle equ -10 extern wsprintfA:near extern CharToOemA@8:near ...

Отслеживание создания новых записей во множественной форме
Прошу направить, как будет лучше отследить создание новых записей во множественной форме (для ведения журнала изменений). Удаление навесил...

FTP: получение списка файлов из потока. Как вывести список файлов из директории?
доброго времени суток. пытаюсь написать свой FTP-клиент. отправил серверу команду LIST, и в ответ он выдал "ок. успешно" ...

В определенной директории, прочитать все имена файлов и создать папки, с названиями этих файлов
В общем Моя задача, в определенной директории, прочитать все имена файлов и создать папки, с названиями этих файлов. Вот код: namespace...

Отслеживание файлов
Здравствуйте, господа программисты. Нужен код который будет отслеживать папку допустим с именем Tem,p и при появлении в этой папке другой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru