|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Написание принтерной проги
Привет всем, надеюсь туда пишу.
Задача такая. Есть куча фамилий и адресов с индексами. Есть один адрес отправителя постоянный. Тобиш база данных клиентов. например 2000 человек. Вот из этой базы надо печатать конверты с адресом. Прога выглядит так, справа окно в окне показывается как будет выглядеть конверт когда напечатается. Применил DbMemo. Слева 3 TEdit. Это 3 строчки с адресом и индексом. Вот эти строчки надо записывать в базу. А потом по выбору распечатывать. База должна иметь сортировку по Ф.И.О по алфавиту. То есть на работе будет сидеть девочка и забивать базу. В нужный момент можно распечатать любой конверт. Да и еще в проге будет импорт из Exel. Потому как вся база находится в экселе. Так вот суть вопроса. Какие компоненты применить чтоб прога была грамотная?? Я не так давно программирую, вот решил повспоминать и за одно другу на работе помочь. Последний раз редактировалось ColorDb, 27.01.2009 в 22:33. |
#2
|
|||
|
|||
Просто опыта в базах данных нет вообще. Все проги мои это мелкие дисковые утилитки, конвертеры, аудиоплееры.
|
#3
|
||||
|
||||
для доступа к БД например FIBPlus (СУБД Firebird),
для печати можно использовать FastReport (тогда можно будет разные типы конвертов распечатывать или например открытки ). если нужно будет отображать всё в табличном виде, то прекрасно подойдет EhLib Последний раз редактировалось newfork, 27.01.2009 в 22:56. |
#4
|
|||
|
|||
Только что закончил написание подобного рода проги под заказ.
1. СУБД - FireBird embedded. 2. Компоненты доступа - IBX (стандартные). 3. Отображение - только стандартные контролы, хотя пришлось для дат кое-что ручками докрутить. Из нестандартных - DevExpress Bars (ну привык я к ним). Печать там сделана через html, но там есть специфика - заказчик может кастомизировать шаблон печати по своему усмотрению. Там еще было несколько заморочек, специфичных для конкретной программы, но это уже детали. Тебе печать (3 строки) можно делать и руками через TPrinter. |
#5
|
|||
|
|||
Ага спасибо всем кто отозвался, буду пробовать. Пока всеравно все смутно. Попробую хотя бы просто начать заводить вручную клиентов.
С базы начну. |
#6
|
|||
|
|||
Сразу вопросы нашлись, видать их будет много.
Ну самый первый. Где найти как работать с firebird. Может книги какие есть, скачаю. Темный зеленый лес. Даже с какого угла начать немонимаю. |
#7
|
|||
|
|||
А возможно работать напрямую с exel файлом??
Из него печатать и его редактировать но через мою прогу?? Поговорил с другом грит лучше будем работать в екселе, но сделай просто прогу чтоб она подцепляла наш exel файл и из него печатала то что надо. Я так подумал, идея по моему нормальная, если есть база то нахрена еще лепить базу и всю дорогу делать импорт в мою базу. ПУсть там в екселе и работают раз привыкли, а моя прога пусть просто показывает таблицу и печатает оттуда что надо по выбору. Ну и впринципе пожно будет редактировать екселевскую таблицу и из моей проги. Темболее ексель умеет сортировать. Или это все криво?? Может не лениться и изучить файрптичку а потом можно будет комунть чтонть на заказ написать? Блин, даже незнаю что придумать, когд анихрена незнаешь хочеться пойти по наименьшему сопротивлению. Недостаток информации. Книгу мне надо для чайников по написанию базз данных. |
#8
|
||||
|
||||
поищи в инете книжку "Мир Interbase". там доступно написано как работать с СБУД Firebird или Interbase
|
#9
|
|||
|
|||
Нашел книгу по interbase. Попробую на нем. Во всяком случае все написано понятно. С примерами. Будем разбираться.
|
#10
|
|||
|
|||
Ну вот дошел до принтера.
Говорят лучше в bitmap все перевести а потом это распечатать? Вот теперь думаю как это дело с принтером подружить. Я не программер, программить это способ отдохнуть от мира за окном. Поэтому опыта мало. Хотя паскаль досовский помню. Надо данные как то отформатировать в определенную форму для вывода напечать. |
#11
|
|||
|
|||
Тут такая фигня. Для печати битмапа тебе
1. Потребуется специальный код. Не всегда все картинки правильно печатаются. От чего это зависит так толком и не понял, но нашел решение на cidegear в конференции. Там картинка переводится в ДИБ, и уже он печатается. 2. Придется руками все масштабировать, хотя и при прямом выводе на канву принтера все-равно придется считать самому все. Если тебе не надо выводить ничего сложнее текста и прямых линий, то достаточно воспользоваться напрямую методами канвы принтера, типа: Код:
Printer.BeginPage; Printer.Canvas.TextOut(10,10,'Бла-бла-бла...'); Printer.Canvas.MoveTo(8,8); Printer.Canvas.LineTo(100,8); Printer.EndPage; PS. Писал по памяти, имена методов проверь по справке. |