powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Недозакрытый вопрос
5 сообщений из 5, страница 1 из 1
Недозакрытый вопрос
    #37316208
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые господа!

Наверное всем надоел этот вопрос.
Но, думаю, что он надоел всем, поскольку оказался труднее, чем кажется.
Ответов на нижесформулированные вопросы в полной мере у меня нет.

Итак.

На форме отображается Грид, в котором видна таблица, у которой в поле foto С(254) записаны маршруты к ЛЮБЫМ

наборам данных (не только картинкам, но, возможно и к ним).
В этой же таблице имеется поле foto_g типа GENERAL.
Кроме того, на форме отображается OleBoundControl, у которого в ControlSource записано foto_g.

В событии AfterRowColChange указанного Грида записан код:

APPEND GENERAL foto_g FROM (foto)
THISFORM.OleBoundControl.Refresh

Понятно, что перемещение по записям таблицы приводит к смене "изображения" в окне OleBoundControl.

Известный участник настоящего форума ВладимирМ так пишет на эту тему:

***********************************

У использования полей типа General есть две проблемы

1. Эти поля "запоминают" то приложение, при помощи которого отображается сохраненный файл. Как следствие, если на

компьютере пользователя нет именно такого приложения, то и картинка отображена не будет. Вне зависимости от того,

есть или нет другие приложения для работы с картинкой

2. Поля типа General программно практически не управляемые. Это некая "вещь в себе". "Черный ящик". Как следствие,

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

поля General

Именно эти причины заставляют, по возможности, не использовать поля типа General: привязка к конкретному

приложения и слабая программная управляемость.

Альтернативой для отображения картинок в среде FoxPro служит объект Image. Для отображения картинки в этом объекте

надо указать ссылку на файл в свойстве Image.Picture, либо (в версии VFP9) на бинарную строку (файл, загруженный в

память) в свойстве Image.PictureVal

Соответственно, возможны две стратегии хранения картинок

1. Картинки хранятся как картинки. Отдельные независимые файлы в специальной директории. В базе данных указывается

всего-лишь ссылка (путь доступа и/или имя) на нужный файл

2. Можно хранить картинку и внутри базы данных в полях типа Memo, а для версии VFP9 - в полях типа BLOB.

В последнем случае для младших версий FoxPro перед отображением картинку придется выгружать в файл на диске, а для

версии VFP9 можно этого и не делать, указав в Image.PictureVal имя поля, хранящего файл картинки

Общим недостатком использования полей типа Memo, BLOB, General для хранения картинок является катастрофическое

разбухание файла fpt при частой модификации этих полей. Это происходит из-за технических особенностей модификации

файла fpt. Для возврата к "нормальным" размерам файла fpt необходимо относительно часто "паковать" таблицу. Т.е.

использовать команду PACK или PACK MEMO.

В общем-то, все это Вы могли бы прочитать сделав поиск по данному форуму по ключевому слову General.

***********************************

Вопросы у меня такие:

1. Требуется разьяснение "нет именно такого приложения" ( версия, название ? )

2. Утверждение "программно практически не управляемые" - неужели никто из англоговорящих "зубров" и авторов книг

не может обатиться к разработчикам VFP напрямую, или к ним обратиться невозможно?
Или возможна ситуация, как это бывает у нас - программист уехад на ПМЖ...

3. Фрагмент "для отображения картинок" - а если не только картинок?

4. Возможно ли так просматривать файлы с ЛЮБЫМ "СТАНДАРТНЫМ" расширением ?

5. Как заставить работать вышеприведенный код на "голом" компьютере, то есть компьютере, на котором установлена

Windows с пакетом драйверов и дистрибутив прикладной программы, содержащей вышеприведенный фрагмент кода.
Что для этого нужно дополнительно установить на компьютере?

6. Вообще, возможен ли универсальный вьювер? Как его "прилепить к форме"

7. Вопрос не совсем по теме - нормально ли работает VFP9 в Windows7?

Очень нужно знать мнение общественности по данному вопросу.
Хотелось бы закрыть эту тему "навсегда".
...
Рейтинг: 0 / 0
Недозакрытый вопрос
    #37316220
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый ВладимирМ!

Я процитировал Вас без всякой критики!
Я процитировал Вас, поскольку именно Вы, на мой взгляд, достаточно глубоко описали проблему.
Очень хочется добить эту проблему до конца (иначе она добьет меня)!
...
Рейтинг: 0 / 0
Недозакрытый вопрос
    #37316326
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UAP1. Требуется разьяснение "нет именно такого приложения" ( версия, название ? )
Если в команде APPEND GENERAL явно не указано приложение, при помощи которого следует просматривать интегрированный файл (опция CLASS), то используется приложение, ассоциированное с расширеним файла в системе Windows. Например, если на Вашем компьютере с расширением PDF ассоциировано приложение Foxit, то именно это приложение и будет использовано для просмотра файлов PDF. Точнее, будет предпринята попытка его использовать.

UAP2. Утверждение "программно практически не управляемые" - неужели никто из англоговорящих "зубров" и авторов книг

не может обатиться к разработчикам VFP напрямую, или к ним обратиться невозможно?
Или возможна ситуация, как это бывает у нас - программист уехад на ПМЖ...
Во-первых, поля типа General оставлены для совместимости с ранними версиями FoxPro for DOS. С момента появления ОС Windows общей стратегией развития приложений стала специализация. Каждое приложение отвечает за свой круг задач. Отображение файлов, созданных в других приложениях не является основной задачей FoxPro.

Во-вторых, проект FoxPro закрыли. Последняя версия VFP9 и новых версий не будет. Как следствие, бессмысленно что-то куда-то писать.

UAP3. Фрагмент "для отображения картинок" - а если не только картинок?
Чего угодно, но только в том случае, если соответствующее приложение имеет специализировнный модуль для интеграции в чужие приложения. Соответствующие COM-компоненты. В противном случае, на форме ничего отображаться не будет, хотя по двойному щелчку мыши откроется соответствующее приложение.

UAP4. Возможно ли так просматривать файлы с ЛЮБЫМ "СТАНДАРТНЫМ" расширением ?
Смотря что именно Вы вкладываете в понятие "стандартное расширение". В системе Windows есть такое понятие, как приложение, ассоциированое с определенными расширениями. Есть ассоциация - просмотр возможен. Но, опять же, если ассоциированное приложение имеет соответствующие COM-библиотеки для интеграции с внешними приложениями.

UAP5. Как заставить работать вышеприведенный код на "голом" компьютере, то есть компьютере, на котором установлена

Windows с пакетом драйверов и дистрибутив прикладной программы, содержащей вышеприведенный фрагмент кода.
Что для этого нужно дополнительно установить на компьютере?
Ничего не нужно. Он и так будет работать. Другое дело, что может ничего не отображаться. Но это уже к коду никакого отношения не имеет.

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

UAP7. Вопрос не совсем по теме - нормально ли работает VFP9 в Windows7?
Как говорят, работает нормально.

PS: Ответ на большую часть вопросов Вы могли бы получить создав тестую форму и немного поэкспериментировов. Письменные ответы Вам мало что дадут, поскольку Вы просто не понимаете что происходит. Надо "пощупать" предмет самостоятельно. Кроме того, многое написано в HELP по соответствующей команде.
...
Рейтинг: 0 / 0
Недозакрытый вопрос
    #37316345
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый ВладимирМ !

Спасибо за скорый и содержательный ответ!
Займусь его изучением.
Постараюсь изучить его как можно глубже.
И, если Вы не возражаете, помучаю Вас последующими вопросами.
...
Рейтинг: 0 / 0
Недозакрытый вопрос
    #37317990
UAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый ВладимирМ !

Я проделал следующую работу.

1. Взял компьютер, произвел форматирование жесткого диска, установил Windows7
2. Установил дистрибутив своей программы, написанной на VFP9
3. Проверил, возможно ли просматривать pdf-файлы по описанной выше методике - нет не получается.
4. Установил Adobe Reader - все работает!

Думаю, следуя Вашим разъяснениям, аналогично будет просматриваться doc и xls, если установить Office.
Большое Вам спасибо за помощь.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Недозакрытый вопрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]