Еще раз о предпросмотре.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Oldman
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 10.11.2003 (Пн) 12:23
Откуда: ТРТУ

Еще раз о предпросмотре.

Сообщение Oldman » 02.02.2004 (Пн) 15:20

Народ, неужто никто не сталкивался с такой проблемой?
Не устраивает меня стандартный построитель отчетов (вернее, не хватает мозгов с ним разобраться - ДА, Я ТУПОЙ и не скрываю этого :evil: ).
Поэтому изобретаю велосипед:
1. Заполняю MSHFlexGrid до необходимого количества
2. На PictureBox печатаю заголовок таблицы, номер страницы и переношу таблицу:
Код: Выделить всё
Style = gan(gn)
Pict1.CurrentX = Pict1.Width / 2 - Style * 150 / 2
Pict1.CurrentY = 20
Pict1.FontBold = True
Pict1.FontName = "Arial"
Pict1.FontSize = 22
Pict1.ForeColor = &HFFFFFF
Pict1.FontTransparent = True
Pict1.Print UCase(Style)
Pict1.PaintPicture Flex1.Picture, 150, 200

3. Копирую PictureBox в ImageBox для возможности последующего маштабирования и т.д.
Код: Выделить всё
Set Im1.Picture = Pict1.Image

4. При нажатии кнопки "Печатать" отправляю на печать PictureBox:
Код: Выделить всё
Printer.PaintPicture Pict1.Image, 0, 0
Printer.EndDoc

При печати выдается таблица с заголовками, но ( :x ) очень низкого разрешения. Даже на предпросмотре уже это видно хорошо. Т.е. все буквы квадратиками, ни о каком сглаживании шрифтов и речи не идет. Я уже и маштабирование картинок методом Scale менял - пофиг...

Помогите советом, не оставьте на произвол судьбы!!! :cry:
Ежики не колются, только бухают иногда

Oldman
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 10.11.2003 (Пн) 12:23
Откуда: ТРТУ

Сообщение Oldman » 03.02.2004 (Вт) 11:58

И чё? Всем спецам слабо? Или неохота связываться? :twisted:
Тогда хоть расскажите где взять информацию по стандартному репорту...
Ежики не колются, только бухают иногда

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 03.02.2004 (Вт) 12:38

Делай отчеты в Экселе, в нете куча примеров тому. Используй MS Excel Object Library.
Нет ничего невозможного для человека с интеллектом.

Oldman
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 10.11.2003 (Пн) 12:23
Откуда: ТРТУ

Сообщение Oldman » 03.02.2004 (Вт) 13:08

Блин, тогда уж в Ворде... Раньше так и делалось... Но это же геморой полнейший... Это все равно, что 600-ый Мерс заводить рукояткой :?
Ежики не колются, только бухают иногда

Kostyan
Постоялец
Постоялец
 
Сообщения: 439
Зарегистрирован: 20.09.2002 (Пт) 4:14
Откуда: Россия, Уссурийск

Сообщение Kostyan » 03.02.2004 (Вт) 15:12

В вёрде действительно зае...шься делать, а вот с экселем ты погоречился. Тут ты обращяешься к ячейкам, и диапазонам, что значительно облегчает работу. К тому же у объекта Range есть замечательный метод CopyFromRecordset, с пом. него за мгновение данные из таблицы переносятся на лист экселя. Затем делаешь автоподбор ширины ячеек и другие украшательства, рамки, линии, шрифты, делается всё элементарно.

P.S. НА мой взгяд то что делаешь ты и есть самый настоящий гемморой :wink:
Нет ничего невозможного для человека с интеллектом.

XPraptor
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 02.12.2003 (Вт) 18:13
Откуда: Minsk

Сообщение XPraptor » 03.02.2004 (Вт) 16:00

Kostyan:
Ты когда нибудь пробовал в экселе отчет создать хотя бы из 1000 записей? Сколько ждать нужно не подскажешь? Я как то на заре молодости именно так и издевался над заказчиками, потому как не умел по другому, круто было! :-))

Oldman:
Попробуй поэксперементируй с Printer.PrintQuality, может поможет. Сам не пробовал, не на чем проверить.
Если руки кривые, то не надо ругать разработчиков.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 03.02.2004 (Вт) 16:43

Пробовал и на 26 тысяч записей, с разбивкой по страницам, с шапкой и колонтитулами. Вполне реально сделать.

Другой способ - использовать репорты, но я бесплатных не видел. Я как-то делал набор классов для реализации своей процедуры печати, они даже сделаны, но preview не реализован.
Если захочешь сделать таким образом, то создаешь несколько классов (точка, линия, текстовый бокс, фигурный текст). В классах запоминаются параметры объектов (координаты, цвета, текст и т.п.). И делаешь класс, в котором эти классы храняться в коллекции и в котором есть метод Print и Preview.
Lasciate ogni speranza, voi ch'entrate.

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Сообщение Dmitriy2003 » 03.02.2004 (Вт) 21:30

так если дело за табличными данными, как вариант TrueDB Grid 6.0 Pro (неплоха сетка) и отчеты формирует на осное recordseta ( и не только).....

попробуй не пожалееш...
з.ы. Crystal Report - это вешь - :twisted: но не всегда.......
Dmitrich

Oldman
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 10.11.2003 (Пн) 12:23
Откуда: ТРТУ

Сообщение Oldman » 04.02.2004 (Ср) 12:19

Dmitriy2003 писал(а):как вариант TrueDB Grid 6.0 Pro (неплоха сетка) и отчеты формирует на осное recordseta ( и не только).....

Где его взять?
Ежики не колются, только бухают иногда

Oldman
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 10.11.2003 (Пн) 12:23
Откуда: ТРТУ

Сообщение Oldman » 04.02.2004 (Ср) 14:24

Dmitriy2003 писал(а):Crystal Report - это вешь - :twisted: но не всегда.......

Скачал я 8.5... Не могу понять, куда эта сволочь установилась (даже кряк прикрутить не могу :x )
Теперь другое: как его пользовать?! Как пела нруппа "Мальчишник": Что куда сувать и для чего...
Ежики не колются, только бухают иногда


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing-бот и гости: 15

    TopList