Как проверить существование файла из FPD 2.6 | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Надо проверить, допустим, наличие файла myfile.txtd
Функция adir() не сможет определить наличие такого файла - 4 знака в расширении ей не по зубам. Конечно, можно использовать внешний виндовый DIR, перенаправить результат команды в текстовый файл, потом этот файл загнать в таблицу по APPEND FROM SDF и проверить наличие имени myfile.txtd и т. д. Или можно сделать копию файла myfile.txtd виндовым XCOPY через RUN (к слову сказать, myfile.txtd размером в 30 кБ примерно), а потом копию переименовать в файл с расширением с тремя символами и т.д. Однако эти способы выглядят очень уж громоздкими. А нет ли какого-нибудь способа попроще? |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Программа написанная под старые версии DOS (6.22 и ранее) не может работать с именами файлов отличными от 8.3 формата. FPD, насколько я в курсе, именно такая программа и есть. В настоящем DOS (например 7.10 из состава Windows95, или новые DR-DOS) и его VFAT файловой системе, помимо длинных имён всегда хранятся и их 8.3 версии. Точнее даже сказать что 8.3 имя является основным, а длинное - необязательным расширением для этих ОС. Естественно под современной WinNT платформой используются другие файловые системы, и там поддержка 8.3 имён вполне может быть и отключена.
------------------ WBR, Igor |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Да это всё понятно. Вопрос лишь в том - есть ли более удобный способ узнать при помощи командной строки Windows о существовании файла? Тут еще вот какая заморочка. Команда XCOPY может копировать, но не может при копировании переименовывать. Точнее говоря, XCOPY в этом случае не понимает, чего от нее хотят: то ли скопировать файл в другую папку, то ли при копировании выходной файл переименовать, и поэтому XCOPY задает уточняющий вопрос и ждет ответа. Нужный ответ не получается заслать через входной поток <
Команда же REN может переименовать, но в случае отсутствия входного файла пишет об этом сообщение, и хотя при помощи перенаправления сообщения на > Nul сообщения не видно, но в FPD текущий экран сдвигается на одну строку вверх. С этим тоже можно бороться с помощью SAVE SCREEN и RESTORE SCREEN, но некоторое мельтешение на экране всё равно заметно. |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
В батнике исполняемом cmd (если уж речь про винду, тем паче современную) наличие файла проверить несложно - if exist
"заслать" символ для xcopy можно через echo F | xcopy ... вот только xcopy не предназначен для переименования файлов... Да и вывод ненужный на экран будет по любому. Просто копировать одиночный файл под новым именем - хватит и банального copy. ------------------ WBR, Igor |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Да вроде как виндовая COPY не может работать с файлами не в формате имени 8.3 По крайней мере в WIN XP этого сделать не получалось, и приходилось использовать XCOPY.
Насчет засласть ECHO F в команду XCOPY - в смысле так? XCOPY myfile.txtd myfile.txt < ECHO F Проверю (сейчас прямо не могу), но вариант XCOPY myfile.txtd myfile.txt < F не работает. Насчет If exist в батнике я знаю еще по DOS, но это надо будет сначала сгенерировать этот батник через макроподстановку в FPD, поскольку в маршруте в файлу будет присутствовать ММГГГГ отчетного периода, что тоже известная "возня". К тому же придется тогда "городить" запись результата проверки существования файла еще в какой-то файл, потом тот файл открывать и т.п. Исправлено 2 раз(а). Последнее : Simple777, 07.07.18 14:16 |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
С чего бы это? Насколько я помню, даже "настоящая досовская" команда из command.com доса версии 7.1 умеет работать с LFN. В смысле буквально как я написал
Не понял зачем какие-то файлы "городить" и при чём тут макро? Батник генерируется (раз уж он не "статический" по содержимому) как простой текстовый файл - да хоть бы FOPEN/FPUTS/FCLOSE, запускается обычным run-ом. ------------------ WBR, Igor |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Chemberzhy Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Глянь тут, может поможет
------------------ Что-то с памятью моей стало, всё что было не со мной- помню. |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Насчет ECHO F понял - проверю.
Насчет батника. Я имел в виду, что, допустим, If exist в батнике устанавливает, что файл существует, но ведь эту инфу надо еще передать в FPD, и для этого придется сгенерировать, видимо, еще какой-то файл, в который занести, допустим, 1 или 0 (если файл не существует). Насчет команды COPY. Вспомнил, с чем была связана проблема. После добавления макросов в Worde 2007 и старше макросы сохраняются в NORMAL.DOTM В рабочей папке проекта я храню копию этого NORMAL.DOTM с тем, чтобы в случае сбоя в Worde и сброса NORMAL.DOTM в начальное состояние (без добавленных мной макросов) можно было копию NORNAL.DOTM отправить в заранее известную папку. Команда COPY почему-то не смогла копировать NORMAL.DOTM (хотя NORMAL.DOT для версии WORD 2003 COPY копирует без проблем), и поэтому пришлось использовать для копирования NORMAL.DOTM команду WINDOWS XCOPY Исправлено 1 раз(а). Последнее : Simple777, 07.07.18 15:23 |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Chemberzhy Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Лишние движение. Наличие или отсутствие какого либо файла уже достаточный флаг для FPD. Если ECHO вернет пустую строку, то и файл не сформирует отчетный насколько я помню. ------------------ Что-то с памятью моей стало, всё что было не со мной- помню. |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Chemberzhy Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Вообще, если я не ошибаюсь, где то в "Решениях" была приблуда .fll для работы с длинными именами из под FPD. Но не утверждаю точно, может быть это я где то на просторах встречал и качал. Точно знаю, что такое есть в природе, так как лет 11-12 назад сам использовал по месту тогдашней работы.
------------------ Что-то с памятью моей стало, всё что было не со мной- помню. |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Chemberzhy Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
|
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Спасибо! До чего только народ не додумался в батниках!
Но обойдемся без батников. |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Chemberzhy Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Косоворотка? ;)
------------------ Что-то с памятью моей стало, всё что было не со мной- помню. |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Восьмиклинка!
А всё-таки раньше нравы были мягче...
Сейчас такого на форуме не услышишь... |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Для FPD нужны не fll а plb - там другая система создания "расширений фокса". И если fll в принципе можно в любой современной VisualStudio собрать, то с plb всё гораздо сложнее - там вроде как отдельный сишный компилятор поставлялся в составе этой самой LCK или как её называли...
------------------ WBR, Igor |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Chemberzhy Сообщений: 13142 Откуда: Измаил Дата регистрации: 28.04.2009 |
Честно, не припомню уже точно, может и приврал чего не со зла, а по старости ума ;) Долбо.бов было меньше, бо пиз.или крепко, а в авторитете был интелект, а не количество постов и зелененьких свистюлек И уж точно не в наличии опыта проктологических изысканий ------------------ Что-то с памятью моей стало, всё что было не со мной- помню. Исправлено 1 раз(а). Последнее : Chemberzhy, 07.07.18 16:59 |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Да помню твою пламенною речь про свистюлек и хомячков, но увы...
|
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Кагбы по мотивам топика...
[attachment 29660 forever.jpg] FPD forever!.. |
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Такой вариант проверил - работает без проблем:
|
Re: Как проверить существование файла из FPD 2.6 | |
---|---|
Crispy Сообщений: 18571 Дата регистрации: 16.05.2005 |
Дык эта. Есть! Есть такая пагтия! Попробуй вот так:
И возможно будет тебе счастье. ------------------ В действительности все иначе, чем на самом деле. (Антуан де Сент-Экзюпери) |
© 2000-2024 Fox Club  |