![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
Есть DBGrid, подключенный к таблице,
Нужно вывести в текстовый файл все ровненько, т.е. по колоночкам
проблемы с выравниванием, как правильно сделать? rePrint - TRichEdit;
Это сообщение отредактировал(а) Akella - 20.1.2006, 12:16 |
||||
|
|||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Хорошего выравнивания не получится в принципе если в блокноте будет устанолен шрифт с неравной шириной символов.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
да мне не нужен блокнот, мне нужно сохранить в текстовый файл (DOS) и распечатать на матричном принтере, вот и все
Добавлено @ 12:34 нужно распечатать сетку с сохранением форматирования именно через текстовый файл, т.к, на матричном прентере печать текста быстрее, чем графики |
|||
|
||||
| bas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: нет Всего: 2 |
Используй потоки с форматированием например setw
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Тогда нужно определить длинну наибольшего элемента в каждом столбце.
При выводе данных в этот столбец надо дополнять строку элемента пробелами до заданной длинны. Это сообщение отредактировал(а) alexeis1 - 20.1.2006, 13:58 -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
нужно определить ширину колонки в символах, а не в пикселях
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Akella совершенно верно в символх. так в чем проблема
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
||||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
так а в чем проблема?
свойство Length у строки еще никто не отобрал? так что перед приведенным циклом делай еше один, спробегом по всем _строкам_ и сравнением их длины с запомненной -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
я думаю, что можно, как-то одним циклом обойтись
Добавлено @ 14:36 ты это имеешь ввиду?
это не то. нужно узнать ширину колонки не в пикселях, а в символах. Columns[x].width ?? т.е. сколько символов видно в данный момент. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
нужно что-то вроде этого
|
|||
|
||||
| bas |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 14.8.2002 Где: Молдова, Кишинев Репутация: нет Всего: 2 |
||||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
или я чего-то не понимаю, или лыжи не едут... Length() ( устаревшая функция ) и Length() ( свойство ) и возвращают длину текста в символах это 1 Columns[x] -- колонки. т.е. то, что наверху сетки пишется. тебе же нужно пройтись не по сетке, а по ее DataSet' e ( точнее по его Fields ) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
ширину колонок я знаю, домустим 10, 40, 90, 40, 120 (Columns[x].width).
так вот, теперь нужно узнать, сколько это в символах, т.е. сколько символов поместится в колону, сколько символов мне нужно взять из жтой колонки или сколько пробелов добавить? можно конечно проще - пусть сам пользователь определяет ширину каждой колонки, тогда нужно уже делать конструктор отчетов. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
посовещавшись с Hunter`ом, сделал так
Это сообщение отредактировал(а) Akella - 20.1.2006, 17:52 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |