Автор | Сообщение |
|
| постоянный участник
|
Пост N: 6251
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.04.19 18:14. Заголовок: Чтение файлов из сетевой папки ....
Считываю из сетевой папки файлы. Файлы могут быть, а могут и не быть. А доступ к папке регулирует админ - чтение: разрещено/запрещено. Как у себя в программе определить, что юзеру запрещено чтение файлов ?
|
|
|
Ответов - 21
, стр:
1
2
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 1512
Зарегистрирован: 27.01.07
|
|
Отправлено: 14.04.19 20:04. Заголовок: Чем читаешь?..
Чем читаешь?
|
|
|
|
| постоянный участник
|
Пост N: 6252
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.04.19 20:52. Заголовок: cPath := "..
cPath := "\\Server\Documents" aFiles := DIRECTORY( cPath + "*.*" )
|
|
|
|
| постоянный участник
|
Пост N: 1513
Зарегистрирован: 27.01.07
|
|
Отправлено: 14.04.19 20:58. Заголовок: FOPEN( <cFile..
FOPEN( <cFile>, [<nMode>] ) --> nHandle Если nHandle == -1, значит открытие не состоялось. Подробности ошибки сообщит FError()
|
|
|
|
| |
Пост N: 7033
Зарегистрирован: 17.05.05
|
|
Отправлено: 14.04.19 20:59. Заголовок: Andrey пишет: Как у..
Andrey пишет: цитата: | Как у себя в программе определить, что юзеру запрещено чтение файлов ? |
| Там еще и сканирование (список содержимого папки) может быть запрещено
|
|
|
|
| постоянный участник
|
Пост N: 1514
Зарегистрирован: 27.01.07
|
|
Отправлено: 14.04.19 21:06. Заголовок: Тогда у него не буде..
Тогда у него не будет пути к файлу вообще. До FOpen не дойдёт.
|
|
|
|
| постоянный участник
|
Пост N: 6253
Зарегистрирован: 12.09.06
|
|
Отправлено: 14.04.19 21:43. Заголовок: PSP пишет: FOPEN( &..
PSP пишет: цитата: | FOPEN( <cFile>, [<nMode>] ) --> nHandle |
| Нельзя этого сделать. Какой файл открывать ? Не знает программа что открывать. Там любой файл может быть, а может и не быть... Нужно получить список файлов из папки или получить ошибку открытия папки....
|
|
|
|
| |
Пост N: 386
Зарегистрирован: 12.11.06
|
|
Отправлено: 15.04.19 08:33. Заголовок: Проверить существова..
Проверить существования и права папки: скопируйте свой маленький файл туда и анализ успешности, если да то удалите/измените его - анализ успешности, это права на папку
|
|
|
|
| постоянный участник
|
Пост N: 1515
Зарегистрирован: 27.01.07
|
|
Отправлено: 15.04.19 08:48. Заголовок: Andrey пишет: Нужно..
Andrey пишет: цитата: | Нужно получить список файлов из папки или получить ошибку открытия папки.... |
| Andrey пишет: цитата: | aFiles := DIRECTORY( cPath + "*.*" ) |
| aFiles будет пустой, если к папке нет доступа.
|
|
|
|
| постоянный участник
|
Пост N: 2352
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.04.19 09:20. Заголовок: Andrey Исп. функции..
|
|
|
|
| постоянный участник
|
Пост N: 6255
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.04.19 13:23. Заголовок: AndreyZh пишет: Про..
AndreyZh пишет: цитата: | Проверить существования и права папки: скопируйте свой маленький файл туда и анализ успешности, если да то удалите/измените его - анализ успешности, это права на папку |
| PSP пишет: цитата: | aFiles будет пустой, если к папке нет доступа. |
| Andrey пишет: цитата: | Считываю из сетевой папки файлы. Файлы могут быть, а могут и не быть. А доступ к папке регулирует админ - чтение: разрещено/запрещено. Как у себя в программе определить, что юзеру запрещено чтение файлов ? |
|
|
|
|
|
| постоянный участник
|
Пост N: 2360
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.04.19 14:07. Заголовок: Andrey Что не ясно ..
Andrey Что не ясно ? Вроде древний метод работы 1. просишь файлы директории по маске 2. если получил, то доступ к дир. есть 3. по списку или выборочно, пытаешься открыть файл или копировать к себе. 4. если неудачно, то файл или занят или недоступен, можешь анализировать nResult или запрос ф-ии ERROR(), забыл как точно называется, ее результат код ошибки Для проверки на запись, пытаешься создать в дир. файл, если удачно - писать можно.
|
|
|
|
|
| постоянный участник
|
Пост N: 6256
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.04.19 14:18. Заголовок: Да дело в том что у ..
Да дело в том что у юзер может быть ТОЛЬКО чтение файлов и в папке может НЕ БЫТЬ файлов (забыли туда положить). А как тогда определить - есть у юзера право на чтения этой папки ? Когда файлы в папке есть, то понятно как действовать.
|
|
|
|
| постоянный участник
|
Пост N: 2361
Зарегистрирован: 17.02.12
|
|
Отправлено: 15.04.19 14:25. Заголовок: Andrey пишет забыли ..
Andrey пишет Это тогда к телепатам, они точно знают. По факту нет файла - не положили. Тот кто должен пусть выкладывает, может и протокол к файлу кладет (как бы 2а файла)
|
|
|
|
| постоянный участник
|
Пост N: 6257
Зарегистрирован: 12.09.06
|
|
Отправлено: 15.04.19 16:03. Заголовок: SergKis пишет: Это ..
SergKis пишет: цитата: | Это тогда к телепатам, они точно знают. |
|
|
|
|
|
| постоянный участник
|
Пост N: 1516
Зарегистрирован: 27.01.07
|
|
Отправлено: 16.04.19 11:59. Заголовок: Andrey пишет: А как..
Andrey пишет: цитата: | А как тогда определить - есть у юзера право на чтения этой папки ? |
| FERROR() Return Values Error Meaning -------------- ---------------------------------------------- 0 Successful 2 File not found 3 Path not found 4 Too many files open 5 Access denied 6 Invalid handle 8 Insufficient memory 15 Invalid drive specified 19 Attempted to write to a write-protected disk 21 Drive not ready 23 Data CRC error 29 Write fault 30 Read fault 32 Sharing violation 33 Lock Violation
|
|
|
|
| |
Пост N: 171
Зарегистрирован: 05.11.05
|
|
Отправлено: 19.06.19 15:14. Заголовок: Просматриваю папки, ..
Просматриваю папки, ищу в них файлы. Использую функцию DIRECTORY("*.*","D") . Если у папки стоит атрибут Архивная, она ее не видит. Что делать? Файлы с таким атрибутом видит. "DA" писал, не помогает.
|
|
|
|
| Администратор
|
Пост N: 3842
Зарегистрирован: 23.05.05
|
|
Отправлено: 19.06.19 16:04. Заголовок: Может быть дело не в..
Может быть дело не в архивном атрибуте, а в другом ? Попробуйте DIRECTORY("*.*","DHS")
|
|
|
|
| |
Пост N: 172
Зарегистрирован: 05.11.05
|
|
Отправлено: 19.06.19 16:57. Заголовок: Pasha пишет: Попроб..
Pasha пишет: цитата: | Попробуйте DIRECTORY("*.*","DHS") |
| Нет, не помогает. А вот если предварительно снимаю с каталогов архивные атрибуты attrib.exe -A каталог\*.* /D /S то потом все работает.
|
|
|
|
| Администратор
|
Пост N: 3843
Зарегистрирован: 23.05.05
|
|
Отправлено: 20.06.19 10:54. Заголовок: Странно. Создаю папк..
Странно. Создаю папку. Кидаю туда программу, создаю в ней еще папку ff, выдаю: attrib +a ff Убеждаюсь, что атрибут на ff установлен Запускаю программу, которая отрабатывает DIRECTORY("*.*","DHS") Результат: 4 элемента: 3 папки: "." ".". "ff", и сама программа Может там дело в файловой системе ? Я запускаю локально на ntfs
|
|
|
|
| |
Пост N: 173
Зарегистрирован: 05.11.05
|
|
Отправлено: 20.06.19 11:34. Заголовок: Pasha пишет: Я запу..
Pasha пишет: цитата: | Я запускаю локально на ntfs |
| Я тоже. У меня в папке еще папки, в них еще. И у всех атрибуты архив. Не работает, пока атрибут не сниму. Если интересно, могу выложить.
|
|
|
|
| moderator
|
Пост N: 1290
Зарегистрирован: 06.07.06
|
|
Отправлено: 20.06.19 14:19. Заголовок: У меня тоже аттрибут..
У меня тоже аттрибут "архив" не вызывает проблем. Открываю с помощью hbedit, там используется Directory( cPath, "HSD" ). Скачайте hbedit и попробуйте открыть каталог с его помощью - Ctrl-F4, Ctrl-Down - тогда будет яснее, где искать проблему, в Windows или сборке Harbour.
|
|
|
Ответов - 21
, стр:
1
2
All
[только новые]
|
|