Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.01.2009, 21:40
ColorDb ColorDb вне форума
Новичок
 
Регистрация: 27.01.2009
Сообщения: 67
Репутация: 10
По умолчанию Написание принтерной проги

Привет всем, надеюсь туда пишу.
Задача такая.
Есть куча фамилий и адресов с индексами.
Есть один адрес отправителя постоянный.

Тобиш база данных клиентов. например 2000 человек.
Вот из этой базы надо печатать конверты с адресом.
Прога выглядит так, справа окно в окне показывается как будет выглядеть конверт когда напечатается. Применил DbMemo.
Слева 3 TEdit. Это 3 строчки с адресом и индексом.

Вот эти строчки надо записывать в базу. А потом по выбору распечатывать.
База должна иметь сортировку по Ф.И.О по алфавиту.
То есть на работе будет сидеть девочка и забивать базу. В нужный момент можно распечатать любой конверт.

Да и еще в проге будет импорт из Exel. Потому как вся база находится в экселе.

Так вот суть вопроса. Какие компоненты применить чтоб прога была грамотная??

Я не так давно программирую, вот решил повспоминать и за одно другу на работе помочь.

Последний раз редактировалось ColorDb, 27.01.2009 в 22:33.
Ответить с цитированием
  #2  
Старый 27.01.2009, 22:30
ColorDb ColorDb вне форума
Новичок
 
Регистрация: 27.01.2009
Сообщения: 67
Репутация: 10
По умолчанию

Просто опыта в базах данных нет вообще. Все проги мои это мелкие дисковые утилитки, конвертеры, аудиоплееры.
Ответить с цитированием
  #3  
Старый 27.01.2009, 22:53
Аватар для newfork
newfork newfork вне форума
Прохожий
 
Регистрация: 21.01.2009
Сообщения: 15
Версия Delphi: Delphi
Репутация: 10
По умолчанию

для доступа к БД например FIBPlus (СУБД Firebird),
для печати можно использовать FastReport (тогда можно будет разные типы конвертов распечатывать или например открытки ).
если нужно будет отображать всё в табличном виде, то прекрасно подойдет EhLib

Последний раз редактировалось newfork, 27.01.2009 в 22:56.
Ответить с цитированием
  #4  
Старый 27.01.2009, 23:15
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,050
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Только что закончил написание подобного рода проги под заказ.
1. СУБД - FireBird embedded.
2. Компоненты доступа - IBX (стандартные).
3. Отображение - только стандартные контролы, хотя пришлось для дат кое-что ручками докрутить. Из нестандартных - DevExpress Bars (ну привык я к ним).

Печать там сделана через html, но там есть специфика - заказчик может кастомизировать шаблон печати по своему усмотрению.

Там еще было несколько заморочек, специфичных для конкретной программы, но это уже детали.

Тебе печать (3 строки) можно делать и руками через TPrinter.
Ответить с цитированием
  #5  
Старый 27.01.2009, 23:42
ColorDb ColorDb вне форума
Новичок
 
Регистрация: 27.01.2009
Сообщения: 67
Репутация: 10
По умолчанию

Ага спасибо всем кто отозвался, буду пробовать. Пока всеравно все смутно. Попробую хотя бы просто начать заводить вручную клиентов.
С базы начну.
Ответить с цитированием
  #6  
Старый 28.01.2009, 12:46
ColorDb ColorDb вне форума
Новичок
 
Регистрация: 27.01.2009
Сообщения: 67
Репутация: 10
По умолчанию

Сразу вопросы нашлись, видать их будет много.
Ну самый первый.
Где найти как работать с firebird. Может книги какие есть, скачаю.
Темный зеленый лес.
Даже с какого угла начать немонимаю.
Ответить с цитированием
  #7  
Старый 28.01.2009, 13:03
ColorDb ColorDb вне форума
Новичок
 
Регистрация: 27.01.2009
Сообщения: 67
Репутация: 10
По умолчанию

А возможно работать напрямую с exel файлом??
Из него печатать и его редактировать но через мою прогу??
Поговорил с другом грит лучше будем работать в екселе, но сделай просто прогу чтоб она подцепляла наш exel файл и из него печатала то что надо.
Я так подумал, идея по моему нормальная, если есть база то нахрена еще лепить базу и всю дорогу делать импорт в мою базу.
ПУсть там в екселе и работают раз привыкли, а моя прога пусть просто показывает таблицу и печатает оттуда что надо по выбору. Ну и впринципе пожно будет редактировать екселевскую таблицу и из моей проги. Темболее ексель умеет сортировать.

Или это все криво?? Может не лениться и изучить файрптичку а потом можно будет комунть чтонть на заказ написать?
Блин, даже незнаю что придумать, когд анихрена незнаешь хочеться пойти по наименьшему сопротивлению.
Недостаток информации. Книгу мне надо для чайников по написанию базз данных.
Ответить с цитированием
  #8  
Старый 28.01.2009, 13:46
Аватар для newfork
newfork newfork вне форума
Прохожий
 
Регистрация: 21.01.2009
Сообщения: 15
Версия Delphi: Delphi
Репутация: 10
По умолчанию

поищи в инете книжку "Мир Interbase". там доступно написано как работать с СБУД Firebird или Interbase
Ответить с цитированием
  #9  
Старый 28.01.2009, 14:16
ColorDb ColorDb вне форума
Новичок
 
Регистрация: 27.01.2009
Сообщения: 67
Репутация: 10
По умолчанию

Нашел книгу по interbase. Попробую на нем. Во всяком случае все написано понятно. С примерами. Будем разбираться.
Ответить с цитированием
  #10  
Старый 16.02.2009, 12:28
ColorDb ColorDb вне форума
Новичок
 
Регистрация: 27.01.2009
Сообщения: 67
Репутация: 10
По умолчанию

Ну вот дошел до принтера.
Говорят лучше в bitmap все перевести а потом это распечатать?
Вот теперь думаю как это дело с принтером подружить.
Я не программер, программить это способ отдохнуть от мира за окном.
Поэтому опыта мало. Хотя паскаль досовский помню.
Надо данные как то отформатировать в определенную форму для вывода напечать.
Ответить с цитированием
  #11  
Старый 16.02.2009, 15:52
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,050
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Тут такая фигня. Для печати битмапа тебе
1. Потребуется специальный код. Не всегда все картинки правильно печатаются. От чего это зависит так толком и не понял, но нашел решение на cidegear в конференции. Там картинка переводится в ДИБ, и уже он печатается.
2. Придется руками все масштабировать, хотя и при прямом выводе на канву принтера все-равно придется считать самому все.

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

Код:
Printer.BeginPage;
Printer.Canvas.TextOut(10,10,'Бла-бла-бла...');
Printer.Canvas.MoveTo(8,8);
Printer.Canvas.LineTo(100,8);
Printer.EndPage;

PS. Писал по памяти, имена методов проверь по справке.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:56.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter