Вывод фотографии в отчёт.
-
- заказчик
- Сообщения: 3
- Зарегистрирован: Пт, 01/10/2010 09:16
- Имя Фамилия: Шмаков Иван
- Откуда: СтройУниверсал
Вывод фотографии в отчёт.
Здравствуйте,
подскажите кто знает, задача следующая.
Необходимо реализовать печать пропусков сотрудников. (ФОТО, ФИО, должность)
Набросал исходный текст в rtf-формате, скомпилив получаю данные о сотруднике в том виде котором мне нужно,
проблема с выводом фотографии сотрудника, если выводить просто appendix.contents то на выходе получается надпись тип данных jpg.
Вопрос как вывести фото?
подскажите кто знает, задача следующая.
Необходимо реализовать печать пропусков сотрудников. (ФОТО, ФИО, должность)
Набросал исходный текст в rtf-формате, скомпилив получаю данные о сотруднике в том виде котором мне нужно,
проблема с выводом фотографии сотрудника, если выводить просто appendix.contents то на выходе получается надпись тип данных jpg.
Вопрос как вывести фото?
-
- заказчик
- Сообщения: 46
- Зарегистрирован: Вт, 13/01/2009 10:52
- Имя Фамилия: Сергей Головчак
- Откуда: Гипротрубопровод
Re: Вывод фотографии в отчёт.
Для вставки фото в форму T2 формата rtf есть библиотека InsFoto.dll. Содержит процедуру
procedure InsFoto(string, string, longInt, longInt, longInt); external 'InsFoto.dll';
//вывод картинки в rtf документ: путь к rtf файлу, имя rtf файла, высота картинки, два параметра положение на листе
procedure InsFoto(string, string, longInt, longInt, longInt); external 'InsFoto.dll';
//вывод картинки в rtf документ: путь к rtf файлу, имя rtf файла, высота картинки, два параметра положение на листе
-
- заказчик
- Сообщения: 3
- Зарегистрирован: Пт, 01/10/2010 09:16
- Имя Фамилия: Шмаков Иван
- Откуда: СтройУниверсал
Re: Вывод фотографии в отчёт.
а как её правильно объявлять и вызывать?
вставил
procedure InsFoto(string, string, longInt, longInt, longInt); external 'InsFoto.dll';
потом пытаюсь вызвать
.begin
InsFoto(‘’, ‘Propusk_Person.rtf’, 1, 1, 1);
получаю ошибку нет такой функции, поля или метода
вставил
procedure InsFoto(string, string, longInt, longInt, longInt); external 'InsFoto.dll';
потом пытаюсь вызвать
.begin
InsFoto(‘’, ‘Propusk_Person.rtf’, 1, 1, 1);
получаю ошибку нет такой функции, поля или метода
-
- заказчик
- Сообщения: 46
- Зарегистрирован: Вт, 13/01/2009 10:52
- Имя Фамилия: Сергей Головчак
- Откуда: Гипротрубопровод
Re: Вывод фотографии в отчёт.
Должно работать.
Может описание функции не в том месте?
Проще проинклюдить C_ExtFun\Vip\external.inc
Может описание функции не в том месте?
Проще проинклюдить C_ExtFun\Vip\external.inc
-
- заказчик
- Сообщения: 3
- Зарегистрирован: Пт, 01/10/2010 09:16
- Имя Фамилия: Шмаков Иван
- Откуда: СтройУниверсал
Re: Вывод фотографии в отчёт.
Точно в формах можно так делать? или только компилятором интерфейсов?
-
- заказчик
- Сообщения: 46
- Зарегистрирован: Вт, 13/01/2009 10:52
- Имя Фамилия: Сергей Головчак
- Откуда: Гипротрубопровод
Re: Вывод фотографии в отчёт.
Насчет формы не уверен. Делал из интерфейса.
- larin
- топ-софт
- Сообщения: 228
- Зарегистрирован: Пн, 10/09/2007 12:13
- Имя Фамилия: Михаил Ларин
- Откуда: ТопCофт
- Контактная информация:
Re: Вывод фотографии в отчёт.
Коллеги забудьте про FCOM. Намного практичнее печатать фотографии с помощью FastReport. Никаких ухищрений с промежуточной выгрузкой в файлы делать не нужно. Поле таблицы с фотографией можно выдать прямо в поток данных, а в FastReport есть специальный объект "Картинка".
Набросал небольшой пример того, как можно вывести на печать фотографии сотрудников из базы Галактики.
Фрагмент исходного кода - реализация потока данных
Полный исходный код примера можно скачать здесь:
http://laalaa.googlecode.com/files/Prin ... rc_rus.zip
Видео демонстрация процесса создания отчета на YouTube:
[youtube=640,385]http://www.youtube.com/watch?v=CO9ik_cQ_4g[/youtube]
Видео файл высокой четкости для offline-просмотра можно скачать здесь:
http://laalaa.googlecode.com/files/PrintPictures.mp4
Набросал небольшой пример того, как можно вывести на печать фотографии сотрудников из базы Галактики.
Фрагмент исходного кода - реализация потока данных
Код: Выделить всё
Interface PrintPersonPass;
var marker : longint;
create view View2
var
CurNrec : comp;
as select * from
Persons,
Appendix Photo
where
((
CurNrec == Persons.Nrec and
1 == Photo.ObjBlock and
CurNrec == Photo.Person and
200 == Photo.ObjType
));
var CurIndex : integer;
datastream Stream1
(
// программный источник данных - список сотрудников по маркеру
dataset MarkedPersons
(
[fio] if(IsValid(tnPersons), Persons.FIO, '');
);
// табличный источник данных - фотографии
table Photo
(
[prefix] GetMemoPrefix(tnPhoto);
[data] Photo.Contents;
);
)
handleevent dataset MarkedPersons
cmPreProcess:
{
CurIndex := 0;
}
cmOnProcess:
{
if( CurIndex < GetMarkerCount(marker) )
{
GetMarker(marker, CurIndex, CurNrec);
CurIndex++;
if( getfirst Persons = tsOk )
ContinueDataset;
}
}
end;
end;
constructor Init;
{
result := true;
}
destructor Done;
{
}
procedure RunReport(AMarker : longint);
{
if( AMarker = 0)
exit;
if( GetMarkerCount(AMarker) = 0 )
exit;
marker := AMarker;
RunFReport(Stream1, '', false);
}
End.
http://laalaa.googlecode.com/files/Prin ... rc_rus.zip
Видео демонстрация процесса создания отчета на YouTube:
[youtube=640,385]http://www.youtube.com/watch?v=CO9ik_cQ_4g[/youtube]
Видео файл высокой четкости для offline-просмотра можно скачать здесь:
http://laalaa.googlecode.com/files/PrintPictures.mp4
- larin
- топ-софт
- Сообщения: 228
- Зарегистрирован: Пн, 10/09/2007 12:13
- Имя Фамилия: Михаил Ларин
- Откуда: ТопCофт
- Контактная информация:
Re: Вывод фотографии в отчёт.
Подправил архив с исходниками примера PrintPictures_src_rus.zip - сбились русские названия файлов.
-
- топ-софт
- Сообщения: 566
- Зарегистрирован: Пт, 21/09/2007 15:19
- Имя Фамилия: Фёдор Терсин
- Откуда: Галактика Софт
- Контактная информация:
Re: Вывод фотографии в отчёт.
Есть ещё интересная, не до конца отлаженная и недокументированная, но выпущенная возможность делать присоединённые формы к FCOM-прототипу в формате FastReport.
Если есть энтузиазм и не поджимает время реализации (ибо в случае ошибок мы, конечно, не моментально их исправлять будем), можно попробовать.
Если есть энтузиазм и не поджимает время реализации (ибо в случае ошибок мы, конечно, не моментально их исправлять будем), можно попробовать.
-
- заказчик
- Сообщения: 95
- Зарегистрирован: Чт, 25/09/2008 07:45
- Имя Фамилия: Марат Ахметзянов
- Откуда: ОАО "Северо-Западные Магистральные Нефтепроводы"
Re: Вывод фотографии в отчёт.
Почему фотки Лукашенко нет? Ему доступ не разрешОн?