:: Visual Foxpro, Foxpro for DOS
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Помимо всего прочего, юзер может захотеть открыть и посмотреть фото. У него таких фото может много насобираться. Вот он и захочет убедиться, что это "тот самый файл". И как же он будет это делать при помощи Getfile()? \m/



Исправлено 1 раз(а). Последнее : Simple777, 13.09.19 15:29
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Simple777
Помимо всего прочего, юзер может захотеть открыть и посмотреть фото. У него таких фото может много насобираться. Вот он и захочет убедиться, что это "тот самый файл". И как же он будет это делать при помощи Getfile()? \m/
В виндовом? Легко и просто.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
В виндовом проводнике - да, легко и просто. Я вот не проверял, есть ли такая возможность при использовании Getfile() из VFP?
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
Simple777
В виндовом проводнике - да, легко и просто. Я вот не проверял, есть ли такая возможность при использовании Getfile() из VFP?
Я и написал про Getfile()

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Ну, так в таком случае неожиданно "круг замкнулся". Вызов из FPD explorer фактически равносилен вызову Getfile() из VFP. А вызов второго экземпляра explorer с уже открытой "нужной" папкой по идее должен облегчить юзеру скопировать файл "туда, куда нужно". В принципе, можно было бы ограничиться вызовом и одного экземпляра Explorer, но вряд ли из FPD будет возможность вставить в нужную папку ранее скопированный при помощи explorer файл. Хотя, быть может, какая-нибудь консольная команда Windows это умеет делать - вставлять в указанную папку скопированный для вставки файл?
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Посмотрел Getfile() в VFP. Для выбора одиночного файла вполне годится, конечно. Вместе с тем explorer позволяет выбирать сразу несколько файлов для копирования.
Поискал по инету, но не нашел, как именно explorer хранит список выбранных для копирования (с последующей вставкой) файлов.

Видимо, без API-функций тут вряд ли можно обойтись. Хотя не исключаю, что ссылки на выделенные файлы записываются в какой-то служебный файл explorera, и этот список можно было бы почитать.



Исправлено 1 раз(а). Последнее : Simple777, 13.09.19 18:29
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Божья_коровка

Сообщений: 25731
Дата регистрации: 23.08.2001
Simple777
Видимо, без API-функций тут вряд ли можно обойтись. Хотя не исключаю, что ссылки на выделенные файлы записываются в какой-то служебный файл explorera, и этот список можно было бы почитать.
Ё моё! Симпле, ты дошел до API-функций?

Если прям так уже встала тебе эта задача, напиши всё на FPD. Просто чуть по больше функционала будет и всё. Посмотри должно быть у тебя GETDIR ()..В вообщем дай юзеру выбрать папку по Getdir (), затем все имена файлов, что есть в папке закинь во временную табличку или курсор, ну как тебе проще..выдай эту табличку в Brow и пусть юзер как нибудь выделит какие файлы он хочет копировать, там создай еще одно поле и туда пиши флаг, к примеру, 1 или 0.А потом делай копирование всех файлов что выбрал юзер в ту папку что прикрепил к записи (сформировал по ключевым полям).и всё. Идея такая для твоего FPD.


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...




Исправлено 3 раз(а). Последнее : Божья_коровка, 13.09.19 23:38
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Simple777
Поискал по инету, но не нашел, как именно explorer хранит список выбранных для копирования (с последующей вставкой) файлов.
Выбранных - никак (зачем "хранить" совершенно динамическое состояние отображения). Скопированных в буфер обмена - в этом самом буфере обмена в специальном формате (грубо говоря там список имён файлов будет).
Simple777
Хотя не исключаю, что ссылки на выделенные файлы записываются в какой-то служебный файл explorera, и этот список можно было бы почитать.
Конечно же нет, такой фигнёй проводник не занимается.

В полноценном Win приложении можно и отображать списки файлов наподобии проводника, и по нажатию Ctrl+V принимать те файлы которые пользователь до того "скопировал" в проводнике при помощи Ctrl+C, и реагировать на перетаскивание этих самых файлов из проводника в окно приложения (в том числе в специально выделенную его часть - a-la дроп-зона). И ни одно вменяемое Win приложение для манипулирования файлами никогда не открывает 2 окна проводника с предложением пользователю чего-то куда-то покопировать. Абсолютно независимо от того как именно это приложение хранит файлы или не-файлы с неструктурированными данными пользователя (да, может и в папках хранить, тут особого криминала нет. Фокс в любом случае крайне беден в части хранения "файлов" внутри БД, и для систем "на dbf-ах" всегда рекомендовалось картинки/документы хранить отдельно, именно в виде файлов).

Обсуждаемое "решение" это не просто бред, это просто нельзя описать словами


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Такого рода идеи мне знакомы. Но делать подобие проводника средствами FPD... Такая идея чета не вдохновляет. Я вообще часто использую командную строку Windows из FPD.
Explorer ничем не хуже того же Word или Excel - почему бы его и не вызывать? Ещё ни один юзер не предъявил претензии по поводу передачи выходных форм в Word. Проводник для выбора, копирования и просмотра файлов - вполне кошерно. [sm128]



Исправлено 1 раз(а). Последнее : Simple777, 13.09.19 23:52
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Igor Korolyov
Скопированных в буфер обмена - в этом самом буфере обмена в специальном формате (грубо говоря там список имён файлов будет).

Дак смотрел буфер обмена после копирования файлов - ничего не показывает буфер обмена. Смотрел утилитой из Win XP. Пишут, что утилита есть и в Win7, но по умолчанию не ставится.

Если в буфере обмена будут имена скопированных файлов, то это можно будет прочитать и скопировать файлы в нужное место. Но в буфере пусто почему-то.



Исправлено 1 раз(а). Последнее : Simple777, 13.09.19 23:57
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Божья_коровка

Сообщений: 25731
Дата регистрации: 23.08.2001
Igor Korolyov
Обсуждаемое "решение" это не просто бред, это просто нельзя описать словами
+1
Но что делать если Симпле хочет?


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Что значит "хочет"? Надо дать инструмент юзеру для копирования. В качестве альтернативы можно лишь рассматривать копирование в заранее прописанную папку. Но юзеры не будут этого делать. Скажут, что "они не программисты". И на этом "закроют вопрос".
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Божья_коровка

Сообщений: 25731
Дата регистрации: 23.08.2001
Симпле, если ты хочешь всё сделать кошерно по принципу минимизировать ошибки юзера, то в FPD тебе не обойтись без небольшого самописного функционала. Твое решение с запуском 2 раза проводника это нечто, это надо в Лит.гостиную или еще в какую фантазию записать....


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Вот не понимаю, что такого - запустить два проводника? Юзер скопирует и закроет проводники. Ну в конце концов можно попытаться обойтись одним проводником. Но тогда юзеру придётся самому записать в оговоренную папку файл или файлы. Чем это лучше по сравнению с запуском ещё одного проводника, открывающего нужную выходную папку?

Никаких самописных проводников на FPD делать нет смысла. Имена и расширения файлов могут быть достаточно длинными, и тут никакая самописка не поможет.
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Божья_коровка

Сообщений: 25731
Дата регистрации: 23.08.2001
Симпле777, определись, чего ты хочешь. Либо ты минимизируешь ошибки юзера и берёшь на себя программирование некого функционала (автоматическое копирование файлов из папки в папку), либо грузишь по полной юзера. У тебя FPD, и есть некие ограничения. Но Симпле. ты пойми, что рожать каждый раз на каждой записи по 2 проводника это полный бред. Меня не слушаешь, послушай Игоря Королёва, он тебе уже написал об этом.


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...




Исправлено 3 раз(а). Последнее : Божья_коровка, 14.09.19 00:32
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Нашёл утилиту, которая помещает имена скопированных проводником файлов в буфер обмена. На каждый файл с полным маршрутом - отдельная строка в таблице 1251. Проверял работу утилиты в Win7 пока.

Останется только взять текст из буфера обмена. Это уже полегче будет. Потом скопировать файлы в целевую папку.
Всего и делов. Так что можно будет обойтись вызовом Explorer один раз. Причём если проводник уже будет открыт, то нового экземпляра проводника открываться не будет. [sm128]
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
В принципе, проблему можно считать решенной. Нашел еще одну утилиту, работающую со всеми версиями, начиная с Win98 и заканчивая Win10.

Это winclip.exe

Есть старая версия, и есть более новая с дополнительными возможностями. Зато старая версия работает со всеми версиями винды.
В моем случае достаточно двух опций - копирование данных в буфер обмена и чтение данных из буфера обмена.
Куда копирует проводник ссылки на скопированные файлы и в каком формате - вопрос, конечно, интересный. Но во всяком случае winclip это знает.
Более того, по умолчанию считывает данные из буфера обмена в кодовой таблице 866, что особенно приятно.

Дык вот. Ниже я набросал фрагмент (ясное дело, что диалог будет не через wait ), позволяющий юзеру привязать выбранные файлы к текущей записи.

*******************************************************************************
*
* Фрагмент программы для привязки файлов к текущей записи
* Сначала в буфер обмена записывается * с тем, чтобы очистить
* этот самый буфер обмена, поскольку юзер может не выполнить копирование,
* и в буфере при этом может остаться какая-нибудь старая информация.
* Далее вызывается проводник explorer и т.д.
*
!echo *|winclip -c
!explorer
wait 'Press any key...'
!winclip -p mytext.txt
* Далее идет проверка на наличие имен файлов, записанных в файл mytext.txt
* Если информации нет (или есть только * ), то выдать соответствующее сообщение.
* Если же имена файлов есть, то скопировать файлы в нужную папку
*********************************************************************************


Ежели кому интересно, то утилиту winclip.exe можно скачать с сайта разработчика - freeware. Предоставляются в том числе исходники. [sm128]

www.spinellis.gr

Сам разработчик довольно известная персона:

ru.wikipedia.org


FPD forever!.. [sm021] :danc: [sm128]
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
() пипец дауншифт...
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
[attachment 31894 dw.gif]
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
of63

Сообщений: 25254
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Ты протупил советы, 3-5 летней давности. Ешь кукурузу, кури бамбук )
Ratings: 0 negative/0 positive


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

On-line: 23 shumik73  (Гостей: 22)

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