powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / JPG и отчет
16 сообщений из 16, страница 1 из 1
JPG и отчет
    #32783619
Фотография Telum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе утро лисники ;), у меня возник серьёзный вопрос,
ответ на который не могу просто так найти по поиску в
этом чудесном форуме.:
Значит, представьте себе: есть таблица в моей БД-
В ней содержиться помимо текстовых и числовых полей, поле типа
"General", в этом поле я собираюсь хранить графическую информацию
(Кому интересно - Эскиз изделия), но если в таблице хранить картинку
типа ".BMP", то БД из 10 записей (заказов) весит порядка 15 - 20 м.
А теперь, представте себе, - сетевую базу в 10000 записей - для заказчика
это недопустимо.
Допустим, что эскиз хранится в JPG - Да все отлично, но -
если я захочу распечатать, например 100 - 300 записей (заказов), то в
отчете эскиз не будет отображаться (если источником данных установить
поле типа "G").
Так вот вопрос, - может существует способ распечатки отчетов
(Который содержит текстовую информацию и картинки), используя JPG-
формат эскизов.
...
Рейтинг: 0 / 0
JPG и отчет
    #32783640
Если есть возможность, то храните ваши эскизы в формате WMF (или EMF). Это векторные форматы изображений, и они занимают в поле GENERAL очень мало места. Например, у меня была база, в которой хранилось порядка 2000 чертежей, выполненных в AutoCad и сохранённых в формате WMF. Размер .FPT лишь на 5% превышал общий размер этих файлов.
...
Рейтинг: 0 / 0
JPG и отчет
    #32783676
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И не забывайте каждую ночь давать волшебную команду

Код: plaintext
PACK MEMO
...
Рейтинг: 0 / 0
JPG и отчет
    #32783745
piva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чего, просто в файлах никак хранить нельзя ? Вместо General - Memo с полным путем к файлу на сервере
...
Рейтинг: 0 / 0
JPG и отчет
    #32783789
Alex Sheff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня аналогичная задача- клиент захотел все свои изделия сфотографировать и видеть в програме. Так я все фото засунул в отдельную директория а ссылку на них хранится в поле типа С(50).
Я думаю несоставит большого труда их распечатать
...
Рейтинг: 0 / 0
JPG и отчет
    #32783871
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pivaА чего, просто в файлах никак хранить нельзя ? Вместо General - Memo с полным путем к файлу на сервере
Внесу и я свои пять копеек...
Предложенная идея, конечно, интересная. Но есть одно сомнение: а как удалил пользователь картинку через файловый менеджер (напрмер, FAR). И что тогда мы будем иметь в базе данных? Провисшую ссылку? Типа: выходит отчет, а в нем вместо картинки написано "Здесь должна быть картинка"
С другой стороны, если периодически проверять наличие файла-картинки по указанному пути, то при больших объемах базы будет "большой тормоз"...
В общем, здесь тоже не все однозначно...
...
Рейтинг: 0 / 0
JPG и отчет
    #32783900
piva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А файловая система на сервере - тогда не иначе как fat32 - или все-таки можно поставить ntfs - с запретом на удаление (кроме админа )
...
Рейтинг: 0 / 0
JPG и отчет
    #32783905
to Alex Sheff

> Я думаю несоставит большого труда их распечатать

Поделитесь, please, как в фоксовском отчёте распечатать файлы изображений, хранящиеся на дисках. Чтобы это всё динамически изменялось.
...
Рейтинг: 0 / 0
JPG и отчет
    #32783938
piva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав - не понял - а в чем проблема ?
Делал я тут порно альбом (шутка) файлы лежат на диске - в отчет встявляешь Picture/ActiceX - В Picture From - File пишу (PicLoc) - это у меня поле таблы с путем к картинке тока в скобках указывать надо и все на ура. Файлы JPG фокс vfp 7
...
Рейтинг: 0 / 0
JPG и отчет
    #32785411
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Telum!

Завтра ты сюда придешь с вопросом "а как же мне извлечь эту картинку снова в
файл".
Чтобы не создавать себе проблем - пока не поздно откажись от безумной идеи
использовать General поля - храни картинки в файликах на диске, как тебе и
советуют, ну а уж если совсем никак - то храни в memo(binary) поле и
вынимай/помещай их например через команды FILETOSTR/STRTOFILE.

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
JPG и отчет
    #32787618
Фотография Telum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так программисты, всем огромное спасибо за почти внятные ответы, я, как вы
поняли фанат развернутых вопросов\ответов.
Начну по порядку:
1. Вячеслав Клепинин:
Я создаю систему конструирования изделий, пользуясь библиотекой GDIPLUS,
соответсвенно сохранять рисунки могу только в растровых форматах. Преобразовывать
формат из растрового в векторный я попросту не умею, если есть предложения внимательно
выслушаю! (Спасибо за предложенную альтернативу).
2. Sergey Ch:
Понял! (Спасибо за ценнейший и самый лаконичный ответ).
3. Piva:
Так, если я правильно понял, то можно в отчете вставить картинку Picture\ActiveX
Затем присвоить в качестве источника картинки поле Мемо БД (где хранятся пути
к картинкам любого понятного отчету формата), что позволит генератору отчета
отображать различные картинки в области 'Detal'. Если это так
то я буду просто счастлив (дома попробую)! (Спасибо за возможное рещение).
4. Alex Sheff:
Я надеюсь вы понимаете мою задачу (не просто распечатать картинки, а распечатать чертеж
вместе со спецификацией (т.е. какими-то циферками, размерами, примечаниями и т. .д.)
на производство изделий, при том все должно быть визуально в одном Отчете), если понимаете,
то хорошо (правда почти аналогичный совет мне любезно дал "Piva" (см. выше) ) !
(Спасибо за деньги и сочуствие).
5. Станислав С.:
Действительно, такая проблема может возникнуть, для меня, благодаря Вашему совету, теперь это
не страшно - теперь я буду, перед формированием отчета, проверять на присутсвие чертежа в папке,
но только у конкретного набора данных (допустим печатаем 6, 8, 10 - 45 заказы - вот эти рисунки и проверяем).
И БД зря не гоняем! Согласны со мной? (Спасибо за решение, возможно будущей, проблемы!).
6. Piva:
Как я уже описал выше это не проблема, проверим на наличие картинки с эскизом, если её там нет,
то печатаем пустое место вместо эскиза!!! - Если пользователь удалил файлы, то извините меня,-
какие могут быть ко мне вопросы - нечего лазеть по системным папкам?!
7. Вячеслав Клепинин:
Это не ответ, а вопрос, поэтому пусть тебе ответят более компетентные в данной области программисты!
8. Piva:
Значит правильно я понял ваш ответ (см. ответ № 3).
9. Igor Korolyov:
Как вы, наверное, уже поняли - я буду впредь использовать технологию предложенную гр. Piva,
поэтому не стоит беспокоиться о "безумных идеях" - я для этого и спросил на форуме - что бы мне
подсказали - как луче, быстрее, надежнее! (Спасибо за беспокойство).
---С уважением Telum ---
...
Рейтинг: 0 / 0
JPG и отчет
    #32788044
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кое-что по полям типа Memo и General посмотри во вложенном файле.

Ты не рассматривал идею заполнения временной таблицы перед печатью? Т.е. создаешь временную таблицу (курсор) и через APPEND GENERAL загоняешь нужные картинки. Печать стандартная.

Код: plaintext
1.
2.
CREATE CURSOR curPrint (prnImage G)
APPEND BLANK
APPEND GENERAL prnImage FROM MyFile.bmp

Далее стандартным способом отображаешь в отчете поле curPrint.prnImage, а после печети удаляешь уже ненужный курсор.
...
Рейтинг: 0 / 0
JPG и отчет
    #32789208
piva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Telum

Код: plaintext
1.
7. Вячеслав Клепинин:
Это не ответ, а вопрос, поэтому пусть тебе ответят более компетентные в данной области программисты!

Ну блин - это ты так зазря сказанул - еще не известно кто более компетентен в графике
...
Рейтинг: 0 / 0
JPG и отчет
    #32789781
Фотография Telum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ВладимирМ:
Конечно рассматривал - для меня не составляет это
проблем!, но в Вашем примере:
"CREATE CURSOR curPrint (prnImage G)
APPEND BLANK
APPEND GENERAL prnImage FROM MyFile.bmp"
Источником данных является .BMP файл, а
это уже неприемлемо, допустим, Вы имели ввиду, что надо
преобразовывать формат JPG в BMP - но это слишком трудоемкая
операция, как уже отвечал раньше, я буду использовать прием
предложенный "Piva". см. пред. ответы!
Спасибо за предложенную информацию, - обязательно
изучу.
...
Рейтинг: 0 / 0
JPG и отчет
    #32794617
to PIVA

Привет, Вадим. Спасибо за комплимент.
Я пытался вставлять в отчёты изображения ещё на VFP5, с тех пор как-то не было необхдимости. Там что-то не заладилось, возможно, в более поздних версиях это уже стало возможно.

2Telum

С этой чёртовой текучкой нет времени сделать... А была идея использовать чтение/запись из потока (объект ISTREAM), в GDI+ есть для этого функции. То есть загружать/сохранять изображения непосредственно из переменной фокса или мемо-поля таблицы. Если Вам удастся это победить - то сообщите. Буду очень признателен.
P.S.
Функции GDI+, работающие с потоками, позволяют хранить изображения в различных форматах, в том числе и JPEG.
P.P.S.
GDI+ поддерживает работу с векторными рисунками.
...
Рейтинг: 0 / 0
JPG и отчет
    #32801568
Фотография Telum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Вячеслав Клепинин:
Всё бы ничего, только я пользуюсь вашей реализацией функций библиотеки GDI+.! - И совсем нет времени разбираться с векторами - и так хватает проблем и задач!!!!


Кстати, огромное спасибо за класс!!!

P.S.:
У вас случайно нет новых реализаций GDI+?
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / JPG и отчет
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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