Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2011, 02:13   #1
tema654
Пользователь
 
Регистрация: 11.10.2010
Сообщений: 49
Печаль Вертикальный текст.

Код:
uses graph,crt;
  const def_bk_color=0;
         {default background color}
     def_font=8;                 {default font}
    def_color=white;                {color of element}
    choice_color=red;             {color of chosen element}
    drv_path='c:\pascal\bgi';   {driver path}
  var d,m,e:integer;
 a:array[1..10] of string;
 i,n:byte;
 break_flag:boolean;
 procedure redraw(z:shortint);
 begin setbkcolor(def_bk_color);
 for i:=1 to 3 do begin
  settextstyle(0,1,i);
 if(i=z) then setcolor(choice_color);
   outtextxy(round(getmaxx/2)-round(textwidth(a[i])/3), round(getmaxy/5)+textheight(a[i])*(i-(round(n/5)+1)),a[i]);
  if(i=z) then setcolor(def_color);
  {if (i=z) then charsize(10); }
  end;

  for i:=4 to 4  do begin
  settextstyle(0,1,3);
 if(i=z) then setcolor(choice_color);
   outtextxy(round(getmaxx/1.5)-round(textwidth(a[i])/3), round(getmaxy/6.5)+textheight(a[i])*(i-(round(n/5)+1)),a[i]);
  if(i=z) then setcolor(def_color);
  {if (i=z) then charsize(10);}
  end;

  for i:=5 to 5  do begin
  settextstyle(0,1,2);
 if(i=z) then setcolor(choice_color);
   outtextxy(round(getmaxx/1.72)-round(textwidth(a[i])/3), round(getmaxy/10)+textheight(a[i])*(i-(round(n/5)+1)),a[i]);
  if(i=z) then setcolor(def_color);
  {if (i=z) then charsize(10); }
  end;

  end;
  function call_menu:shortint;
    var z:shortint;
   c:char;
 begin z:=1;
 repeat
redraw(z);
 c:=readkey;
 case c of
 #77:dec(z);
 #75:inc(z);
 #27:break_flag:=true;
  end;
 if(z<1) then z:=n;
 if(z>n) then z:=1;
  until c=#13;
 call_menu:=z;
 end;
  procedure exec_handler(z:shortint);
 var
  s:string;
 begin cleardevice;
str(z,s);
 s:='You choose select. Enter for back';
 settextstyle(0,0,1);
 setcolor(yellow);
 outtextxy(round(getmaxx/2.5)-round(textwidth(s)/3),round(getmaxy/1.5)-round(textheight(s)/1.5),s);
 readln;
 cleardevice;
 end;
  begin {clrscr;}
  d:=detect;
  m:=2;
 {readln(n);
  for i:=1 to n do readln(a[i]);}
  n:=5;
 a[1]:='  Exit   ';
 a[2]:=' Select  ';
 a[3]:=' Select  ';
 a[4]:=' Select  ';
 a[5]:=' Select  ';
 initgraph(d,m,drv_path);
 break_flag:=false;
  e:=graphresult;
 if e<>grok then begin     writeln(grapherrormsg(e));
   readln;
    halt(1);
 end;
   repeat exec_handler(call_menu);
 until break_flag;
   end.
Как мне сделать чтобы выводился на экран текст вертикально по человечески? И выход из программы осуществлялся нажатием клавиши Enter по Exit.
Спасибо!



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 31.03.2011 в 08:45.
tema654 вне форума Ответить с цитированием
Старый 31.03.2011, 10:30   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
   SetTextStyle( SansSerifFont, VertDir, 4 );
   OutTextXY( 290, 119, 'Punkt 1' );
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделить вертикальный блок kwwsoft C++ Builder 4 18.02.2011 18:36
Вертикальный скроллинг по ListBox Kveldulv Microsoft Office Excel 6 25.02.2010 16:22
Вертикальный график Araver Общие вопросы Delphi 8 29.06.2009 08:16
вертикальный график в excel Slavik Помощь студентам 3 02.12.2008 08:44
Вертикальный StaticText Abbatik Помощь студентам 1 21.02.2008 00:00