Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Имитация окна dos в форме, (вывод текста) 
:(
    Опции темы
Ibragim
Дата 21.10.2004, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 28.9.2004
Где: Киев

Репутация: нет
Всего: нет



Всем ночи доброй. Тут еще один вопрос назрел.
Есть форма, в ней некий объект "окно дос". В него с большой скоростью должна выводиться текстовая информация. Прекрасно работает TMemo.Text := TMemo.Text + 'NewText'; Однако для моей скорости очень много перерисовок и мерцаний. При той же скорости вывода если выводить в окно DOS в полноэкранном режиме (ну, переписать на Pascal'e под DOS) получается, понятное дело, все красивенько и т.п. Может, есть готовые решения для такой задачи? Уж больно неохота в DirectDraw лезть...
PM MAIL   Вверх
~FoX~
Дата 21.10.2004, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



А consol appliaction не подойдет?


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Ibragim
Дата 21.10.2004, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 28.9.2004
Где: Киев

Репутация: нет
Всего: нет



К сожалению, нет. Это должно выводиться в рамках большого проекта на отдельно взятой форме.
PM MAIL   Вверх
p0s0l
Дата 21.10.2004, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

Репутация: 58
Всего: 112



Если дело в мерцаниях, попробуй Memo1.DoubleBuffered := True



--------------------
С уважением, г-н Посол.
PM   Вверх
Snowy
Дата 21.10.2004, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



1. Можно сделать консольное апп и просто воткнуть его поверх своей формы в нужную позицию и нужного размера.
2. Рисовать на канве и скролить блоками вверх.
3. Если такая огромная скорость, то зачем вообще такое окно? Может хватит просто Tlabel?
4. Можно воткнуть , дать ему цвет белый-на-черном и разрешить wrap текста. Написать отдельную функцию, которая будет изменять содержимое этого лабела в зависимости от кол-ва строк в тексте на экран. Только не забыть убрать автосайз. В данном случае никакого скрола, а как раз имитация DOS окна. Только шрифт поставить консольный или хотя бы курьер. Никакого скрола - дискретная перерисовка.
PM MAIL   Вверх
~FoX~
Дата 21.10.2004, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Ibragim
Хм.....офтоп конечно, но зачем выводить на экран то что все равно никто не успивает читать :qstn ?


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Girder
Дата 21.10.2004, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 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


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
Ibragim
Дата 22.10.2004, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 28.9.2004
Где: Киев

Репутация: нет
Всего: нет



спасибо за кучу вариантов... пробуем! Что-то получится - напишу.

2Fox: там выводятся псевдографикой блочки разных оттенков, типа графика, причем представление информации должно быть именно таким (граафик и т.п не подходит).

2Girder: К сожалению, не спасает... Данные для вывода формируются уж очень сложно, зависят от четырех разных потоков - никак в консоль не завернуть.... К тому же они отображаются еще и в другом представлении.


Это сообщение отредактировал(а) Ibragim - 22.10.2004, 18:38
PM MAIL   Вверх
Ibragim
Дата 22.10.2004, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 28.9.2004
Где: Киев

Репутация: нет
Всего: нет



2 pOsOl спасибо, ваш вариант самый простой и удачный. Осталась одна проблема - убирать тот текст что уходит вверх, чтобы была имитация окна как в досе. То есть скрол не нужен, нужно чтобы просто текст уходящий вверх "исчезал".
Ничего не насоветуете?

PS Спасибо всем откликнувшимся!
PM MAIL   Вверх
Pakshin A. S.
Дата 22.10.2004, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Как я понял, речь о Memo...
Код

if Memo.Lines.Count =  MaxCount
 then
  Memo1.Lines.Delete(0);
Memo1.Lines.Add('some text');

Вроде так...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0661 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.