:: Visual Foxpro, Foxpro for DOS
Re: Как проверить существование файла из FPD 2.6
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Не. Функцией FILE() не пользуюсь вообще. Некорректно работает у меня, начиная с WIN XP. А под WIN 98 тот же самый код работает. Поэтому уже давно везде убрал FILE() и заменил на ADIR().

И вообще проблема уже закрыта - XCOPY делает всё, что надо. [sm128]
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
На всякий случай поясню.

Исходный файл в любом случае должен оставаться там, куда его скопировал юзер. XCOPY сразу же пытается скопировать исходный файл и сохранить копию под именем в формате 8.3
Если копирование и переименование не закончилось успешно, то выдается соответствующее сообщение. Если же копирование успешно, то далее происходит обработка переименованного файла. То бишь никаких "лишних" действий командой XCOPY не выполняется. И вообще "играться" с усеченными короткими именами довольно рискованно. Моя так думай.



Исправлено 2 раз(а). Последнее : Simple777, 11.07.18 09:43
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Работать то с 8.3 именами можно без проблем... Вот "гадать" какое же будет 8.3 имя для заданного длинного - вот это неправильно. А АПИ для поиска "соответствий" из FPD не вызвать напрямую.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Simple777
Не. Функцией FILE() не пользуюсь вообще. Некорректно работает у меня, начиная с WIN XP

Ну не знаю. Твои проблемы возможно. У меня под ХР с самого начала и до сегодня FILE() всегда работала нормально. [sm128]


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Вопчем, эта FILE() не находит файлы с маршрутом, если маршрут через макрос записан. В WIN 98 эта конструкция работает. Разбираться что и как было неохота, поэтому перешел на ADIR(). К тому же ADIR() возвращает много полезной и нужной инфы помимо установления факта существования файла.
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
Chemberzhy

Сообщений: 13142
Откуда: Измаил
Дата регистрации: 28.04.2009
Igor Korolyov
Работать то с 8.3 именами можно без проблем... Вот "гадать" какое же будет 8.3 имя для заданного длинного - вот это неправильно. А АПИ для поиска "соответствий" из FPD не вызвать напрямую.

Еще работая в FPD в свое время, я практически каждое свое приложение снабжал дополнительным масеньким приложением, писаным в VB, задача которого и была посредническая между FPD и ОС. Общение между FPD и VB происходило через текстовый файл, в VB, разумеется, таймер.


------------------
Что-то с памятью моей стало, всё что было не со мной- помню.
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Igor Korolyov
Вот "гадать" какое же будет 8.3 имя для заданного длинного - вот это неправильно. А АПИ для поиска "соответствий" из FPD не вызвать напрямую.

А зачем гадать. В FPD есть такое окошко Open для открытия файлов, в нем всегда можно увидеть, как фокс видит тот или иной файл.
Если же русские имена не используются (что и должно быть в идеале в FPD) - так и вовсе просто.
Для перевода в формат 8.3 элементарно берутся первые 6 символов имени и добавляется `1. Ну в редких случаях частичного дублирования в хвостах длинных имен (что для FPD думаю уникальные случаи) может понадобиться проверять и ставить 2 и т.д.
К счастью, у меня такой необходимости давно уже нет - пока еще используемые 2-3 проги FPD ничего подобного и близко не требуют, а все, требующее чего-то неработающего в DOS, либо давно переведено на VFP, либо использует какие-то иные аналогичные способы типа VBS-скриптов.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
Simple777

Сообщений: 33855
Дата регистрации: 05.11.2006
Если речь не идет о большом числе файлов и если файлы с длинными именами относительно небольшого размера, то проблема решается при помощи виндовых XCOPY и REN - издержки по времени несущественные при этом. В моем случае файл с длинным именем размером в 30Кб обрабатывается раз в месяц.
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Crispy
А зачем гадать. В FPD есть такое окошко Open для открытия файлов, в нем всегда можно увидеть, как фокс видит тот или иной файл.
Если известно только длинное имя, то понять какое же из видимых тем же ADIR "коротких" ему соответствует в общем случае невозможно.
Crispy
Для перевода в формат 8.3 элементарно берутся первые 6 символов имени и добавляется `1.
Конечно же НЕТ. В общем случае...


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Igor Korolyov
в общем случае
В общем случае...

Понимаешь ли. Реальная жизнь - это не "общий случай". [attachment 29681 bk.gif] В общем случае.

Уж не знаю, к счастью оно или нет, но в программировании реальных задач обычно приходится такие "частные случаи" обрабатывать, что диву даешься. Помнится, когда впервые пришлось столкнуться с чужими работающими задачами, меня это даже слегка возмутило, считал ,что нужно программировать как раз таки для "общего случая". Но потом, слегка пообтершись с той же бухгалтерией понял, что общего случая никогда не будет с вероятностью 100%.
В этом смысле то, что делается в "конфигурациях" 1С - полная лажа обычно.
Ибо есть такой закон реальной жизни: "Писать для всех - значит писать ни для кого". В этом скажем те же решения на VFP дают фору 1С в 100 очков. Поскольку по ряду причин (не буду перечислять тут все, чтобы не уводить топик в дебри) - в 1С принципиально невозможно сделать многих "частных моментов", которые легко можно сделать, программируя в VFP. В итоге бухгалтера конечно как-то выживают и с 1С, но постоянно мучаются, делая много ненужных телодвижений для решения элементарных вещей. А для чего тогда собственно нужно программирование?


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 1 раз(а). Последнее : Crispy, 13.07.18 06:15
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
pasha_usue
Автор

Сообщений: 3647
Откуда: Е-бург
Дата регистрации: 06.10.2006
Crispy
в 1С принципиально невозможно сделать многих "частных моментов", которые легко можно сделать, программируя в VFP.
Пока что единственная задача, которую мне не удалось реализовать в 1С, но легко удалось реализовать в VFP это тетрис.

И то я читанул и написал тетрис на HTML-контроле. Весь движок в 1С, а в контроле - обработка клавишь и отрисовка.
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
lulgu

Сообщений: 1838
Дата регистрации: 30.11.2016
Crispy
Igor Korolyov
в общем случае
В общем случае...

Понимаешь ли. Реальная жизнь - это не "общий случай". [attachment 29681 bk.gif] В общем случае.

Уж не знаю, к счастью оно или нет, но в программировании реальных задач обычно приходится такие "частные случаи" обрабатывать, что диву даешься. Помнится, когда впервые пришлось столкнуться с чужими работающими задачами, меня это даже слегка возмутило, считал ,что нужно программировать как раз таки для "общего случая". Но потом, слегка пообтершись с той же бухгалтерией понял, что общего случая никогда не будет с вероятностью 100%.
В этом смысле то, что делается в "конфигурациях" 1С - полная лажа обычно.
Ибо есть такой закон реальной жизни: "Писать для всех - значит писать ни для кого". В этом скажем те же решения на VFP дают фору 1С в 100 очков. Поскольку по ряду причин (не буду перечислять тут все, чтобы не уводить топик в дебри) - в 1С принципиально невозможно сделать многих "частных моментов", которые легко можно сделать, программируя в VFP. В итоге бухгалтера конечно как-то выживают и с 1С, но постоянно мучаются, делая много ненужных телодвижений для решения элементарных вещей. А для чего тогда собственно нужно программирование?

Для VFP9 довольно сомнительное утверждение.
К тому же ИК вряд ли можно причислить к адептам общих решений.
В подобных рассуждениях ошибка в утверждении, что общее решение может быть только одно и на все 100%.
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
pasha_usue
Crispy
в 1С принципиально невозможно сделать многих "частных моментов", которые легко можно сделать, программируя в VFP.
Пока что единственная задача, которую мне не удалось реализовать в 1С, но легко удалось реализовать в VFP это тетрис.

И то я читанул и написал тетрис на HTML-контроле. Весь движок в 1С, а в контроле - обработка клавишь и отрисовка.

Тетрис кстати когда-то видел пример, кто-то делал.
В отношении же проблем с 1С - опять-таки, не хотелось бы углубляться в "частные случаи", а именно в них и все проблемы как правило.
В частности у нас запрещено менять структуру (в восьмерке теперь уже как бы не таблиц, хотя по сути все равно банально зашифровали что-то типа тех же dbf в zip-структуры), короче нельзя добавлять поля, нельзя создавать свои ...это дебильное слово у Эсников, вылетело... короче у людей - ключевые поля, ну и т.п. В общем, из-за этого все через жо только можно делать. В VFP же подобное элементарно делается.
Если же брать присылаемую конфигурацию, которую по подписке постоянно обновляют, то в ней настолько "общо" все сделано, что ряд нюансов просто так невозможно осуществить - за 8 лет ее использования никто не смог, а в общем и не хотел особо, пришлось бы за бесплатно сначала упираться по самую ничаху, а потом еще и получить навсегда сопровождение этого инвалидного нагромождения уже как обязаловку. Для VFP же многие подобные вещи, повторю, были бы тривиальны. Но увы, 1С навязана была свыше - руководящим указанием из налоговой, которых умасливает контора 1С путем взяток в министерства, факт известный, которого никто не замечает. Писать же 2конфигурацию" для учета всех возможных нюансов естественно в 1С никто не будет. Оно и понятно - если дополнительно что-то впихивать для учета нюансов каждой дыры, где во многих случаях бывают свои нюансы, будет уже не программа а непойми что размером в терабайты. Да и работы потребуется немерено. А оно надо? Бабло и так капает. [sm128]


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
pasha_usue
Автор

Сообщений: 3647
Откуда: Е-бург
Дата регистрации: 06.10.2006
Crispy
В отношении же проблем с 1С - опять-таки, не хотелось бы углубляться в "частные случаи", а именно в них и все проблемы как правило.
В частности у нас запрещено менять структуру (в восьмерке теперь уже как бы не таблиц, хотя по сути все равно банально зашифровали что-то типа тех же dbf в zip-структуры), короче нельзя добавлять поля, нельзя создавать свои ...это дебильное слово у Эсников, вылетело... короче у людей - ключевые поля, ну и т.п. В общем, из-за этого все через жо только можно делать. В VFP же подобное элементарно делается.
Можно.
Crispy
Если же брать присылаемую конфигурацию, которую по подписке постоянно обновляют, то в ней настолько "общо" все сделано, что ряд нюансов просто так невозможно осуществить - за 8 лет ее использования никто не смог, а в общем и не хотел особо,
Здесь ключевое слово "не хотел". Или не умел, но это не к продукту вопрос.


Иначе вопрос поставим. Если бы вам навязали не 1С, а Парус, который на VFP написан как-раз. И Парус тоже сверху периодически обновляется. Полагаете, вам сильно бы легче стало?
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Ну про "можно" лучше никогда зря не говори. ;) Ты же не из тех, кто чинит автомобили по телефону.
Как говорит Шекспир: "В жизни, брат Горацио, бывает и такое, чего не бывает".
Великий же и могучий обычно в таких случаях добавляет: "Чужую беду руками разведу, а к своей ума не прикладу". :al:
В том смысле, что и под одну гребенку всех не причешешь.
Не знаю, к сожалению уж или нет.
Но - тем не менее. [sm128]


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Crispy
Igor Korolyov
в общем случае
В общем случае...

Понимаешь ли. Реальная жизнь - это не "общий случай". [attachment 29681 bk.gif] В общем случае.

Всё очень просто - если программа из-за таких вот "умолчаний и предположений" будет пару раз в год ломаться на пустом месте, и ТЕБЯ заставят ездить к заказчику и чинить её (ну да, банальным переименованием файла, например), то только очень упёртый товарищ будет продолжать делать так же - "ведь в остальные дни она работает" А программист обычно весьма ленив, и потому он сделает так, чтобы программа просто не ломалась на этом - да, через тупой xcopy к примеру - но БЕЗ необходимости подтыкивать постоянно пальцем свою нетленку

Речь не идёт про "вообще-вообще", речь идёт конкретно про систему LFN и 8.3 имена файлов. Которые НЕ ОБЯЗАНЫ строится по шаблону "6 начальных символов + тильда и 1", и зачастую НЕ строятся так "в реальной жизни".


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Igor Korolyov
Всё очень просто - если программа из-за таких вот "умолчаний и предположений" будет пару раз в год ломаться на пустом месте, и ТЕБЯ заставят ездить к заказчику и чинить её (ну да, банальным переименованием файла, например), то только очень упёртый товарищ будет продолжать делать так же - "ведь в остальные дни она работает" А программист обычно весьма ленив, и потому он сделает так, чтобы программа просто не ломалась на этом - да, через тупой xcopy к примеру - но БЕЗ необходимости подтыкивать постоянно пальцем свою нетленку

Ну дык это козе понятно. Затычки на все возможные дыры все равно обычно приходится предполагать, как в том анекдоте про пустой стакан.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Как проверить существование файла из FPD 2.6
pasha_usue
Автор

Сообщений: 3647
Откуда: Е-бург
Дата регистрации: 06.10.2006
Crispy
Ну про "можно" лучше никогда зря не говори. ;) Ты же не из тех, кто чинит автомобили по телефону. Как говорит Шекспир: "В жизни, брат Горацио, бывает и такое, чего не бывает".
"Нельзя добавлять" было без конкретики, значит это гипотетический общий случай. Так вот, в общем случае, - можно.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 14 kornienko_ru dafni_2004 PaulWist  (Гостей: 11)

© 2000-2024 Fox Club 
Яндекс.Метрика