"Дурная голова ноги мучит" - нар. мудрость

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Grover
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 29.03.2007 (Чт) 7:46

"Дурная голова ноги мучит" - нар. мудрость

Сообщение Grover » 17.04.2007 (Вт) 15:36

Может кому интересно будет.

Я помаялся с генераторами отчетов и понял, что они меня не устраивают (на листе должно быть много разноплановой информации из разных источников + возможность ее редактирования на шаблоне).
Либо я не умею работать с отчётами (скорее всего), либо таких возможностей они не предоставляют.

В итоге я разработал хитрый алгоритм (громко звучит, но алгоритм странный):

Распечатывается форма. - многие из требований сразу же удовлетворяются.

Но возникла трудность : Количество информации не умещается на одном листе и возможное количество листов слишком велико для создания нескольких форм.

Я создал массив элементов (для динамического формирования отчёта)
Программа рассчитывает их положение на форме в соответствии со страницей их нахождения.

Далее разместил две кнопочки перемещения по страницам.

И в зависимости от выбранной страницы изменяется параметр Visible элементов на форме.

Печать происходит каждого листа по очереди.
Это немногим дольше чем запуск многостраничной печати, но меня устраивает.

Вот так вот изгалился.

Grover
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 29.03.2007 (Чт) 7:46

Сообщение Grover » 17.04.2007 (Вт) 15:37

Не смотря на дурной алгоритм, код получился небольшим.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 17.04.2007 (Вт) 15:42

Не нашёл в топике вопроса, поэтому не мог дать ответ.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 17.04.2007 (Вт) 18:20

Топик из серии "Информация к размышлению"
Изображение

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 18.04.2007 (Ср) 12:01

м.б. стоило использовать Excel в качестве генератора отчетов?

Grover
Новичок
Новичок
 
Сообщения: 47
Зарегистрирован: 29.03.2007 (Чт) 7:46

Сообщение Grover » 18.04.2007 (Ср) 14:00

Можно, но пользователь не должен менять определенные данные.
Важно, что-бы определенные цифры пользователь не мог изменять.

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 18.04.2007 (Ср) 17:57

Grover, в Excel можно установить на лист защиту, оставив незащищенными только нужные ячейки (Сервис -> Защита).

Защиту ячеек см. в ее свойствах (Формат -> Ячейки -> Защита).


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 52

    TopList