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

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

Я могу формировать маршрут, который будет однозначно привязан к записи. Хотя ID записи и нет, но есть набор кодовых ключей и даты, позволяющих по любой записи сформировать уникальное имя папки в оговоренном месте диска. Клиент согласен на следующее (точнее говоря, клиент сам это предложил). Дак вот, клиент записывает куда-нибудь файлы, которые следует прикрепить к документу. Далее он эти файлы выбирает для копирования и помещает в "нужную папку" так, чтобы в дальнейшем приложение позволяло просмотреть содержимое папки и "поработать самим" с этими прикрепленными файлами. Имена файлов могут произвольными и с любыми расширениями. Какими программами клиент будет просматривать файлы - это уже его забота. Если просматривать будет нечем файл с тем или иным расширением, то пользователь обращается к сисадмину, и сисадмин ставит средство просмотра. Иными словами, это уже будет не моя забота - чем смотреть прикрепленные файлы. Сколько будет файлов в папке - мне тоже без разницы.

Поразмышляв, я пока придумал вот что.

При выборе режима присоединения файлов я буду запускать примерно такой bat-файл через RUN


@echo off
explorer o /separate o,/select, d:\myfoto\myrecord\info.txt
explorer o /separate

В первой строке написано следующее:

o /separate - запустить новую копию проводника

o,/select, d:\myfoto\myrecord\info.txt - открыть папку, в которой будут храниться файлы. Info.txt - "просто пустой файл",
который я буду заранее создавать (нужную папку тоже буду заранее создавать, если она еще не существует). Способа открыть папку что-то я не нашел,
и поэтому можно передать имя файла в папке, и тогда проводник открывает папку.

explorer o /separate - открыть еще одну копию проводника.

Идея в том, что пользователь находит папку, в которой хранятся нужные ему файлы, выделяет их для копирования, после чего переходит к первой копии проводника
с открытой "правильной" папкой и копирует туда файлы.

После этого происходит возврат в приложение FPD. Конечно, было бы нелишним закрыть при этом открытые проводники, но это уже будет "на совести" пользователя, потому как если проводники не закрывать, то может быть отрыто еще две копии проводника при следующем прикреплении файлов.
В принципе, маршрут для хранения файлов можно и не сохранять, поскольку его всегда можно будет сформировать. А если пользователь вдруг надумает откорректировать ключи, то можно соответствующим образом переименовать папку с прикрепленными файлами.

Вот что мне придумалось "с первого захода".

Может быть, есть более "интересные" и простые способы добиться того же самого результата?

Еще раз напоминаю, что речь идет об FPD, и речь может идти только об использовании командной строки Windows, так думаю.

Проверял работу bat-файла в Win7. Не знаю пока, как будет работать в WinXP и Win10.



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

Сообщений: 25731
Дата регистрации: 23.08.2001
Simple777
Проверял работу bat-файла в Win7. Не знаю пока, как будет работать в WinXP и Win10.
В Win10 работает твой батник. И в XP я думаю, что тоже работать будет.


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

Сообщений: 33855
Дата регистрации: 05.11.2006
В XP я могу проверить в принципе. Тут вопрос только в том, есть ли у explorer в XP эти опции separate и select

Но сейчас хотелось бы услышать мнения по предложенному способу копирования. Может быть, кто-то уже делал такую привязку записи к папке с файлами?



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

Сообщений: 25731
Дата регистрации: 23.08.2001
Так способ копирования у тебя файлов через проводник, а не программно же, ну открылся проводничок в нужной папке, юзер выбрал файлы и скопировал в другую, обычная работа в винде. :al:


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

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

Сообщений: 33855
Дата регистрации: 05.11.2006
В Win XP вроде бы нет опции separate. Тогда непонятно, как запустить две раздельные копии проводника. Или просто два проводника вызвать можно без всяких separate?



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

Сообщений: 25731
Дата регистрации: 23.08.2001
А в чем проблема копировать файлы из папки в папку программно? Ты же пишешь что можешь формировать имена и пути к папке, для чего запускать две копии проводника?


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




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

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

Сообщений: 25731
Дата регистрации: 23.08.2001
Simple777
Да, без всяких separate загружаются два экземпляра проводника в Win7. Тогда и в Win10 должно грузиться.
Да я ж тебе написала выше, что работает твой батник в Win10, проверила же.


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

Сообщений: 33855
Дата регистрации: 05.11.2006
Божья_коровка
А в чем проблема копировать файлы из папки в папку программно? Ты же пишешь что можешь формировать имена и пути к папке, для чего запускать две копии проводника?

Проблема в том, что имена и местоположение исходных файлов может быть любым. А эти файлы нужно расположить в определенной папке, чтобы программа могла потом вызывать нужную (ассоциированную с конкретной записью) папку. Вопрос лишь в том, какой способ избрать для помещения нужных файлов в нужное место. Поскольку проводником Windows "по идее" должны уметь пользоваться все, вот я и подумал, что копирование и вставка при помощи проводника Windows будет самым простым способом.
Ratings: 0 negative/0 positive
Re: Привязать к записи dbf-таблицы папку с файлами (из FPD 2.6)
Simple777
Автор

Сообщений: 33855
Дата регистрации: 05.11.2006
Божья_коровка
Simple777
Да, без всяких separate загружаются два экземпляра проводника в Win7. Тогда и в Win10 должно грузиться.
Да я ж тебе написала выше, что работает твой батник в Win10, проверила же.

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

Сообщений: 25731
Дата регистрации: 23.08.2001
Simple777
Божья_коровка
А в чем проблема копировать файлы из папки в папку программно? Ты же пишешь что можешь формировать имена и пути к папке, для чего запускать две копии проводника?

Проблема в том, что имена и местоположение исходных файлов может быть любым. А эти файлы нужно расположить в определенной папке, чтобы программа могла потом вызывать нужную (ассоциированную с конкретной записью) папку. Вопрос лишь в том, какой способ избрать для помещения нужных файлов в нужное место. Поскольку проводником Windows "по идее" должны уметь пользоваться все, вот я и подумал, что копирование и вставка при помощи проводника Windows будет самым простым способом.
у тебя в FPD не работает к примеру, GETDIR()?
Функция GETDIR( ) возвращает имя выбранного каталога в виде символьной строки.

Если ты никак не можешь определить имя и путь Папки-Источника, то застолби его настройками. К примеру, в настройках пусть юзер прописывает папочку Источник, в которую он будет класть файлы и они автоматом будут копироваться в папку Приемник.

Смотри, прописываешь 1 раз в настройках путь до папки-Источника. Юзер сам кладет туда нужные файлы, запускает твой модуль копирования который программно без вызова всяких проводников копирует все файлы в папку Приемник. И всё. После успешной операции файлы в папке Источнике можно почистить. чтобы папка была всегда пустой.


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




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

Сообщений: 33855
Дата регистрации: 05.11.2006
Божья_коровка
Simple777
Божья_коровка
А в чем проблема копировать файлы из папки в папку программно? Ты же пишешь что можешь формировать имена и пути к папке, для чего запускать две копии проводника?

Проблема в том, что имена и местоположение исходных файлов может быть любым. А эти файлы нужно расположить в определенной папке, чтобы программа могла потом вызывать нужную (ассоциированную с конкретной записью) папку. Вопрос лишь в том, какой способ избрать для помещения нужных файлов в нужное место. Поскольку проводником Windows "по идее" должны уметь пользоваться все, вот я и подумал, что копирование и вставка при помощи проводника Windows будет самым простым способом.
у тебя в FPD не работает к примеру, GETDIR()?
Функция GETDIR( ) возвращает имя выбранного каталога в виде символьной строки.

Если ты никак не можешь определить имя и путь Папки-Источника, то застолби его настройками. К примеру, в настройках пусть юзер прописывает папочку Источник, в которую он будет класть файлы и они автоматом будут копироваться в папку Приемник.

Нет. Об этом не может быть и речи. Клиент хочет копировать с любого места, какое ему заблагорассудится. Кроме того, FPD работает с папками и файлами в формате 8.3 Так что никакие встроенные функции тут не получится использовать.


Заодно убедился, что опция select должна присутствовать, иначе не получается открыть две копии проводника. Кроме того, проводник без опции select тупо открывает файл блокнотом (есть привязка, видимо, что txt-файл надо по умолчанию открывать блокнотом). Но в WinXP есть опция select. Так что должно работать из всех версий винды одинаково.



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

Сообщений: 25731
Дата регистрации: 23.08.2001
А кто мешает юзеру копировать с любого места свои файлы? Он и будет с любого места копировать свои файлы в папку Источник, а затем твоя прога их будет распихивать по тем папочкам пути которые ты формируешь в своей программе в зависимости от записи.


Нет ну ты сам представляешь какой гемор ты городишь с парой экземпляров Проводника? Меня б на месте закопали предложи я такое


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




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

Сообщений: 33855
Дата регистрации: 05.11.2006
Божья_коровка
А кто мешает юзеру копировать с любого места свои файлы? Он и будет с любого места копировать свои файлы в папку Источник, а затем твоя прога их будет распихивать по тем папочкам пути которые ты формируешь в своей программе в зависимости от записи.

Нет ну ты сам представляешь какой гемор ты городишь с парой экземпляров Проводника? Меня б на месте закопали предложи я такое

А меня закопают за предложение помещать в определенную папку файлы, которые будут относиться к записи, на которой сейчас находится юзер. Это он типа ввел или откорректировал документ, потом должен будет свернуть приложение, вызвать проводник, пособирать все файлы в папку источник, потом вернуться в приложение и выбрать функцию прикрепить/закрепить файлы. Вот за это точно могут убить. Пользователь сможет 10 раз перепутать такую последовательность действий. У меня юзеры все поголовно "от сохи". Им больше двух операций подряд выполнить просто не по силам. Сбиваются и путаются. :al:



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

Сообщений: 25731
Дата регистрации: 23.08.2001
Ага и этим юзерам от сохи ты будешь рожать 2 экземпляра проводника, предоставляя самим шляться по папкам. Еще и если у них уже будет висеть открытым проводник, то вообще весело.


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

Сообщений: 33855
Дата регистрации: 05.11.2006
Я и не утверждаю, что это безупречный способ. Потому и задал вопрос - нет ли чего лучшего?

Но задавать папку-источник, которую никто ни в жисть не запомнит, да потом еще и чистить файлы оттудова. А вдруг юзер сдуру не скопирует, а перенесет туда свой файл, а я потом файл этот почикаю, а потом окажется, что это вообще не тот файл, и вообще теперь "всё пропало"! Я в такие игры не играю и ничего удалять не собираюсь. Заказчик вообще заговорил о прикреплении файлов, когда я уже всё сделал и сдал в эксплуатацию. А теперь они хотят файлы прикреплять, видишь ли. Вот пусть и копируют в "правильную" папку свои файлы до опупения. Точно, создам файл с именем "Копируйте сюда". Тогда при нескольких экземплярах проводника они набредут на нужную папку и вставят туда нужные им файлы.



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

Сообщений: 25731
Дата регистрации: 23.08.2001
Так а если у тебя на одной записи будет рождаться несколько папок? Т.е. 1 ко многим? У тебя всегда будет 1 запись - 1 папка?


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

Сообщений: 25731
Дата регистрации: 23.08.2001
Simple777
Потому и задал вопрос - нет ли чего лучшего?
лучше есть! Выкинь нафик FPD


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




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

Сообщений: 33855
Дата регистрации: 05.11.2006
Божья_коровка
Так а если у тебя на одной записи будет рождаться несколько папок? Т.е. 1 ко многим? У тебя всегда будет 1 запись - 1 папка?

Конечно. А в папке будет любое количество файлов.
Ratings: 0 negative/0 positive


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

On-line: 19 (Гостей: 19)

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