RSS    

   Реферат: Языки и технологии программирования

settextjustify(CENTER_TEXT,CENTER_TEXT);

midx=getmaxx()/2;

midy=getmaxy()/2;

outtextxy( midx,midy-40,"This programm will demonstrate to you all graphics");

outtextxy( midx,midy+40,"functions of the C++ language");getch();clearviewport();

 for (i=0;i<11;i++)

   {

    settextstyle(i,0,0);

    outtextxy(midx,midy-40,"This text is write by ");

    outtextxy(midx,midy+40,Fonts[i]);

    getch();clearviewport();

   }

  settextstyle(0,1,1); //вывод вертикального текста

  outtextxy(midx,midy,"This programm created by Grinjoff Mark");

 settextstyle(0,0,0);/*возвращениеи исходного начертания текста */

getch();

clearviewport();

 }

//

//функция демонстрации рисования дуг и многоугольников

//

void demoarcs(void)

{

int poly[10];

MainWindow( "Arcs and polygons demonstration" );

StatusLine( "Press any key to continue..." );

xmax=getmaxx();

ymax=getmaxy();

i=0;

//рисование дуг с произвольным расположением и цветом

do

{

  i++;

  setcolor(random( MaxColors - random(15) ) + random(15));

  arc(random(xmax),random(ymax),random(358),random(358),random(100));

  if(i>10000) {clearviewport();i=0;}

}

 while( !kbhit() ); // повторение пока не нажата клавиша

getch();

clearviewport();

i=0;

//рисование многоугольников с произвольным цветом

do

{

  i++;

   poly[0] = random(i+random(20));//1-вершина

   poly[1] = random(random(ymax)/i+2);

   poly[2] = xmax-(i+20); /* 2-я */

   poly[3] = i+20;

   poly[4] = xmax-(i+50); /* 3-я */

   poly[5] = ymax-(i+20);

   poly[6] = i+xmax/2;  /* 4-я */

   poly[7] = i+ymax/2;

/*

   drawpoly  автоматически не закрывает многоугольник

   поэтому необходимо это сделать самому

*/

   poly[8] = poly[0];

   poly[9] = poly[1];

//рисует многоугольники, изменяя координаты вершин

  setcolor(random( MaxColors - random(15) ) + random(15));

  drawpoly(5, poly);

  if(i>1000) {clearviewport();i=0;}

}

 while( !kbhit() ); // повторение пока не нажата клавиша

getch();

clearviewport();

}

//

//функция демонстрации закрашеных многоугольников и //цветов

//

void demobars(void)

{

 MainWindow( "Bars and colors demonstration" );

 StatusLine( "Press any key to continue..." );

 int kxb=15,kyb=15;

 double stx,sty,x,y;

 stx=floor(getmaxx()/kxb);

 sty=floor(getmaxy()/kyb);

  do

{

   for(x=3;x<getmaxx();x+=stx){

   for(y=3;y<getmaxy();y+=sty){

    setcolor(random( MaxColors - random(15) ) + random(15));

    setfillstyle(SOLID_FILL,random(getmaxcolor()));

    bar(x+3,y+3,x+stx-3,y+sty-3);}}

}

while( !kbhit() ); // повторение пока не нажата клавиша

getch();

clearviewport();

}

//   

//функция демонстрации трехмерных прямоугольников           

//

void demo3dbars(void)

{

  int i;

  MainWindow( "3D Bars demonstration" );

  StatusLine( "Press any key to continue..." );

do

  {

    i++;

    setcolor(random( MaxColors - random(15) ) + random(15));

    setfillstyle(random(5),random(getmaxcolor()));

    bar3d( random( getmaxx() ), random( getmaxy() ),

       random( getmaxx() ), random( getmaxy() ),10,1);

   for(float j=0;j<50000;j++);//эмулятор задержки

  if(i>100) {clearviewport();i=0;}

  }

while( !kbhit() ); // повторение пока не нажата клавиша

getch();

clearviewport();

}

//

//функция создания завершающей страницы

//

void endpage(void)

{

     MainWindow( "The cycle" );

     StatusLine( "Press any key to continue..." );

int i,j,rad=50;

do

{

  for (i=0;i<359;i++)

    {

     setcolor(random( MaxColors - random(15) ) + random(15));

     pieslice(60,60,i,i+1,rad);

     pieslice(580,60,i,i+1,rad);

     pieslice(60,390,i,i+1,rad);

     pieslice(580,390,i,i+1,rad);

    }

  for (i=0;i<getmaxx();i++)

   {

    setcolor(random( MaxColors - random(15) ) + random(15));

    line(getmaxx()/2,10,i,getmaxy()/2);

    line(getmaxx()/2,440,i,getmaxy()/2);

   }

  setcolor(0);

  for (i=0;i<getmaxx();i++)

   {

    line(getmaxx()/2,10,i,getmaxy()/2);

    line(getmaxx()/2,440,i,getmaxy()/2);

   }

}

while( !kbhit() ); // повторение пока не нажата клавиша

getch();

clearviewport();

}

//

//функция калейдоскопа

//

void endpage1(void)

{

  MainWindow( "The simple kaleidoscope" );

  StatusLine( "Press any key for exit to DOS" );

int koord1[4],koord2[4],koord3[4];

//получение координат исходной линии

 koord1[0]=random((getmaxx()/2)+10);

 koord1[1]=random((getmaxy()/2)+10);

 koord1[2]=random((getmaxx()/2)+10);

 koord1[3]=random((getmaxy()/2)+10);

//получение координат конечной линии

 koord2[0]=random((getmaxx()/2)+10);

 koord2[1]=random((getmaxy()/2)+10);

 koord2[2]=random((getmaxx()/2)+10);

 koord2[3]=random((getmaxy()/2)+10);

//прорисовка

do

{

for (float t=0;t<1;t=t+0.01) //количество линий

{

  for (int l=0;l<4;l++) //нахождение координат движения //линии

   {koord3[l]=floor(koord2[l]*(1-t)+koord1[l]*t);}

  setcolor(random( MaxColors - random(15) ) + random(15));

  line(koord3[0],koord3[1],koord3[2],koord3[3]); //первая //четверть

  line(getmaxx()-koord3[0],koord3[1],getmaxx()-koord3[2],koord3[3]);//вторая четверть

  line(koord3[0],getmaxy()-koord3[1],koord3[2],getmaxy()-koord3[3]);//третья четверть

  line(getmaxx()-koord3[0],getmaxy()-koord3[1],

       getmaxx()-koord3[2],getmaxy()-koord3[3]);//четвертая четверть

 }

  for (int p=0;p<4;p++)//переприсвоение координат

  {koord2[p]=koord1[p];}

//получение новых координат первой линии

koord1[0]=random(getmaxx()/2);

koord1[1]=random(getmaxy()/2);

koord1[2]=random(getmaxx()/2);

koord1[3]=random(getmaxy()/2);

}

while( !kbhit() ); // повторение пока не нажата клавиша

getch();

clearviewport();

}

//

//последняя страница

//

void endpage2(void)

{

  MainWindow( "The end" );

  StatusLine( "Press any key for exit to DOS" );

do

{

    settextstyle(BOLD_FONT,0,2);

    outtextxy(getmaxx()/2,getmaxy()/2,"The end ");

}

while( !kbhit() );

getch();

clearviewport();

}

//

//функция создания графического окна

//

void MainWindow( char *header )

{

  int height;

   xmax=getmaxx();

   ymax=getmaxy();

  cleardevice();//очистка экрана

  setcolor( MaxColors - 2 );//установка текущего цвета //белым

  setviewport( 0, 0, xmax, ymax, 1 );//открыть окно во //весь экран

  height = textheight( "H" );//установить начальную высоту //текста

  settextjustify( CENTER_TEXT, TOP_TEXT );

  outtextxy( xmax/2, 2, header );

  setviewport( 0, height+4, xmax, ymax-(height+4), 1 );

  DrawBorder();

  setviewport( 1, height+5, xmax-1, ymax-(height+5), 1 );

}

//

//функция создания строки статуса в нижней части экрана

//

void StatusLine( char *msg )

{

  int height;

   xmax=getmaxx();

   ymax=getmaxy();

  setviewport( 0, 0, xmax, ymax, 1 ); //открыть окно во //весь экран

  setcolor( MaxColors - 1 ); //установка текущего цвета //черным

  settextjustify( CENTER_TEXT, TOP_TEXT );

  setlinestyle( SOLID_LINE, 0, NORM_WIDTH );

  setfillstyle( EMPTY_FILL, 0 );

  height = textheight( "H" );//установка текущей высоты //текста

  bar( 0, ymax-(height+4), xmax, ymax );

  rectangle( 0, ymax-(height+4), xmax, ymax );

  outtextxy( xmax/2, ymax-(height+2), msg );

  setviewport( 1, height+5, xmax-1, ymax-(height+5), 1 );

}

//

//функция, образующая границу графического окна

//

void DrawBorder(void)

{

//  struct viewporttype vp;

  setcolor( MaxColors - 1 );//установка текущего цвета //белым

  setlinestyle( SOLID_LINE, 0, NORM_WIDTH );

 // getviewsettings( &vp );

  rectangle( 0, 0, getmaxx(), getmaxy() );

}

приложение 3

Program Notebook;

{программа обслуживает файлы данных "записной книжки".}

Uses App, Objects, Menus, Drivers, Views, StdDlg, DOS, Memory, Dialogs;

type

{объект TWorkWin создает рамочное окно  с полосами прокрутки для

управления встроенным в него объектом TInterrior}

 PWorkWin =^TWorkWin;

 TWorkWin = object (TWindow)

  Constructor Init(Bounds: Trect);

 end;

{Объект TDlgWin создает диалоговое окно для выбора режима работы}

PDlgWin =^TDlgWin;

TDlgWin = object (TDialog)

  Procedure HandleEvent (var Event: TEvent); Virtual;

  end;

{Следующий объект обуславливает внутреннюю часть рамочного окна TWorkWin. Он

создает прокручиваемое окно с записями из архивного файла и с помощью диало-

Страницы: 1, 2, 3, 4, 5, 6, 7


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

© 2010.