Перейти к содержимому

Фотография

Delphi + WordКто поможет с отчетами???


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 61

#1
-:LION:-

-:LION:-
  • Завсегдатай
  • 200 сообщений
Добрый день!!!!


Собственно с текстом и колонтитулами в отчете я разобрался, но мне еще надо в отчет вставлять картинки из имейджика, т.е типа TBitmap. В справке к Ворду (Visual Basic) нашел функцию, которая якобы вставляет картинки из файла, но этот вариан не очень хороший на мой взгляд.
Подскажите кто знает как вставлять из Delphi в Visual Basic битмапы, если это возможно.
Или как скопировать битмап из имейджика в буфер (а вставить из буфера знаю как).


Спасибо!
  • 0

#2
BICH

BICH
  • В доску свой
  • 1 777 сообщений
Uses Clipbrd;
Clipboard.Assign(Image1.Picture);

попробуй так.
лично я не замарчивался а сохранял картинку в папку и в ворде просто вставлял.
  • 0

#3
-:LION:-

-:LION:-
  • Завсегдатай
  • 200 сообщений
скорей придеться и мне через файл делать, а за буфер спасибо!!!
  • 0

#4
Testudo

Testudo
  • В доску свой
  • 1 960 сообщений
-:LION:-, не майтесь дурью. Для отчетов существуют генераторы онных (и если надо даже с экспортом в тот же ворд).
  • 0

#5
-:LION:-

-:LION:-
  • Завсегдатай
  • 200 сообщений
Testudo, это всякие Rave, Quick репорты да. мне они чтото не прижились Ворд както ближе нажал и все готово

но за совет спасибо!!!
  • 0

#6
BICH

BICH
  • В доску свой
  • 1 777 сообщений
тоже самое. использую ворд или экзел для генерации отчетов или всяких там автоматических документов типа справок.
есть книжка даже про отчетам в Микрософт офис.

Сообщение отредактировал BICH: 06.09.2008, 21:24:09

  • 0

#7
-:LION:-

-:LION:-
  • Завсегдатай
  • 200 сообщений
если есть то надо её поискать
  • 0

#8
BICH

BICH
  • В доску свой
  • 1 777 сообщений
нет. про книжку был не вопрос.
у меня есть книжка про это )) специально покупал в москве
  • 0

#9
papa_mozhet

papa_mozhet
  • В доску свой
  • 1 039 сообщений
Имхо, изобретение велосипеда.
  • 0

#10
BICH

BICH
  • В доску свой
  • 1 777 сообщений
главное работает и все довольны. И я и мои клиенты
  • 0

#11
-:LION:-

-:LION:-
  • Завсегдатай
  • 200 сообщений
велосипед не велосипед а удобство превыше всего
  • 0

#12
Кими

Кими
  • В доску свой
  • 2 252 сообщений
хм... а чем метод paste не устроил?
  • 0

#13
mc_hryuka

mc_hryuka
  • Читатель
  • 1 917 сообщений
А ваще проще взять аксесс и прицепить к базе - и се :-)

#14
-:LION:-

-:LION:-
  • Завсегдатай
  • 200 сообщений
Метод PASTE не устроил тем что некоторые люди пользуються клипбордрм по назначению, и у них там иногда чтото бывает. А после действий моей програамы данные пореються.

Ну а причем тут аксесс мне ваще не понятно, он что отчеты печатает???
  • 0

#15
mc_hryuka

mc_hryuka
  • Читатель
  • 1 917 сообщений
Он песни поет и танцует - отчеты программировать веселее будет :D

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

Сообщение отредактировал mc_hryuka: 29.09.2008, 16:16:12


#16
tsadykov

tsadykov
  • Завсегдатай
  • 268 сообщений

Он песни поет и танцует - отчеты программировать веселее будет :)

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


ну кто айтишникам доктор, что они дискаверер не поставили и не настроили пользовательский слой
  • 0

#17
-:LION:-

-:LION:-
  • Завсегдатай
  • 200 сообщений
мне без лишних наворотов для юзеров надо, чтоб нажал и вордовский файл появился (может и напечатался), а базы у меня ваще нет, мне надо из дельфи (рисует на канвасе имейджика) перегнать картинки (много) в ворд и желательно сразу без лишних пальцодвижений. Аксесс в данном случае не к селу не к городу! Он может и лучше для баз, но меня научили что проще в ексель нормально отчет сделать, хотя мало ли кому какие отчеты понадобяться!!!
  • 0

#18
mc_hryuka

mc_hryuka
  • Читатель
  • 1 917 сообщений
Ну а данные то для отчета откуда берутся?
Что вообще подразумевается тут под понятием "Отчет"? :(

#19
-:LION:-

-:LION:-
  • Завсегдатай
  • 200 сообщений
мне надо в отчет (то что можно напечатать, скопировать, отправить по почте...) вставить колонтитулы (уже знаю как) и кучу картинок. данными являються сами картинки.
  • 0

#20
Zulkar

Zulkar

    Читатель

  • В доску свой
  • 3 243 сообщений
Как вариант - сохранить картинки куда нибудь в %TEMP% и затем вставить в отчет.
Я уже писал как сохранить что угодно в ворде http://vse.kz/index....c...t&p=4755686

Дополнить до вставки картинки несложно
  Variant Word=CreateOleObject("Word.Application");
  Word.OlePropertySet("Visible",1);
  Variant Documents=Word.OlePropertyGet("Documents");
  Documents.OleProcedure("Add");
  Variant ActiveDocument=Word.OlePropertyGet("ActiveDocument");
  Variant Tables=ActiveDocument.OlePropertyGet("Tables");
  ActiveDocument.OleProcedure("Select");
  Variant Selection = Word.OlePropertyGet("Selection");
  Variant Range = Selection.OlePropertyGet("Range");
  Tables.OleProcedure("Add", Range, 10, 5);
  Variant Font = Selection.OlePropertyGet("Font");
  Font.OlePropertySet("Name", "Arial");
  Font.OlePropertySet("Size", 14); Font.OlePropertySet("Bold", "1");
  Variant ParagraphFormat = Selection.OlePropertyGet("ParagraphFormat");
  ParagraphFormat.OlePropertySet("Alignment", 2);
  Selection.OleProcedure("TypeText", ":)");
  Selection.OleProcedure("MoveRight", 1);
  Selection.OleProcedure("TypeText", "Zulkar");
  Selection.OleProcedure("MoveRight", 1);
  Variant InlineShapes = Selection.OlePropertyGet("InlineShapes");  // добавлено
  InlineShapes.OleProcedure("AddPicture","с:\\picture.bmp",false,true); // добавлено
  ActiveDocument.OleProcedure("SaveAs", "Zulkar");
  Word.OleProcedure("Quit");

В макросе также изменено
Sub PictureInsert() 
'
' PictureInsert Макрос
' Макрос записан 30.09.2008 Alexander 
 
   ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=10, NumColumns _ :=5 
   Selection.TypeText Text:=":)" 
   Selection.HomeKey Unit:=wdLine, Extend:=wdExtend 
   Selection.Font.Name = "Arial" 
   Selection.Font.Size = 12 
   Selection.Font.Bold = wdToggle 
   Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
   Selection.MoveRight Unit:=wdCell
   Selection.TypeText Text:="Zulkar" 
   Selection.MoveRight Unit:=wdCell
  Selection.InlineShapes.AddPicture FileName:= _				 ' добавлено
		"c:\picture.bmp" _													' добавлено 
		, LinkToFile:=False, SaveWithDocument:=True			 ' добавлено 
End Sub
 

  • 0


Количество пользователей, читающих эту тему: 1

пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.