{$M 4096 0 640000}

uses gid;
var
 Kz : integer;

begin                 { КОНТРОЛЬНЫЙ ПРИМЕР }

  Initialize;
           {──────────────────────────────────────────────────}
           {   Запуск процедуры Initiflize проиводится перед  }
           { заполнением структуры DatGid, так как определе-  }
           { ление рамеров окна вывода изображения должно     }
           { определятся следующим образом :                  }
           {         MinX <= x1 < x2 <= MaxX ;                }
           {         MinY <= y1 < y2 <= MaxY .                }
           {   Переменные MinX,MaxX,MinY,MaxY определяются в  }
           { Initiflize в зависимости от типа драйвера терми- }
           { нала .                                           }
           {__________________________________________________}

                    { заполнение структуры DatGid }
  with DatGid[3] do
   begin
    Name := 'оборот капитала за II полугодие 1989 года';
    Cod :=BARCOD;                     { двумерная гистограмма }
    Xstep := 10;                     { шаг по оси X равен 10  }
    Ystep := 1;                      { шаг по оси Y равен  1  }
    Xmax  := 70;          { ось X имеет 70 расчетных делений  }
    Ymax  := 8;           { ось Y имеет  8 расчетных делений  }
    Cursiv:= 4;      { разрядка между столбиками по оси X = 4 }
    Common:= 7;                        { кол-во столбиков = 7 }
    Flag:=OFF;         { выбор цвета и типа штриховки пакетом }
    X_Flag:=ON;             { метки по оси X берутся из TextX }
    Y_Flag:=OFF;                   { метки по оси Y расчетные }
    LabeX:='месяц';                               { имя оси X }
    LabeY:='млн.руб.';                            { имя оси Y }

    Bar[1].X := 1; Bar[1].Y := 0;   { не отображается, служит }
                                    { для выравнивания        }
    Bar[2].X := 6; Bar[2].Y := 7;
    Bar[3].X := 6; Bar[3].Y := 1;   { отображаемые столбики   }
    Bar[4].X := 6; Bar[4].Y := 2;   { в данном случае имеют   }
    Bar[5].X := 6; Bar[5].Y := 4;   { одинаковую ширину       }
    Bar[6].X := 6; Bar[6].Y := 5;
    Bar[7].X := 6; Bar[7].Y := 3;

    TextX[1] := 'июль';
    TextX[2] := 'август';
    TextX[3] := 'сентябрь';      { определение меток по оси X }
    TextX[4] := 'октябрь';
    TextX[5] := 'ноябрь';
    TextX[6] := 'декабрь';
    TextX[7] :='';

                  { определение кординат окна под изображение }
    x1:=MinX;
    y1:=MaxY-MaxY div 2;     { под окно отводится  }
    x2:=MaxX;                { нижняя часть экрана }
    y2:=MaxY;
   end;

  with DatGid[1] do
   begin
    Name := 'процентное соотношение аккредитива';
    Cod :=PLAYCOD;                       { секторная диограма }
    Cursiv:= 2;                         { выделяем сектор √Ў4 }
    Common:= 6;                        { кол-во столбиков = 6 }
    Flag:=ON;    { выбор цвета и типа штриховки пользователем }

    Play[1].Prozent:= 10;
    Play[2].Prozent:= 15;
    Play[3].Prozent:= 22;       { процент занимаемый сектором }
    Play[4].Prozent:= 15;       {        в диограмме          }
    Play[5].Prozent:= 18;
    Play[6].Prozent:= 20;

    Play[1].Text := 'июль';
    Play[2].Text := 'август';
    Play[3].Text := 'сентябрь';       { краткая информация    }
    Play[4].Text := 'октябрь';        { о содержимом секторов }
    Play[5].Text := 'ноябрь';
    Play[6].Text := 'декабрь';

    Play[1].Color := 9;
    Play[2].Color := 10;
    Play[3].Color := 11;            { цвет секторов от 0 до 15 }
    Play[4].Color := 12;  { 0 и 8 использовать не рекомедуется }
    Play[5].Color := 13;
    Play[6].Color := 14;

    Play[1].Font := 7;
    Play[2].Font := 8;
    Play[3].Font := 9;             { тип штриховки от 0 до 12 }
    Play[4].Font := 10;
    Play[5].Font := 11;
    Play[6].Font := 6;

                  { определение кординат окна под изображение }
    x1:=MinX;
    y1:=MinY;                  { под окно отводится  }
    x2:=MaxX div 3;        { левая верхняя часть экрана }
    y2:=MaxY-MaxY div 2;
   end;

  with DatGid[2] do
   begin
    Name := 'поступления и выплаты за III-IV кв.1989г.';
    Cod :=GRAFCOD;                                  { графики }
    Xstep := 2;                      { шаг по оси X равен  2  }
    Ystep := 1;                      { шаг по оси Y равен  1  }
    Xmax  := 14;             { максимальное значение по оси X }
    Ymax  := 10;             { максимальное значение по оси Y }
    Xmin  := 0;               { минимальное значение по оси X }
    Ymin  := 0;               { минимальное значение по оси Y }
    Common:= 3;                         { кол-во графиков = 3 }
    Flag:=OFF;         { выбор цвета и типа штриховки пакетом }
    X_Flag:=ON;             { метки по оси X берутся из TextX }
    Y_Flag:=OFF;                   { метки по оси Y расчетные }
    LabeX:='месяц';                               { имя оси X }
    LabeY:='млн.руб.';                            { имя оси Y }

    TextX[1] := 'VII';
    TextX[2] := 'VIII';
    TextX[3] := 'IX';            { определение меток по оси X }
    TextX[4] := 'X';
    TextX[5] := 'XI';
    TextX[6] := 'XII';

                  { определение кординат окна под изображение }
    x1:=MaxX div 3;
    y1:=MinY;                  { под окно отводится  }
    x2:=MaxX;              { правая верхняя часть экрана }
    y2:=MaxY-MaxY div 2;

                 { определение узловых точек в графиках }
    Graf[1].Common:= 8;          { кол-во узлов в графике √Ў1 }
    Graf[1].X[1] := 0; Graf[1].Y[1] := 3;
    Graf[1].X[2] := 2; Graf[1].Y[2] := 3.4;
    Graf[1].X[3] := 4; Graf[1].Y[3] := 3.9;
    Graf[1].X[4] := 6; Graf[1].Y[4] := 4.6;
    Graf[1].X[5] := 8; Graf[1].Y[5] := 4.4;
    Graf[1].X[6] :=10; Graf[1].Y[6] := 5.2;
    Graf[1].X[7] :=12; Graf[1].Y[7] := 5.8;
    Graf[1].X[8] :=13; Graf[1].Y[8] := 6.1;
    Graf[2].Common:= 8;          { кол-во узлов в графике √Ў2 }
    Graf[2].X[1] := 0; Graf[2].Y[1] := 4;
    Graf[2].X[2] := 2; Graf[2].Y[2] := 4;
    Graf[2].X[3] := 4; Graf[2].Y[3] := 6;
    Graf[2].X[4] := 6; Graf[2].Y[4] := 2;
    Graf[2].X[5] := 8; Graf[2].Y[5] := 1;
    Graf[2].X[6] :=10; Graf[2].Y[6] := 9;
    Graf[2].X[7] :=12; Graf[2].Y[7] := 9;
    Graf[2].X[8] :=13; Graf[2].Y[8] := 7;
    Graf[3].Common:= 8;          { кол-во узлов в графике √Ў3 }
    Graf[3].X[1] := 0; Graf[3].Y[1] := 10;
    Graf[3].X[2] := 2; Graf[3].Y[2] := 3.6;
    Graf[3].X[3] := 4; Graf[3].Y[3] := 6.1;
    Graf[3].X[4] := 6; Graf[3].Y[4] := 1.3;
    Graf[3].X[5] := 8; Graf[3].Y[5] := 1.2;
    Graf[3].X[6] :=10; Graf[3].Y[6] := 8.2;
    Graf[3].X[7] :=12; Graf[3].Y[7] := 8.4;
    Graf[3].X[8] :=13; Graf[3].Y[8] := 6.7;

                        { краткая информация о графиках }
    Graf[1].Text := 'наличность';
    Graf[2].Text := 'поступления';
    Graf[3].Text := 'выплаты';
   end;

  Kz:=StartGid(3);{ отображение информации в графическом виде }

  CloseGid(Kz);         { переход в символьный режим и выдача }
                        { сообщений о ошибке                  }

end.        { конец контрольного примера }
