![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Ibragim |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 28.9.2004 Где: Киев Репутация: нет Всего: нет |
Всем ночи доброй. Тут еще один вопрос назрел.
Есть форма, в ней некий объект "окно дос". В него с большой скоростью должна выводиться текстовая информация. Прекрасно работает TMemo.Text := TMemo.Text + 'NewText'; Однако для моей скорости очень много перерисовок и мерцаний. При той же скорости вывода если выводить в окно DOS в полноэкранном режиме (ну, переписать на Pascal'e под DOS) получается, понятное дело, все красивенько и т.п. Может, есть готовые решения для такой задачи? Уж больно неохота в DirectDraw лезть... |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
А consol appliaction не подойдет?
|
|||
|
||||
| Ibragim |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 28.9.2004 Где: Киев Репутация: нет Всего: нет |
К сожалению, нет. Это должно выводиться в рамках большого проекта на отдельно взятой форме.
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Если дело в мерцаниях, попробуй Memo1.DoubleBuffered := True
-------------------- С уважением, г-н Посол. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
1. Можно сделать консольное апп и просто воткнуть его поверх своей формы в нужную позицию и нужного размера.
2. Рисовать на канве и скролить блоками вверх. 3. Если такая огромная скорость, то зачем вообще такое окно? Может хватит просто Tlabel? 4. Можно воткнуть , дать ему цвет белый-на-черном и разрешить wrap текста. Написать отдельную функцию, которая будет изменять содержимое этого лабела в зависимости от кол-ва строк в тексте на экран. Только не забыть убрать автосайз. В данном случае никакого скрола, а как раз имитация DOS окна. Только шрифт поставить консольный или хотя бы курьер. Никакого скрола - дискретная перерисовка. |
|||
|
||||
| ~FoX~ |
|
|||
![]() НЕ рыжий!!! ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2819 Регистрация: 8.10.2003 Где: Зеленоград Репутация: 13 Всего: 68 |
Ibragim
Хм.....офтоп конечно, но зачем выводить на экран то что все равно никто не успивает читать |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
Ibragim тебя спасет... Windows.SetParent (или SetPatent
1)Распакуй архив с сохранением дирректорий 2)Скомпилируй прогу в дирректории Console (PrConsole.dpr) 3)Скомпилируй(Project1.dpr) и запусти PS: Если тебе надо будет досовскую программу запустить вместо PrConsole то... замени PChar(PrConsole) на имя(с полным путем) твоей Dos проги... Это сообщение отредактировал(а) Girder - 21.10.2004, 14:24 Присоединённый файл ( Кол-во скачиваний: 10 )
spConsole.zip-------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| Ibragim |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 28.9.2004 Где: Киев Репутация: нет Всего: нет |
спасибо за кучу вариантов... пробуем! Что-то получится - напишу.
2Fox: там выводятся псевдографикой блочки разных оттенков, типа графика, причем представление информации должно быть именно таким (граафик и т.п не подходит). 2Girder: К сожалению, не спасает... Данные для вывода формируются уж очень сложно, зависят от четырех разных потоков - никак в консоль не завернуть.... К тому же они отображаются еще и в другом представлении. Это сообщение отредактировал(а) Ibragim - 22.10.2004, 18:38 |
|||
|
||||
| Ibragim |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 28.9.2004 Где: Киев Репутация: нет Всего: нет |
2 pOsOl спасибо, ваш вариант самый простой и удачный. Осталась одна проблема - убирать тот текст что уходит вверх, чтобы была имитация окна как в досе. То есть скрол не нужен, нужно чтобы просто текст уходящий вверх "исчезал".
Ничего не насоветуете? PS Спасибо всем откликнувшимся! |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Как я понял, речь о Memo...
Вроде так... |
|||
|
||||
![]()
|
| Правила форума "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. |