Вопрос: Блокировки | Добавлено: 01.08.05 10:07 |
Автор вопроса: ![]() |
Можно ли поставить блокировку (чтение, редактирование, удаление) на файлы или на папки средствами VB? Если да, то как? |
Ответы | Всего ответов: 18 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 01.08.05 11:43 |
только ср-ми VB - нет (ну если только на удаление)... |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 55593017 Вопросов: 23 Ответов: 76 |
Профиль | Цитата | #2 | Добавлено: 01.08.05 19:50 |
ты имеешь в виду изменение атрибутов файла? |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #3 | Добавлено: 01.08.05 22:16 |
Open file for accsess read/write etc... Хотя это не то, на самом деле тут сложную програмулину писать, с перехватом API итп... |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #4 | Добавлено: 02.08.05 15:23 |
Че-то непонятно. Тебе надо блокировать доступ к файлу пока запущено твое приложение или установить права доступа?
Если просто блокировать файл, то можно Open "MyFile.txt" For Binary Access Read Lock Read Write As hFile |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #5 | Добавлено: 02.08.05 22:22 |
Vit наверника не это имел ввиду, я тоже думал, но это ж фигня... открывать так каждый файл? Количество одновременно открытых файлов не может быть больше > 255 |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client ICQ: 233286456 Вопросов: 34 Ответов: 5445 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 02.08.05 23:35 |
ну файла два три так вполне реально ![]() |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #7 | Добавлено: 03.08.05 11:16 |
Vit именно это имел ввиду. Только почему то напостил мне это в личную почту.
А 255 файлов блокировать какой смысл? Ты когда-нить работал с 255 файлами сразу? |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #8 | Добавлено: 03.08.05 18:02 |
Нет, но если захочеться заблокировать папочку в которой > 255 файлов, трабла будет... придётся запускать копии программы (чтобы были разные процессы) |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 68 Ответов: 62 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 04.08.05 13:23 |
Я внимательно читал всё, что было тут написано, но на счёт того, что необходимо запускать новые копии программы для запуска более я не согласен.
Поясняю: можно функцию работы с файлом запускать как поток. А ограничения на количество потоков вроде нет. |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #10 | Добавлено: 04.08.05 14:10 |
Вообще этот метод используется для блокировки тех файлов, с которыми ты в данный момент работаешь. Зачем блокировать остальные? |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 68 Ответов: 62 |
Web-сайт: Профиль | Цитата | #11 | Добавлено: 04.08.05 15:17 |
Да нет, это я так, к слову. Но всё может быть. Вожможно придётся работаь с файлами в некторой директории, в которой будет огромное количество файлов. Это может использоваться при больших расчётах, где данные размещены в разных файлах, например, по категориям, по дате и т.д. Это был просто вариант. Кстати, сейчас пишу программу, которая при работе накапливает данные в файлах. На текущий момент файлов 215. Если нет других способов удержать блокировку на файлах (для предотвращения их удаления, модикации). Если бы была возможность блокировать программно сами папки... |
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #12 | Добавлено: 04.08.05 21:33 |
2LOL
Вообще этот метод используется для блокировки тех файлов, с которыми ты в данный момент работаешь. Зачем блокировать остальные?
Таков вопрос автора топика. На счёт потоков, и файлов больше чем 255... Честно говоря не работал с потоками, но с удовольствием бы на это посмотрел... |
Номер ответа: 13 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #13 | Добавлено: 05.08.05 10:58 |
2HACKER
Таков вопрос автора топика. Можно подумать что кто-то понял вопрос автора топика. Мы тут паримся, а он так уточнить и не удосужился ![]() |
Номер ответа: 14 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 68 Ответов: 62 |
Web-сайт: Профиль | Цитата | #14 | Добавлено: 05.08.05 12:59 |
Ладно, конкретизирую вопрос и опишу проблему более детально.
Имеется: 1. Одна папка с вложенными в него другими папками, содержащие разнородную информацию. 2. Каждая вложенная папка содержит файлы [0;сколько влезет]. Проблема: Необходимо защитить эти файлы от "случайного" удаления или модификации, хотя бы во время работы программы. Программа при запуске сканирует родительскау папку и считывает все папки и файлы. Эти данные заносятся в структуру. Если необходимый файл будет отсутствовать в момент его вызова (открытия, чтения), то будет ошибка, т.к. информация о файле есть, а самого файла нет. Думаю, что мне придётся теперь не защить файлы, а обрабатывать исключительную ситуацию, связанную с отсутствием файла. |
Номер ответа: 15 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #15 | Добавлено: 06.08.05 01:19 |
Проверить надичие файла - см библу кодов... |
|