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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2011, 17:34   #1
ms.yur
 
Регистрация: 31.03.2011
Сообщений: 9
По умолчанию как розукрасить текст при выводе

помогите плиз

у меня есть строка
write(' ',e,' ',p[e,1],p[e,2],p[e,3],p[e,4],p[e,5],p[e,6],p[e,7],p[e,8],p[e,9],' ',p[e,10]);

как зделать чтобы значения p[e,1],p[e,2] ... выводились в цвете
ms.yur вне форума Ответить с цитированием
Старый 31.03.2011, 18:01   #2
bondik
Форумчанин
 
Регистрация: 24.04.2008
Сообщений: 300
По умолчанию

ну сначала я бы вам посоветовал орфографию поучить, а потом
Код:
interface

{ установка параметров вывода текста }
procedure SetTextParm(color,bkcolor,typetext:byte);
{       color    - цвет текста                        }
{       bkcolor  - цвет фона                          }
{       typetext = 0 - прозрачный фон                 }
{       typetext = 1 - непрозрачный фон               }

{ запрос текущих параметров }
procedure GetTextParm(var color,bkcolor,typetext:byte);

{вывод текста по координатам x,y (верхний левый угол)}
procedure PutText(x,y:word;text:string);

{вывод символа по координатам x,y (верхний левый угол)}
procedure PutChar(x,y:word;chr:char);

implementation
uses dos;
type
  FTType = array[0..255,0..7]of byte;     {для шрифта}
const
  Colors : array[0..15]of byte =
           (  0,  2, 20, 22,160,162,172,182,
            109,111,125,127,237,239,253,255);
           {цвета, соответствующие номерам 0-15}
var
  FontTable : ^FTType;                {таблица шрифта}
  Color1,bkColor1 : byte;
            {номера <стандартных> цветов текста и фона}
  Color2,bkColor2 : byte;
      {номера цветов текста и фона в выбранной палитре}
  TextType : byte; {способ вывода (прозрачно или нет)}

procedure SetTextParm(color,bkcolor,typetext:byte);
begin
  Color1   := color;
  bkColor1 := bkcolor;
  TextType := typetext;
  Color2   := Colors[Color1];
  bkColor2 := Colors[bkColor1];
end;

procedure GetTextParm(var color,bkcolor,typetext:byte);
begin
  color    := Color1;
  bkcolor  := bkColor1;
  typetext := TextType;
end;

procedure PutText(x,y:word;text:string);
var
  i:word;
begin
  if(byte(text[0])>0)then
    for i := 1 to byte(text[0]) do
      putchar(x+8*(i-1),y,text[i])
end;

procedure PutPixel(x,y:word;c:byte);     {вывод точки}
begin
  mem[SegA000:x+y*320] := c;
end;

function getpixel(x,y:word):byte; {запрос цвета точки}
begin
  getpixel := mem[SegA000:x+y*320];
end;

procedure putchar(x,y:word;chr:char);
var
  i,j,k,l : word;
  cc,bb : byte;
begin
  l := byte(chr);
  case TextType of
    0: for i := 0 to 7 do          { прозрачный фон }
         for j := 0 to 7 do
           if (FontTable^[l,i] and
              (1 shl (7-j)) <> 0) then
              putpixel(x+j,y+i,Color2);
    1: for i := 0 to 7 do        { непрозрачный фон }
         for j := 0 to 7 do
           if (FontTable^[l,i] and
              (1 shl (7-j)) <> 0) then
              putpixel(x+j,y+i,Color2)
           else putpixel(x+j,y+i,bkColor2);
  end;
end;

var r : registers;

begin  {инициализация - получаем адрес таблицы шрифтов}
  r.ax := $1130;
  r.bh := 3;
  intr($10,r);
  FontTable := ptr(r.es,r.bp);
  Color1   := 15;      {заносим величины по умолчанию}
  bkColor1 :=  0;
  TextType :=  1;
  Color2   := Colors[Color1];
  bkColor2 := Colors[bkColor1];
end.
bondik вне форума Ответить с цитированием
Старый 31.03.2011, 18:25   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а так не проще?
Код:
uses CRT;
var i,e : integer;
  p : array[1..1,1..10] of integer;
begin
  e := 1;
  for i:=1 to 10 do p[e,i] := i*10;

  WriteLn;
  TextColor(LightGreen);
  write(' e = ',e,' ');
  for i:=1 to 10 do begin
    TextColor(i);    
    Write(p[e,i]);
  end;
  WriteLn;
  readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 31.03.2011, 21:21   #4
ms.yur
 
Регистрация: 31.03.2011
Сообщений: 9
По умолчанию

спасибо, получилось
ms.yur вне форума Ответить с цитированием
Старый 01.04.2011, 17:41   #5
WebbMan
Форумчанин
 
Регистрация: 16.01.2011
Сообщений: 168
По умолчанию

Спасибо Serge_Bliznykov, bondik за примеры, запишу, пригодиться...
WebbMan вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при выводе trad Общие вопросы C/C++ 7 15.01.2011 11:32
Кракозябры при выводе Syltan HTML и CSS 4 11.12.2010 19:59
Как вводить полные инициалы в массив структур и как при выводе не отображать слово none несколько раз? -ushёl- Помощь студентам 2 02.01.2010 14:13
Как задать курсив и вид шрифта при выводе на экран? prikolist Помощь студентам 4 20.06.2008 14:54