powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / OLE-объекты FoxPro
16 сообщений из 41, страница 2 из 2
OLE-объекты FoxPro
    #36977602
GeoA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМ,

Спасибо! Задачу приостановил, буду думать и читать. Пока ничего не получается, завис! С уважением, ГА.
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37275537
Аноним12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм.. интересно если все так против поля General, то могли бы вы рассказать как делается загрузка фотографий из файла через MEMO (VFP 8.0) с присвоением фотографии (Image) каждой записи grid. (динамическое изменение фотографии при переходе с записи на запись) Заранее благодарен.
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37277101
Zmej
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Аноним12345Хм.. интересно если все так против поля General, то могли бы вы рассказать как делается загрузка фотографий из файла через MEMO (VFP 8.0) с присвоением фотографии (Image) каждой записи grid. (динамическое изменение фотографии при переходе с записи на запись) Заранее благодарен.

Просто:
1. Загрузка в MEMO для текущей записи:
Код: plaintext
APPEND MEMO имя_поля FROM имя_файла

2. Отображение. Исходные данные - форма с объектом Image для просмотра и гридом для перемещения по записям.
Для формы создаем метод getFoto() :
Код: plaintext
1.
2.
fileNm = ADDBS(SYS( 2023 ))+"tmpfoto.jpg"
COPY MEMO foto TO (fileNm)
this.Image1.Picture = fileNm
Вызов этого метода прописываем в событие AfterRowColChange Грида. И все - смотрим фото.
Ну это упрощенно...
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37277356
Аноним12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если я правильно понимаю, то для загрузки фотографии через кнопку нужно прописать:

perFoto=GETFILE()
APPEND BLANK
APPEND MEMO cardts.photo from (perFoto)
main.Refresh

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

По отображению непонятно ADDBS(SYS(2023))+"tmpfoto.jpg"

Если нетрудно объъясни пожалуйста, спасибо за ответ! :)
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37277429
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аноним12345Если я правильно понимаю, то для загрузки фотографии через кнопку нужно прописать:

perFoto=GETFILE()
APPEND BLANK
APPEND MEMO cardts.photo from (perFoto)
main.Refresh

тогда вопрос такой, а в MEMO будет хранится путь к картинке или сама картинка?
При таком способе загрузки в мемо-поле, разумеется, будет записана сама кратинка

Аноним12345Нужно чтоб по кнопке выбирался путь на картинку и записывался в объект TEXT, а сама картинка или путь заносился в таблицу.
В этом случае вместо APPEND MEMO следует использовать REPLACE

Код: plaintext
1.
2.
3.
4.
5.
6.
perFoto=GETFILE()
if empty(m.perFoto) = .F.
    APPEND BLANK
    replace photo with m.perFoto
    main.Refresh
endif

Хотя для хранения путей доступа memo-поле не обязательно. Достаточно обычного символьного поля длиной 254 символа. Если у Вас VFP9, то для этого идеально подойдет поле типа VarChar. Для младших версий FoxPro можно и Character использовать.

Соответственно, в качестве источника TextBox.ControlSource укажите поле cardts.photo
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37277540
Аноним12345
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем, все работает!) Установил VFP 9.0 сделал через blob загрузку, единственное что не сделал - это добавление пути фотографии через textbox.

ЗЫ пожалуй надо зарегаться на этом форуме ;)
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37279945
KoPI-1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, пожалуйста, советом.
В FoxPro 8 создается dbf, в одном из полей должен храниться doc-файл. сейчас это реализовано через поле general и вставки туда ole-объекта. Задача в том, что мне нужно этот dbf-файл (а точнее doc-файл) прочитать в delphi и, соответственно, у меня ничего не получается (как было написано в данной теме, что поле general - это черный ящик).
Подскажите как организовать хранение doc-файла.
Пока для меня один выход: в поле хранить ссылку на doc-файл и передавать doc вместе с dbf, но этого очень нехочется делать :-)

Спасибо.
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37279981
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoPI-1,

Вы же сами описали два варианта. Но 1-й не можется, а 2-й не хочется.
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37280085
KoPI - 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я думал может еще какой тип поля есть, который можно адаптировать для моих нужд. Еще один способ приходит в голову: заливать doc как обычную последовательность байтов, чтобы я считывал его и переименовав расширение в doc спокойно открыть. Только есть ли методы в FP 8 и какое при этом поле использовать (memo)?
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37280089
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoPI - 1,

А чем не нравится вариант хранения ссылки на файл?
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37280408
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoPI - 1Я думал может еще какой тип поля есть, который можно адаптировать для моих нужд. Еще один способ приходит в голову: заливать doc как обычную последовательность байтов, чтобы я считывал его и переименовав расширение в doc спокойно открыть. Только есть ли методы в FP 8 и какое при этом поле использовать (memo)?Сударь, Вы документацию не пробовали почитать про типы? Неужто так много или непонятно? Memo(binary).
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37281798
KoPI - 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNGKoPI - 1,

А чем не нравится вариант хранения ссылки на файл?

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

Sergey SizovKoPI - 1,

Сударь, Вы документацию не пробовали почитать про типы? Неужто так много или непонятно? Memo(binary).

можно конечно и так, но не я эти файлы не создаю и в FP никогда не работал, но хочу разработчика на путь истинный наставить :-), т.к. он сам ничего делать не хочет.
Я думаю моя проблема не уникальна и пути решения давно известны. Думал тут мне что-нибудь подскажут нового.
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37282049
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoPI - 1можно конечно и так, но не я эти файлы не создаю и в FP никогда не работал, но хочу разработчика на путь истинный наставить :-), т.к. он сам ничего делать не хочет.
Я думаю моя проблема не уникальна и пути решения давно известны. Думал тут мне что-нибудь подскажут нового.И что,не подсказали?
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37282807
KoPI - 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну в общем нет... :-) А так хотелось.
может кто-нибудь подскажет как загрузить в мемо-поле файл? (в делфи это делается через потоки)
спасибо.
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37282908
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KoPI - 1Ну в общем нет... :-) А так хотелось.
может кто-нибудь подскажет как загрузить в мемо-поле файл? (в делфи это делается через потоки)
спасибо.
А Вам не все-равно как это будет там внутри "тикать"? Особенно, если Вы не программист? Программист и так знает как это сделать. Тот же APPEN MEMO, но в мемо-поле закачает файл именно "как есть".

Если программа написана "вменяемым" (пусть даже и не опытным) программистом, то для хранения файлов будет выделена отдельная папка. Чем принципиально отличается копирование одной папки от копирования одного файла - не вполне понятно.

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

Физический предел файла FPT - это 2ГБ. Т.е. объем всей информации во всех записях всех мемо-полей одной таблицы не может превышать 2ГБ. При этом, в FoxPro при частой модификации мемо-поля происходит лавинообразный рост размеров файла FPT из-за технических особенностей сохранения изменений.

Это значит, что даже если общий объем меньше 2ГБ, но Вы очень часто выгружаете/загружаете файлы в мемо-поле, то в файле FPT лавинообразно накапливается "мусор", что приводит к увеличению его размера. Надо переиодически запускать специальную процедуру "уборки мусора" (PACK MEMO), которая требует эксклюзивного доступа к таблице, что препятствует сетевой работе.

Другими словами, для хранения больших объемов часто меняющейся информации мемо-поля - не лучший выбор.
...
Рейтинг: 0 / 0
OLE-объекты FoxPro
    #37296224
KoPI - 1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ, спасибо за ответ! раньше небыло времени ответить. тоже склоняюсь к варианту через файлы в отдельной папке, осталось только убедить в этом тех, кто создает эти файлы :-)
Спасибо.
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / OLE-объекты FoxPro
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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