Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Есть ли примеры графической консоли или как ее лючше написать?


bav123 ©   (2007-02-13 15:19:00) 

Есть потребность написать простую графическую консоль.
Которая должна вы выводить текстовую информацию + картинки. Короче что-то типа телнет эмулятора терминала с картинками. Или что-то типа VNC или RemoteDesctop, только проще.
Сам сервер стесьно есть, с сетевым взаимодействием и протоколом обмена тоже "ок", вопрос как лучше и при помощи чего написать клиентскую часть, которая будет отрисовывать саму картинку консоли ?

Есть ли примеры написания подобных приложений? Или может кто даст совет с помощью каких классов это можно реализовать.
Благодарю всех откликнувшихся.
PS
Если на форме Canvas' ом, то не оч красиво и шустро получиться рисовать.


bav123   (2007-02-16 12:55:00) [1]

О да, то что надо. И скорость и ве остальное. Благодарю!!!


Сергей М.   (2007-02-16 12:14:00) [2]


> Вот если б можно было рисовать по объекту TGraphic, и потом
> только его выводить, то это решенние.


Не надо по Graphic рисовать, он для другого предназначен.

Создавай TBitmap, рисуй на его канве все что вздумается, а потом копируй целиком канву битмапа на канву формы.


bav123   (2007-02-16 12:07:00) [3]

Нужно выводить текст + картинки, т.е.
TextOut или TextRect + Draw. С сервера идут команды вывода символов + картинокв в нужную позицию.

Вот если б можно было рисовать по объекту TGraphic, и потом только его выводить, то это решенние. Но я подобным раньше не занимался. По этому и спрашиваю совета, как лучше решить поставленную задачу.


Сергей М.   (2007-02-15 12:08:00) [4]

А зачем тебе вызовы Rectangle и TextOut ?
Для твоей задачи достаточно вызова Draw


bav123   (2007-02-15 11:00:00) [5]

В билдере правда делал, но разници большой нет...
вот код:

int wd = 10;
int hd = 10;
for (int k=1;k<10;k++)
{

Form1->Canvas->Lock();
for (int i = 1;i<100;i++)
{
//  Form1->Canvas->Pen->Color = clRed;
  for (int j = 1;j<100;j++)
   {
    R.Left = i*wd;
    R.Right = (i*wd)+wd;
    R.Top = j*hd;
    R.Bottom = (j*hd)+hd;
    //Form1->Canvas->FillRect(R);
    Form1->Canvas->Rectangle(R.Left,R.Top,R.Right,R.Bottom);
    Form1->Canvas->TextOutA(R.Left,R.Top,IntToStr(k));
   }
}
Form1->Canvas->Unlock();
}

Может, подскажешь что не так. Буду оч благодарен.


Сергей М.   (2007-02-15 10:35:00) [6]

Значит неправильно выводил


bav123   (2007-02-14 18:02:00) [7]

сделал простой тест, выводил квадратики 100 на 100 и в них буковку "A"
в цикле 10 раз.
Не шибко шустро работает, к сожалению.


Сергей М.   (2007-02-14 08:14:00) [8]


> А не получиться это стрельба из пушки по воробьям ?


А в чем, по-твоему, заключается "неочкрасивость" и "нешустрость" в случае "рогатки" под названием Canvas ?


bav123   (2007-02-13 18:16:00) [9]

А не получиться это стрельба из пушки по воробьям ??


Сергей М.   (2007-02-13 15:24:00) [10]


> при помощи чего написать клиентскую часть, которая будет
> отрисовывать саму картинку консоли ?


> на форме Canvas' ом, то не оч красиво и шустро получиться
> рисовать.


Для "шустряков" придумана технология DirectDraw


Наверх

Титульная страница Поиск, карта сайта Написать письмо