Твой софтовый форум > Тематические форумы > Программирование

делфи и принтер

Дата публикации: 03.07.2007 - 07:09
main
Решил освоить делфи, создал просенькую базу данных, и столкнулся с проблемой как теперь распечатать инфу которая в ней храниться? И еще вопрос данные отображаються в виде таблицы сразу на все записи, я хочу сделать что бы по щелку на кнопке открывалось отдельное окно в которм была бы форма на отдельную запись где собственно и должны будут вноситься изменеия в базу, как такое замутить?
Quim2005
Для печати данных из таблиц БД просто мегаидеально подходит Fast Report - русский генератор отчетов. Маленький размер и удобство гарантированы. Смотреть здесь:
https://softoroom.org/topic20244.html

А отдельно форму сделать не сложно. Создаешь форму, в разделе Unit добавляешь имя родительского модуля и кидаешь на форму элементы типа DBEdit.
Очень неплохая и бесплатная для русских компонента Ehlib, а дальше рекомендую использовать (для профессиональных прог) компоненты от DevExpress. Ссылка на Ehlib:
Для Дельфей (вроде и Си тоже) есть хороший компонент Скрытый текст:

пароль: ФЕВРАЛЬФЕВРАЛЬ
main
а стандартными средствами отчет создать нельзя?
main
и если можно чуть подробней обьяснить этот момент

"Создаешь форму, в разделе Unit добавляешь имя родительского модуля"

И как клик н кнопке описать что бы эта форма вышла?
Quim2005
Можно и стандартными средствами. Я сижу в delphi 7 - там это чудо называется QReport.

Создаешь главную форму, например fMain. Затем создаешь форму для редактирование, например fEditdata.
Убираешь в проекте Project строку:
Application.CreateForm(TfUserPrav, fUserPrav);

В fMain в кнопке "Добавить"прописываешь:
fEditData:=TfEditData.create(self);
fEditData.Show;

В модуле fEditData в строке Uses дописываешь модуль главной формы:

implementation

uses fMain;

Тогда все элементы на форме могут брать данные и с главной формы.

В свой формы на событие OnClose пропиши
Destroy;

Пока все smile.gif
main
не смог найти эту строку:
Application.CreateForm(TfUserPrav, fUserPrav);

и доаисать: uses fMain;

но и так все работает, это принципиальные моменты?
Quim2005
2main - просто в пятницу торопился, в файле проекта должна была быть строка:
CODE
Application.CreateForm(TfEditData, fEditData);


Нет, момент не принципиальный. Эту строчку нужно убрать, чтобы при старте программы эта форма не создавалась. Когда программка небольшая, то это не так важно, но лучше взять на вооружение, так как это экономия памята. Когда окон будет больше 100 - это сразу почувствуешь, так что вырабатывай как привычку smile.gif
main
Спс, вроде все пашет. На последок посоветуй какой нибудь учебник по обработке данных в БД, вроде как сложить одинаковый параметр во всех записях или высчитать его на основе других.
Quim2005
Обработку данных выполнять внутри своей программы не имеет смысла - для этого есть гораздо более мощные механизмы серверов SQL. Вот на них тебе и следует уделить свое внимание. Если изучить принципы, то язык запросов не такой и сложный. Конкретную книгу посоветовать не могу, потому что сам изучал по примерам и по разным источникам, так что можешь брать любую книгу по SQL, может еще называться Transact SQL. Книги лежат здесь:
https://softoroom.org/topic2829.html


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: делфи и принтер
SoftoRooM © 2004-2024