404

Разработка программы реализирующей цветное движущееся изображение

Курсовая

Информатика, кибернетика и программирование

написание программы для DOS и Windows, отображающую рисование дворников автомобиля. Предусмотрение возможности задания скорости исполнения и приостановки/возобновления выполнения по нажатию клавиши на клавиатуре или мыши (для версии под Windows).

Русский

2013-01-06

97 KB

20 чел.

Министерство образования РФ

Южно-Уральский государственный университет

Кафедра ЭВМ

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе

по компьютерной графике

Выполнил:

студент группы ПС-479

Горра О.С.

 «8»января 2002

Проверила:

Ярош Е.С.

       «    »                        .

Челябинск

2012


ЮУрГУ

Факультет ПС

Кафедра ЭВМ

Задание

по курсовой работе

студенту группы ПС-479 Горра О.С.

1. Тема работы: разработать программу, реализующую цветное движущееся изображение.

2. Срок сдачи работы ___________.

3. Исходные данные к работе: написать программу для DOS и Windows, отображающую рисование дворников автомобиля. Предусмотреть возможность задания скорости исполнения  и приостановки/возобновления выполнения по нажатию клавиши на клавиатуре или мыши (для версии под Windows).

4. Содержание расчётно - пояснительной записки должно соответствовать ГОСТам ЕСПД.

5. Дата выдачи задания ___________.

Руководитель Ярош Е.С.

Задание принял к исполнению ___________

Подпись студента __________

СОДЕРЖАНИЕ

Общие сведения и функциональное назначение 4

Описание логической структуры 4

Используемые технические средства 5

Вызов и загрузка 5

Входные и выходные данные 5

Системные  требования  5

ПРИЛОЖЕНИЕ 1. Текст программы для Windows 7

ПРИЛОЖЕНИЕ 2. Текст программы для DOS 8


Общие сведения и функциональное назначение

 Версия программы для DOS содержится в файле dvor_dos.exe и представляет собой независимый модуль, запускаемый из DOS. Он требует присутствия в текущем каталоге файла egavga.bgi. Параметры вводятся в командной строке, при пустой командной строке подставляются значения по умолчанию. Программа написана на языке C в среде Borland C++ 5.02.

Версия для MS Windows содержится в файле dvor_win.exe и запускается из среды Windows. Здесь параметры вводтся в форме задания значений. Программа написана на языке С++ в среде Borland C++ 5.02.

После запуска программы на экране рисуются дворники очищающие стекло от дождя. Скорость анимации можно изменять в соответствии с желанием пользователя и возможностями аппаратуры. В процессе работы анимация может быть остановлена по нажатию клавиши на клавиатуре (и мыши в версии для Windows).

Описание логической структуры 

Текст программы для Windows содержится в Приложении 1, для DOS - в Приложении 2.

Главной частью программы под Windows является цикл обработки сообщений. В нем обрабатываются сообщения:

WM_CREATE - производится инициализация переменных начальными значениями и запускается таймер;

WM_DESTROY – позволяет закрыть окно, освободив все системные ресурсы;

WM_CHAR - интерпретирует нажатие клавиши на клавиатуре: если нажата клавиша “-”, то пауза между перерисовками уменьшается на 1мс; “+” - увеличивается на 1мс. При нажатии любой другой клавиши рост диаграммы приостанавливается до следующего нажатия;

WM_LBUTTONDOWN - срабатывает на нажатие левой клавиши мыши. Рост диаграмм останавливается до следующего нажатия;

WM_TIMER - приходит, когда таймер отсчитывает заданный промежуток времени. По приходу этого сообщения дворник перемещается на одно деление.   

В версии программы для DOS главной процедурой является DrawD.

Эта процедура отображает работу дворников  с заданной скоростью, а так же осуществляет прорисовку. Движение дворника может быть приостановлено/возобновлено нажатием любой клавиши на клавиатуре.

Используемые технические средства

Для работы DOS-версии требуется наличие EGA адаптера или лучше.

Для работы Windows-версии нужен видеоадаптер, совместимый с Windows.

Вызов и загрузка 

Для запуска DOS-версии необходимо запустить файл dvor_dos.exe из командной строки или любой файловой оболочки.

Windows-версия начинает работать после запуска файла dvor_win.exe.

Входные и выходные данные

Для DOS и Windows-версии значение задержки при запуске программы устанавливается равным 100 мс, и пользователь может менять его в процессе работы программы.

Результат работы программ одинаков - последовательность кадров. Вид экрана на заключительном этапе работы программ показан на рис. 1 (DOS), и рис. 2 (Windows).

Системные  требования

 Для  программы  dvor_dos.exe  (DOS).

-  Операционная  система . . DOS 4.0  и  выше;

-  Процессор . . . . Intel 386 и совместимые.

 Для  программы  dvor_win.exe  (Windows).

-  Операционная  система . . Windows 3.1 и выше;

-  Процессор . . . . Intel 386 и совместимые.


Рис. 1. Фрагмент работы программы dvor_dos.exe.

Рис. 2. Фрагмент работы программы diag_win.exe.


ПРИЛОЖЕНИЕ 1. Текст программы для Windows

#define STRICT

#include <windows.h>

#include <windowsx.h>

#include <mem.h>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <math.h>

#include <geometry.h>

#include "menu.hpp"

// Прототипы функций

BOOL InitApp(HINSTANCE);

LRESULT CALLBACK _export WndProc(HWND, UINT, WPARAM, LPARAM);

BOOL CALLBACK _export DlgProc(HWND, UINT, WPARAM, LPARAM);

HINSTANCE hInstance;

const int maxx=400;

const int maxy=380;

const int dx=200;

const int dy=200;

int speed=5;

int stop=0;

int j=0;

int dir;

HDC hdc, hMemDC;

HBITMAP memBM,  hMemOldBitmap;

#pragma argsused

void line(HDC hdc,int x1, int y1, int x2, int y2){

MoveToEx(hdc,x1,y1,NULL);

  LineTo(hdc,x2,y2);

}

#pragma argsused

//==================================

//функция рисования вывода времени

//==================================

void DrawTime (HDC hdc)

{

char str[10];

itoa(19-speed,str,10);

SetBkMode(hdc, TRANSPARENT);

TextOut(hdc,0,0,"Current speed :",15);

TextOut(hdc,120,0,str,lstrlen(str));

}

//=================

//функция рисования

//=================

void DrawHammer(HDC hdc, int h)

{

HBRUSH HammerBrush1, HammerBrush2, OldBrush;

HPEN OldPen, HammerPen1, HammerPen2;

  HammerBrush1=CreateSolidBrush(RGB(255,0,0));

HammerBrush2=CreateSolidBrush(RGB(255,255,255));

HammerPen1=CreatePen(PS_SOLID,3,RGB(0,0,0));

  HammerPen2=CreatePen(PS_SOLID,3,RGB(255,255,255));

  OldPen=SelectPen(hdc,HammerPen2);

SelectObject(hdc,HammerBrush2);

  if (stop==0) {

  if (h!=0){

  Pie(hdc,40,120,240,320,220+220*cos(h*0.008),260-260*sin(h*0.008),180+180*cos(h*0.008),220-220*sin(h*0.008));

  Pie(hdc,145,120,345,320,345+345*cos(h*0.008),260-260*sin(h*0.008),280+280*cos(h*0.008),220-220*sin(h*0.008));}

  SelectPen(hdc,HammerPen1);

  line(hdc,140,220,140+100*cos(h*0.007),220-100*sin(h*0.007));

  line(hdc,245,220,245+100*cos(h*0.007),220-100*sin(h*0.007));

   if (dir==0) {line(hdc,140,220,140+100,220);}

  AngleArc(hdc,140,340,100,5,5);

  if (dir>0) h-=20;

  else h+=20;

 SelectPen(hdc,HammerPen2);

  line(hdc,140,220,140+100*cos(h*0.007),220-100*sin(h*0.007));

  line(hdc,245,220,245+100*cos(h*0.007),220-100*sin(h*0.007));

  if (dir>0) h+=20;

  else h-=20;

  for (int qw=0;qw<30;qw++) SetPixel(hMemDC,80+random(350),100+random(200),RGB(0,0,255));

}else line(hdc,140,220,140+100,220);

  SelectObject(hdc,OldBrush);

SelectObject(hdc,OldPen);

DeleteObject(HammerBrush1);

DeleteObject(HammerBrush2);

DeleteObject(HammerPen1);

  DeleteObject(HammerPen2);

}

//-----------------------

//функция очистки битмэпа

//-----------------------

void Clear(HDC hdc, int x1, int y1, int x2, int y2)

{

HBRUSH WhiteBrush, OldBrush;

HPEN OldPen, WhitePen;

WhiteBrush=CreateSolidBrush(RGB(255,255,255));

WhitePen=CreatePen(PS_SOLID,1,RGB(255,255,255));

OldBrush=(HBRUSH)SelectObject(hdc,WhiteBrush);

OldPen=SelectPen(hdc,WhitePen);

Rectangle(hdc,x1, y1, x2, y2);

SelectObject(hdc,OldBrush);

SelectObject(hdc,OldPen);

DeleteObject(WhiteBrush);

DeleteObject(WhitePen);

}

// Имя класса окна

char const szClassName[]   = "MenuClass";

// Заголовок окна

char const szWindowTitle[] = "Дворники";

// =====================================

// Функция WinMain

// =====================================

#pragma argsused

int PASCAL

WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR     lpszCmdLine,

int       nCmdShow)

{

 MSG  msg;   // структура для работы с сообщениями

 HWND hwnd;  // идентификатор главного окна приложения

::hInstance = hInstance;

 // Инициализируем приложение

 if(!InitApp(hInstance))

 return FALSE;

 // После успешной инициализации приложения создаем

 // главное окно приложения

 hwnd = CreateWindow(

 szClassName,         // имя класса окна

 szWindowTitle,       // заголовок окна

 WS_OVERLAPPED | WS_SYSMENU, // стиль окна

 CW_USEDEFAULT,       // задаем размеры и расположение

 CW_USEDEFAULT,       // окна, принятые по умолчанию

 maxx,maxy,

 0,                   // идентификатор родительского окна

 0,                   // идентификатор меню

 hInstance,           // идентификатор приложения

 NULL);               // указатель на дополнительные

        // параметры

 // Если создать окно не удалось, завершаем приложение

 if(!hwnd)

 return FALSE;

 // Рисуем главное окно

 ShowWindow(hwnd, nCmdShow);

 UpdateWindow(hwnd);

     Clear(hMemDC,0,0,400,350);

 // Запускаем цикл обработки сообщений

 while(GetMessage(&msg, 0, 0, 0))

 {

 DispatchMessage(&msg);

 }

 return msg.wParam;

}

// =====================================

// Функция InitApp

// Выполняет регистрацию класса окна

// =====================================

BOOL

InitApp(HINSTANCE hInstance)

{

 ATOM aWndClass; // атом для кода возврата

 WNDCLASS wc;    // структура для регистрации

     // класса окна

 // Записываем во все поля структуры нулевые значения

 memset(&wc, 0, sizeof(wc));

 // Подключаем меню

 wc.lpszMenuName  = "APP_MENU";

 wc.style         = 0;

 wc.lpfnWndProc   = (WNDPROC) WndProc;

 wc.cbClsExtra    = 0;

 wc.cbWndExtra    = 0;

 wc.hInstance     = hInstance;

//  wc.hIcon         = LoadIcon(NULL, IDI_APPLICATION);

 wc.hIcon         = LoadIcon(NULL, "a_jb");

 wc.hCursor       = LoadCursor(NULL, IDC_ARROW);

//  wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);

 wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);

//  wc.hbrBackground = (HBRUSH)(COLOR_APPWORKSPACE + 1);

 wc.lpszClassName = (LPSTR)szClassName;

 // Регистрация класса

 aWndClass = RegisterClass(&wc);

 return (aWndClass != 0);

}

// =====================================

// Функция WndProc

// =====================================

#pragma argsused

LRESULT CALLBACK _export

WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)

{

/*  PAINTSTRUCT ps;

 HDC hdc, hMemDC;

 HBITMAP memBM,  hMemOldBitmap;*/

 switch (msg)

 {

 case WM_CREATE:

 {

 hdc = GetDC(hwnd);

 hMemDC = CreateCompatibleDC(hdc);

 //выбираем битовое изображение в контексте памяти

 memBM = CreateCompatibleBitmap ( hdc,400,350 );

 //установаем его в конкест памяти:

 hMemOldBitmap=(HBITMAP)SelectObject ( hMemDC, memBM );

 SetTimer(hwnd,NULL,speed*25,NULL);

 return 0;

 }

 case WM_TIMER:

 {

     Clear(hMemDC,0,0,200,50);

 DrawHammer(hMemDC,j);

 DrawTime(hMemDC);

 if (j>=300) {dir=-20;}

 else

 {if (j<=0)

   {

  dir=20;

   }

 }

 if (!stop) j+=dir;

 BitBlt(hdc,0,0,400,350,hMemDC,0,0,SRCCOPY);

 return 0;

 }

   case WM_LBUTTONDOWN: // Нажали левую клавишу мыши

   {

     stop = !stop;  //нажата кнопка мыши - приостанавливаем

   return 0;

   }

 case WM_KEYDOWN:

 {

 if (wParam==0x6b){ //- - увеличение скорости

  KillTimer(hwnd,NULL);

  speed--; if (speed < 0) speed = 0;

  SetTimer(hwnd,NULL,speed*20,NULL);

  return 0;};

 if (wParam==0x6d){//+ - уменьшение скорости

  KillTimer(hwnd,NULL);

  speed++; if (speed>19) speed = 19;

  SetTimer(hwnd,NULL,speed*20,NULL);

  return 0;};

 stop = !stop; //если не + и не - приостанавливаем

 return 0;

 }

 case WM_COMMAND:

 {

 switch (wParam)

 {

   // Сообщения от меню

   case CM_HELPINDEX:

   {

   // На сообщение от любой строки меню кроме

   // завершающей работу программы реагируем

   // выводом сообщения об ошибке

   MessageBox(hwnd, "Функция не реализована",NULL, MB_OK);

   return 0;

   }

  case CM_HELPABOUT:

    {

   MessageBox(hwnd, "Дворники","About...", MB_OK);

    return 0;

    }

   // Завершаем работу приложения

   case CM_FILEEXIT:

   {

   KillTimer(hwnd,NULL);

   DestroyWindow(hwnd);

   return 0;

   }

   default:

   return 0;

 }

 }

 case WM_DESTROY:

 {

 SelectObject(hMemDC,hMemOldBitmap);

 //удаляем кисти и перья

 DeleteObject(memBM);//удаляем битмэп

 DeleteDC(hMemDC);//удаляем контекст памяти

 ReleaseDC(hwnd,hdc);

 PostQuitMessage(0);

 return 0;

 }

 default:

 break;

 }

 return DefWindowProc(hwnd, msg, wParam, lParam);

}


ПРИЛОЖЕНИЕ
2. Текст программы для DOS

#include <graphics.h>

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <dos.h>

#include <math.h>

void main()

{  int i,j,k,l,g,a,flag;

  int driver = EGA;

  int mode   = EGAHI;

  int   res;

// ----- Инициализируем графический режим

 initgraph (&driver,&mode,"" );

if ((res=graphresult())!=grOk) {printf("\nGraphics error: %s\n",grapherrormsg(res));exit(1);}

  settextjustify(CENTER_TEXT, CENTER_TEXT);

  setcolor(15);

  getch();

  j=250;

  k=30;

  a=0;

  g=0;

  flag=0;

  setfillstyle(6,0);

circle(150,280,10);

line(160,280,165,280);

outtextxy(140,250,"Speed of wiper");

outtextxy(150,260,"max");

outtextxy(150,300,"min");

outtextxy(340,260,"Idle time");

outtextxy(325,290,"min");

outtextxy(325,300,"max");

circle(350,280,10);

line(360,280,365,280);

  do {

  for(i=0;i<=30;)

   {setcolor(15);

   line(200,230,200+100*cos(i*0.07),230-100*sin(i*0.07));

   line(305,230,305+100*cos(i*0.07),230-100*sin(i*0.07));

   putpixel(100+random(400),130+random(100),12);

   delay(k);

   if (kbhit())l=getch();

   switch (l)

   {

    case 27:{exit(0);break;}

    case 42:{

    if ((k>=20)&(k<=50))

    { setcolor(16);

     line(150+10*cos(g*0.8),280-10*sin(g*0.8),150+15*cos(g*0.8),280-15*sin(g*0.8));

     k=k-10;

     g++;

     setcolor(15);

     line(150+10*cos(g*0.8),280-10*sin(g*0.8),150+15*cos(g*0.8),280-15*sin(g*0.8));

     }

    //if(j>=50) j=j-40;printf("j=%dk=%d",j,k);

    l=0;

    break;}

    case 45:{

    if(j>=50)

    //j=j-50;printf("j=%d",j);

    {

      setcolor(16);

     line(350+10*cos(a*0.8),280-10*sin(a*0.8),350+15*cos(a*0.8),280-15*sin(a*0.8));

     j=j-50;

     a++;

     setcolor(15);

     line(350+10*cos(a*0.8),280-10*sin(a*0.8),350+15*cos(a*0.8),280-15*sin(a*0.8));

      }

    l=0;break;}

    case 43:{

    //j=j+50;printf("j=%d",j);

    if(j<=350)

     {

      setcolor(16);

     line(350+10*cos(a*0.8),280-10*sin(a*0.8),350+15*cos(a*0.8),280-15*sin(a*0.8));

     j=j+50;

     a--;

     setcolor(15);

     line(350+10*cos(a*0.8),280-10*sin(a*0.8),350+15*cos(a*0.8),280-15*sin(a*0.8));

      }

    l=0;break;}

    case 47:{

    //k=k+10;

    if ((k>=10)&(k<50))

    { setcolor(16);

     line(150+10*cos(g*0.8),280-10*sin(g*0.8),150+15*cos(g*0.8),280-15*sin(g*0.8));

     k=k+10;

     g--;

     setcolor(15);

     line(150+10*cos(g*0.8),280-10*sin(g*0.8),150+15*cos(g*0.8),280-15*sin(g*0.8));

     }

    l=0;break;}

  case 13:

case 32:{ if (flag==0) while(!kbhit()); flag=1-flag; l=getch(); l=0; break;}

    default :break;

    }

   setcolor(16);

   sector(200,230,i*3.0,i*4.0+5,100,100);

   sector(305,230,i*3.0,i*4.0+5,100,100);

   line(200,230,200+100*cos(i*0.07),230-100*sin(i*0.07));

   line(305,230,305+100*cos(i*0.07),230-100*sin(i*0.07));

   i++;

   }

  for(i=30;i>=0;)

  {setcolor(15);

  line(200,230,200+100*cos(i*0.07),230-100*sin(i*0.07));

  line(305,230,305+100*cos(i*0.07),230-100*sin(i*0.07));

  putpixel(100+random(400),130+random(100),12);

  delay(k);

  if (kbhit())l=getch();

   switch (l)

   {

    case 27:{exit(0);break;}

    case 42:{

    //if (k>=20) k=k-10;

      if ((k>=20)&(k<=50))

    { setcolor(16);

     line(150+10*cos(g*0.8),280-10*sin(g*0.8),150+15*cos(g*0.8),280-15*sin(g*0.8));

     k=k-10;

     g++;

     setcolor(15);

     line(150+10*cos(g*0.8),280-10*sin(g*0.8),150+15*cos(g*0.8),280-15*sin(g*0.8));

     }

     //if (j>=50) j=j-40;printf("%d",j);

     l=0;break;}

    case 45:{

    if(j>=50)

    //j=j-50;

     {

      setcolor(16);

     line(350+10*cos(a*0.8),280-10*sin(a*0.8),350+15*cos(a*0.8),280-15*sin(a*0.8));

     j=j-50;

     a++;

     setcolor(15);

     line(350+10*cos(a*0.8),280-10*sin(a*0.8),350+15*cos(a*0.8),280-15*sin(a*0.8));

      }

    l=0;break;}

    case 43:{

    //j=j+50;

      if(j<=350)

     {

      setcolor(16);

     line(350+10*cos(a*0.8),280-10*sin(a*0.8),350+15*cos(a*0.8),280-15*sin(a*0.8));

     j=j+50;

     a--;

     setcolor(15);

     line(350+10*cos(a*0.8),280-10*sin(a*0.8),350+15*cos(a*0.8),280-15*sin(a*0.8));

      }

    l=0;break;}

    case 47:{

    //k=k+10;

         if ((k>=10)&(k<50))

    { setcolor(16);

     line(150+10*cos(g*0.8),280-10*sin(g*0.8),150+15*cos(g*0.8),280-15*sin(g*0.8));

     k=k+10;

     g--;

     setcolor(15);

     line(150+10*cos(g*0.8),280-10*sin(g*0.8),150+15*cos(g*0.8),280-15*sin(g*0.8));

     }

    l=0;break;}

  case 13:

case 32:{

  if (flag==0) while(!kbhit());

  flag=1-flag;

  l=getch();

  l=0;

  break;}

    default :  break;

    }

  setcolor(16);

  sector(200,230,i*3.0,i*4.0+5,100,100);

  sector(305,230,i*3.0,i*4.0+5,100,100);

  line(200,230,200+100*cos(i*0.07),230-100*sin(i*0.07));

  line(305,230,305+100*cos(i*0.07),230-100*sin(i*0.07));

  i--;

  }

     //Esc is 27

     //+ is wait 43 speed work 42

     // - is     45            47

setcolor(15);line(200,230,300,230);

line(305,230,405,230);

delay(j);

  } while (l!=27);

closegraph();

}


 

А также другие работы, которые могут Вас заинтересовать

75465. Работа со справочниками в ИС 1С: Предприятие 45.5 KB
  Работа со справочниками в ИС 1С: Предприятие Справочники это списки однородных элементов данных. которые называются элементами справочника. Список элементов справочника может быть многоуровневым тогда все строки справочника делятся на элементы справочника и группы справочника. Группы позволяют переходить на нижележащие уровни многоуровневого справочника.
75466. Анализ проекта и основные инструменты анализа проекта в ИС Project Expert 26 KB
  Анализ проекта и основные инструменты анализа проекта в ИС Project Expert В процессе расчетов Project Expert автоматически генерирует стандартные отчетные бухгалтерские документы: отчет о прибылях и убытках; бухгалтерский баланс; отчет о движении денежных средств. После определения наиболее вероятного сценария проекта он принимается за базовый. На основе базового варианта проекта производится анализ чувствительности и определяются критические значения наиболее важных факторов влияющих на финансовый результат проекта. После завершения...
75467. Состав СУБД MS Access 24.5 KB
  Состав СУБД MS ccess Система управления базами данных это комплекс программных и языковых средств необходимых для создания обработки баз данных и поддержания их в актуальном состоянии . Почти все современные СУБД основаны на реляционной модели данных. При определении структуры данных в базе данных выделяют следующие основные понятия. ccess позволяет создавать сложные базы данных определяя структуру таблиц связи между ними.
75468. Состав пакета прикладных программ Project Expert 24.5 KB
  Состав пакета прикладных программ Project Expert Project Expert включает следующие разделы: Проект Компания Окружение Инвестиционный план Операционный план Финансирование Результаты Анализ проекта Актуализация. Раздел Проект является первым в содержании Project Expert и изначально доступен после открытия или создания проекта. Он предназначен для ввода общей информации о проекте настройки модулей расчета и отображения данных проекта. В разделе Компания можно осуществить ввод данных характеризующих финансовоэкономическое...
75469. Работа с документами в ИС 1С: Предприятие 45.5 KB
  Работа с документами в ИС 1С: Предприятие Документы служат для ввода информации о совершенных хозяйственных операциях. В Конфигураторе создается не сам документ а шаблон документа который является средством ввода документа. Конфигуратор позволяет описать структуру документа организовать диалог для ввода информации в документ и описать алгоритм построения печатной формы документа. В большинстве документов выделяются две части: заголовочная часть содержит реквизиты которые являются общими для всего документа; табличная или...
75470. Понятие формы, сложные иерархическик формы в СУБД Access 49.5 KB
  Понятие формы сложные иерархическик формы в СУБД ccess Формы являются основным средством организации интерфейса пользователя в приложениях ccess. Хорошо разработанные формы позволяют работать с приложением даже неподготовленному пользователю. Чаще всего формы создаются в следующих целях: ввод и редактирование данных это наиболее распространенный способ использования форм. Формы обеспечивают вывод на экран данных в удобном для пользователя виде.
75471. Оценка бизнеса и его основное содержание в Project Expert 21 KB
  Оценка бизнеса и его основное содержание в Project Expert Если вы занимаетесь оценкой эффективности инвестиций в проект а также если требуется рассчитать стоимость активов предприятия например при его ликвидации Project Expert удобно использовать для оценки стоимости бизнеса. Пользователь системы может использовать метод дисконтирования денежных потоков для оценки стоимости бизнеса на момент начала проекта или для прогнозирования ее на разных этапах реализации проекта. Для оценки стоимости бизнеса в постпрогнозный период в системе...
75472. Журналы документов системы 1С: Предприятие 50.5 KB
  Журналы документов системы 1С: Предприятие Журналы представляют собой списки объектов данных типа Документ и служат для работы с документами. Один журнал этого типа может быть назначен одновременно нескольким видам документов но документы одного вида всегда будут доступны только в одном простом журнале. Выбор документов которые будут доступны в общем журнале выполняется только при редактировании общего журнала. Существует два вида общих журналов: общий журнал с признаком Все документы позволяет выполнить отбор документов по...
75473. Понятие объекта формы, основные объекты и их свойства в СУБД MS Access 58.5 KB
  Понятие объекта формы основные объекты и их свойства в СУБД MS ccess Панель элементов используется для размещения объектов в форме. Размещение в форме произвольного текста. Размещение в форме данных из соответствующего поля базовой таблицы запроса вывод результатов вычислений а также прием данных вводимых пользователем. Создание командной кнопки позволяющей осуществлять разнообразные действия в форме поиск записей печать отчета установка фильтров и т.