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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помощь с графикой 
:(
    Опции темы
Agentum
Дата 15.12.2008, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ребят,помогите переделать программу,чтобы цвет менялся сам,а не по нажатию клавиши и чтобы как нибудь красиво вывелось слово "ргр"
Код

uses Graph,crt;
label bye;
const
k=0.01745;
var
r:integer;
x0,y0,x,y:integer;
p:array[1..10] of PointType;
a,i:integer;
grDriver,grMode,ErrCode,res:integer;
begin
grDriver:=detect;
InitGraph(grDriver, grMode,'c:\bp\bgi');
ErrCode:=GraphResult;
if ErrCode <> grOk then
begin
writeln('error');
goto bye;
end;
x0:=320;
y0:=240; r:=200;
a:=18;
for i:=1 to 10 do
begin
if (i mod 2) <> 0 then begin
p[i].x:=x0+Round(r*cos(a*k)); p[i].y:=y0-Round(r*sin(a*k)); end else
begin
p[i].x:=x0+Round(r/2*cos(a*k)); p[i].y:=y0-Round(r/2*sin(a*k)); end;
a:=a+36;
if a>360 then a:=18;
end;
for i:=1 to 15 do
begin
SetFillStyle(SolidFill,i); FillPoly(10,p);
readln; bye:
end;
end.


Это сообщение отредактировал(а) volvo877 - 16.12.2008, 09:45
PM MAIL   Вверх
volvo877
Дата 16.12.2008, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

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



В-первых, избавляемся от GoTo, во-вторых, вместо ReadLn ставим задержку (Delay), в третьих - выводим текст, скажем, готическим шрифтом (говорю сразу, у меня кириллица в НЕЮникодном виде не поддерживается, поэтому я вывел латинский текст, но вот тут лежат Русифицированные BGI фонты, которые позволяют работать с кириллицей...)

Код

uses graph, crt;
const
  k = 0.01745;

var
  r:integer;
  x0,y0,x,y:integer;
  p:array[1..10] of PointType;
  a,i:integer;
  grDriver, grMode, ErrCode: integer;
begin
  grDriver := detect;
  InitGraph(grDriver, grMode,'c:\bp\bgi');
  ErrCode := GraphResult;
  if ErrCode <> grOk then begin
    writeln('error: ', grapherrormsg(errcode)); readln; halt;
  end
  else begin
    x0 := 320;
    y0 := 240; r := 200;
    a := 18;
    for i := 1 to 10 do begin
      if (i mod 2) <> 0 then begin
        p[i].x:=x0+Round(r*cos(a*k)); p[i].y:=y0-Round(r*sin(a*k));
      end
      else begin
        p[i].x:=x0+Round(r/2*cos(a*k)); p[i].y:=y0-Round(r/2*sin(a*k));
      end;
      a := a+36;

      if a>360 then a:=18;
    end;

    settextstyle(gothicfont, horizdir, 5);
    settextjustify(centertext, centertext);
    setcolor(yellow);
    outtextxy(getmaxx div 2, getmaxy - textheight('W'), 'RGR');
    readln;

    for i:=1 to 15 do begin
      SetFillStyle(SolidFill,i); FillPoly(10,p);
      delay(22000);
    end;
    closegraph;
  end;
end.


P.S. Да, и пользуйся кнопкой "Код"...
PM MAIL   Вверх
Agentum
Дата 16.12.2008, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибо огромное,а русики у меня стоят уже.smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

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

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

2. Публиковать ссылки на варез

3. Оффтопить

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

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

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


 




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


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

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