|
|
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
Всем привет! что то я торможу с утра. Все забываю. Такое дело. Как бы покрасивше проверить открыт ли файл? Конкретнее, копаю в сторону Security attributes, file share attributes. Пока ничего не накопал. Была где то апишка, один вызов и кирдык. Никак не могу вспомнить. и бумажек не осталось. Может кто напомнит маразматику? Спасибо. ЗЫ Ошибку на открытие не надо... Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 18:20:20 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
кое что нашел. NetFileGetInfo заполняет передаваемый пустой буфер. Он будет содержать указатель на структуру FILE_INFO_2(или 3). Один из папраметров которой - количество локов на ресурсе. Новот незадача. Вызывать ее могут только члены админов или операторов. А если в пользовательской проге? Конечно же не подходит. Что нить подскажете уважаемые? :) Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 19:54:36 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
А в библиотеке FIleSystemObject ничего нету? Я просто не помню, а времени покопаться пока нет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 10:08:36 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
См. h**p://borland.xportal.ru/forum/viewtopic.php?p=8574&highlight=&sid=86d5f6ddf63612368895115fcc9d94d5 Суть в том, что конструкции типа Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 13:18:43 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
А чем стандартный Open + обработка ошибок не подходит Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 14:51:57 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
2 Senin Viktor Гм.. Именно так сейчас и делаю :). Но помню что раньше делал по-другому. Апишка какая то была. 2 KostyaSPB Неа. Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 16:41:39 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
Метод FileExists fso.FileExists(FileSpec) Служит для проверки существования файла с заданным именем. Возвращает значение True в том случае, когда указанный файл существует; в противном случае возвращается значение False Дальше сам разберешься, удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 12:10:37 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
Гм. :) Вопрос то почитай :) Дело не в отсутствии файла а в ошибке доступа еслион уже открыт. А фсо почти никогда не испоьзую, в большинстве случае есть более изящные способы. Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2004, 16:21:27 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
ТАкая же у меня проблема. Из вышеприведеннго все вроде понял. Подскажите, гуру, как ошибки то правильно обработать после open file? Чтобы если файл открыт - писать в него ,если не открыт - создать заново, типа такого... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2004, 13:08:46 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
ПашкаТАкая же у меня проблема. Из вышеприведеннго все вроде понял. Подскажите, гуру, как ошибки то правильно обработать после open file? Чтобы если файл открыт - писать в него ,если не открыт - создать заново, типа такого... for append если не ошибаюсь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2004, 13:37:17 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
ЛавинаМетод FileExists fso.FileExists(FileSpec) Служит для проверки существования файла с заданным именем. Возвращает значение True в том случае, когда указанный файл существует; в противном случае возвращается значение False Дальше сам разберешься, удачи Ну, Лавина, умыла Магнуса :-))))) И почему гуру так любят АПИ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2004, 18:43:11 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
2 Дурак Можно и так сказать, если не принимать во внимание тот факт что ее ответ не имел ничего общего с моим вопросом . Magnus ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.09.2004, 20:48:08 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
вопрос хоть и старый но актуален как через АПИ проверить открыт ли файл? (fso не интересно ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 12:40:49 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
marvanСм. h**p://borland.xportal.ru/forum/viewtopic.php?p=8574&highlight=&sid=86d5f6ddf63612368895115fcc9d94d5 Суть в том, что конструкции типа Код: plaintext расскажи плиз побольше о флагах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 12:51:50 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
raur marvanСм. h**p://borland.xportal.ru/forum/viewtopic.php?p=8574&highlight=&sid=86d5f6ddf63612368895115fcc9d94d5 Суть в том, что конструкции типа Код: plaintext расскажи плиз побольше о флагах разобрался а как узнать с каким флагом та или иная прога открывает файл (ворд например)? спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 12:55:41 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
вот статейка , но для NT, это не подходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 15:45:39 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
я выяснил методом научно тыка: Private Declare Function lOpen Lib "kernel32" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long Private Declare Function lClose Lib "kernel32" Alias "_lclose" (ByVal hFile As Long) As Long Private Const OF_CANCEL = &H800 Private Const OF_CREATE = &H1000 Private Const OF_DELETE = &H200 Private Const OF_EXIST = &H4000 Private Const OF_PARSE = &H100 Private Const OF_PROMPT = &H2000 Private Const OF_READ = &H0 Private Const OF_READWRITE = &H2 Private Const OF_REOPEN = &H8000 Private Const OF_SHARE_COMPAT = &H0 Private Const OF_SHARE_DENY_NONE = &H40 Private Const OF_SHARE_DENY_READ = &H30 Private Const OF_SHARE_DENY_WRITE = &H20 Private Const OF_SHARE_EXCLUSIVE = &H10 Private Const OF_VERIFY = &H400 Private Const OF_WRITE = &H1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 17:25:21 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
raurя выяснил методом научно тыка Молодец, но для выяснения, используется ли файл каким либо процессом - это не поможет. Странно только почему научный тык не привёл тебя к функциям CreateFile или OpenFile. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2004, 17:33:29 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
поможет Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 15:14:28 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
от чего ушли, к тому и пришли Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 18:15:10 |
|
||
|
File Open.. покрасивше.
|
|||
|---|---|---|---|
|
#18+
маленький комментарий: этим способом (и АПИ на котором бейсиковский Open... построен) можно пользоваться, когда время проверки не критично. Функции Marvan требуется несколько миллисекунд, иногда от 0.5сек до целой секунды (если в NT через share или что-то подобно заумное). Для меня это было слишком заметно, но другого способа я не нашел. Если не пользовать "физический" лок (через file system, как в Open...Lock Read/Write ) - вполне допустимое решение это писать лок прямо в файл или в общую базу данных (если к файлу имеют доступ только мои апликации). Например, в файл config построенный на XML я просто писал идентификатор в атрибут корневого элемента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2004, 18:43:42 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=32454530&tid=2168743]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 203ms |
| total: | 374ms |

| 0 / 0 |
