МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Разработка программы- тренажера Управление электросетями

    с.:ил.

    10. Дарахвелидзе П. Г., Марков Е. П., Котенок О. А. Программирование в

    Delphi 5. – СПб.:БХВ – Санкт-Петербург, 2000. – 784 с.: ил.

    Приложение А. Сценарии решения задач

    Разработанная система моделирует оперативные переключения

    обслуживающего персонала в действующих электроустановках (ДЭУ), переводящие

    технологическое оборудование из одного режима работы в другой.

    Рассматриваются следующие режимы работы:

    . Режим №1. Нормальный режим.

    . Режим №2. Выведена в ремонт ВЛ «Агломерат 2».

    . Режим №3. Выведена в ремонт ВЛ «Агломерат 1».

    . Режим №4. Выведен в ремонт Т1 63 мВа.

    . Режим №5. Выведен в ремонт Т2 63 мВа.

    . Режим №6. Выведен в ремонт Т3 100 мВа.

    Нормальный режим.

    Электроснабжение осуществляется от всех имеющихся источников

    электроэнергии и введенных в работу устройствах автоматического включения

    резерва (АВР).

    Рис. 6.1. Нормальный режим работы электроустановки

    Режим №2. Выведена в ремонт ВЛ 220 кВ «Агломерат 1»

    Для перевода электроустановки в режим №2 и, обратно, в нормальный

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

    последовательности, указанной в таблице 3.

    Таблица 3

    |№ |Порядок перехода |Порядок перехода |

    | |с режима №1 на режим №2 |с режима №2 на режим №1 |

    |1 |Вывести АВР 1,2 |Включить ОД3 220 кВ Т3 |

    |2 |Включить СМВ1 яч.9 |Включить ВВ 220 кВ яч 12 |

    |3 |Отключить МВ ввода В1 яч. 5 |Включить ШР1 яч 5 |

    |4 |Отключить ТР1 яч. 5 |Включить ТР1 яч 5 |

    |5 |Отключить ШР1 яч. 5 |Включить МВ ввода В1 яч 5 |

    |6 |Вывести АВР 3,4 |Отключить СМВ1 яч.9 |

    |7 |Включить СМВ2 яч.20 |Ввести АВР 1,2 |

    |8 |Отключить МВ ввода В3 яч. 25 |Включить ШР3 яч 25 |

    |9 |Отключить ТР3 яч. 25 |Включить ТР3 яч 25 |

    |10 |Отключить ШР3 яч. 25 |Включить МВ ввода В3 яч 25 |

    |11 |Отключить ВВ 220 кВ яч 12 |Отключить СМВ2 яч.20 |

    |12 |Отключить ОД 220 кВ Т3 |Ввести АВР 3,4 |

    Состояние коммутационных аппаратов должно соответствовать схеме,

    приведенной на рис. 6.2.

    Рис. 6.2. Выведена в ремонт ВЛ 220 кВ «Агломерат 1»

    Режим №3. Выведена в ремонт ВЛ 220 кВ «Агломерат 2»

    Для перевода электроустановки в режим №3 и, обратно, в нормальный

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

    последовательности, указанной в таблице 4.

    Таблица 4

    |№ |Порядок перехода |Порядок перехода |

    | |с режима №1 на режим №3 |с режима №3 на режим №1 |

    |1 |Вывести АВР 1,2 |Включить ОД1 220 кВ |

    |2 |Включить СМВ1 яч.9 |Включить ОД2 220 кВ |

    |3 |Отключить МВ ввода В2 яч.14 |Включить ВВ 220 кВ яч 10 |

    |4 |Отключить ТР2 яч.14 |Включить ТР2 яч.14 |

    |5 |Отключить ШР2 яч.14 |Включить ШР2 яч.14 |

    |6 |Вывести АВР 3,4 |Включить МВ ввода В2 яч.14 |

    |7 |Включить СМВ2 яч.20 |Отключить СМВ1 яч.9 |

    |8 |Отключить МВ ввода В4 яч.31 |Ввести АВР 1,2 |

    |9 |Отключить ТР4 яч.31 |Включить ТР4 яч.31 |

    |10 |Отключить ШР4 яч.31 |Включить ШР4 яч.31 |

    |11 |Отключить. ВВ 220 кВ яч 10 |Включить МВ ввода В4 яч.31 |

    |12 |Отключить ОД1 220 кВ |Отключить СМВ2 яч.20 |

    |13 |Отключить ОД2 220 кВ |Ввести АВР 3,4 |

    Состояние коммутационных аппаратов должно соответствовать схеме,

    приведенной на рис. 6.3.

    Рис. 6.3. Выведена в ремонт ВЛ 220 кВ «Агломерат 2»

    Режим №4. Выведен в ремонт Т1 63 мВа

    Для перевода электроустановки в режим №4 и, обратно, в нормальный

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

    последовательности, указанной в таблице 5.

    Таблица 5

    |№ |Порядок перехода |Порядок перехода |

    | |с режима №1 на режим №4 |с режима №4 на режим №1 |

    |1 |Вывести АВР 3,4 |Вывести АВР 1,2 |

    |2 |Включить СМВ2 яч. 20 |Включить СМВ1 яч. 9 |

    |3 |Отключить МВ ввода В4 яч. 31 |Отключить МВ ввода В2 яч. 14 |

    |4 |Отключить ТР4 яч. 31 |Отключить ВВ 220 кВ яч 10 |

    |5 |Отключить ШР4 яч. 31 |Включить ОД1 220 кВ |

    |6 |Вывести АВР 1,2 |Включить ВВ 220 кВ яч 10 |

    |7 |Включить СМВ1 яч. 9 |Включить ШР4 яч. 31 |

    |8 |Отключить МВ ввода В2 яч. 14 |Включить ТР4 яч. 31 |

    |9 |Отключить. ВВ 220 кВ яч 10 |Включить МВ ввода В4 яч. 31 |

    |10 |Отключить ОД1 220 кВ |Отключить СМВ2 яч. 20 |

    |11 |Включить. ВВ 220 кВ яч 10 |Ввести АВР 3,4 |

    |12 |Включить МВ ввода В2 яч. 14 |Включить МВ ввода В2 яч. 14 |

    |13 |Отключить СМВ1 яч. 9 |Отключить СМВ1 яч. 9 |

    |14 |Ввести АВР 1,2 |Ввести АВР 1,2 |

    Состояние коммутационных аппаратов должно соответствовать схеме,

    приведенной на рис. 6.4.

    Рис. 6.4. Выведен в ремонт Т1 63 мВа

    Режим №5. Выведен в ремонт Т2 63 мВа

    Для перевода электроустановки в режим №5 и, обратно, в нормальный

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

    последовательности, указанной в таблице 6.

    Таблица 6

    |№ |Порядок перехода |Порядок перехода |

    | |с режима №1 на режим №5 |с режима №5 на режим №1 |

    |1 |Вывести АВР 1,2 |Вывести АВР 3,4 |

    |2 |Включить СМВ1 яч. 9 |Включить СМВ2 яч. 20 |

    |3 |Отключить МВ ввода В2 яч. 14 |Отключить МВ ввода В4 яч. 31 |

    |4 |Отключить ТР2 яч. 14 |Отключить ВВ 220 кВ яч 10 |

    |5 |Отключить ШР2 яч. 14 |Включить ОД2 220 кВ |

    |6 |Вывести АВР 3,4 |Включить ВВ 220 кВ яч 10 |

    |7 |Включить СМВ2 яч. 20 |Включить ШР2 яч. 14 |

    |8 |Отключить МВ ввода В4 яч. 31 |Включить ТР2 яч. 14 |

    |9 |Отключить. ВВ 220 кВ яч 10 |Включить МВ ввода В2 яч. 14 |

    |10 |Отключить ОД2 220 кВ |Отключить СМВ1 яч. 9 |

    |11 |Включить. ВВ 220 кВ яч 10 |Ввести АВР С1,2 |

    |12 |Включить МВ ввода В4 яч. 31 |Включить МВ ввода В4 яч. 31 |

    |13 |Отключить СМВ2 яч. 20 |Отключить СМВ2 яч. 20 |

    |14 |Ввести АВР 3,4 |Ввести АВР 3,4 |

    Состояние коммутационных аппаратов должно соответствовать схеме,

    приведенной на рис. 6.5.

    Рис. 6.5. Выведен в ремонт Т2 63 мВа

    Режим №6. Выведен в ремонт Т3 100 мВа

    Для перевода электроустановки в режим №6 и, обратно, в нормальный

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

    последовательности, указанной в таблице 7.

    Таблица 7

    |№ |Порядок перехода |Порядок перехода |

    | |с режима №1 на режим №6 |С режима №6 на режим №1 |

    |1 |Вывести АВР 1,2 |Отключить ВВ 220 кВ яч 12 РПП 2 |

    |2 |Включить СМВ1 яч. 9 |Включить ОД3 220 кВ |

    |3 |Отключить МВ ввода В1 яч. 5 |Включить ВВ 220 кВ яч 12 РПП 2 |

    |4 |Вывести АВР 3,4 |Включить ШР1 яч 5 |

    |5 |Включить СМВ2 яч. 20 |Включить ТР1 яч 5 |

    |6 |Отключить МВ ввода В3 яч. 25 |Включить МВ ввода В1 яч. 5 |

    |7 |Отключить. ВВ 220 кВ яч 12 РПП2 |Отключить СМВ1 яч. 9 |

    |8 |Отключить ОД3 220 Кв |Ввести АВР 1,2 |

    |9 |Отключить ТР1 яч 5 |Включить ШР3 яч 25 |

    |10 |Отключить ШР1 яч 5 |Включить ТР3 яч 2 |

    |11 |Отключить ТР3 яч 25 |Включить МВ ввода В3 яч. 25 |

    |12 |Отключить ШР3 яч 25 |Отключить СМВ2 яч. 20 |

    |13 |Включить ВВ-220 кВ яч. 12 РПП2 |Ввести АВР 3,4 |

    Состояние коммутационных аппаратов должно соответствовать схеме,

    приведенной на рис. 6. 6.

    Рис. 5.6. Выведен в ремонт Т3 100 мВа

    Приложение Б. Листинг основного модуля программы

    unit MainMenu;

    interface

    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls, ExtCtrls, Gauges, Menus, ComCtrls, User1, Report,

    NewScen, ImgList,Report1;

    type

    TForm1 = class(TForm)

    TaskList: TListBox;

    RunBtn: TButton;

    ExtBtn: TButton;

    MainMenu1: TMainMenu;

    Menu1: TMenuItem;

    Menu4: TMenuItem;

    Menu41: TMenuItem;

    Menu5: TMenuItem;

    Bevel1: TBevel;

    StatusBar1: TStatusBar;

    Image1: TImage;

    ODT2: TImage;

    ODT1: TImage;

    BB50: TImage;

    ODT3: TImage;

    PBB2: TImage;

    MBB2: TImage;

    CMB1: TImage;

    MBB1: TImage;

    ABR1: TImage;

    TRZ2: TImage;

    TRZ1: TImage;

    TRZ4: TImage;

    TRZ3: TImage;

    MBB4: TImage;

    CMB2: TImage;

    MBB3: TImage;

    SRZ2: TImage;

    SRZ9: TImage;

    SR10: TImage;

    SRZ1: TImage;

    SRZ4: TImage;

    SR37: TImage;

    SR20: TImage;

    SRZ3: TImage;

    ABR2: TImage;

    ResultBtn: TButton;

    Label1: TLabel;

    HelpBtn: TButton;

    New: TMenuItem;

    N2: TMenuItem;

    Exit: TMenuItem;

    Image2: TImage;

    StaticText1: TStaticText;

    Menu52: TMenuItem;

    Label2: TLabel;

    Menu2: TMenuItem;

    Menu21: TMenuItem;

    Menu22: TMenuItem;

    procedure ExtBtnClick(Sender: TObject);

    procedure TaskListMouseUp(Sender: TObject; Button: TMouseButton;

    Shift: TShiftState; X, Y: Integer);

    procedure FormActivate(Sender: TObject);

    procedure RunBtnClick(Sender: TObject);

    procedure Menu41Click(Sender: TObject);

    procedure MBB1Click(Sender: TObject);

    procedure MBB2Click(Sender: TObject);

    procedure MBB3Click(Sender: TObject);

    procedure MBB4Click(Sender: TObject);

    procedure CMB1Click(Sender: TObject);

    procedure CMB2Click(Sender: TObject);

    procedure BB50Click(Sender: TObject);

    procedure PBB2Click(Sender: TObject);

    procedure TRZ1Click(Sender: TObject);

    procedure TRZ2Click(Sender: TObject);

    procedure TRZ3Click(Sender: TObject);

    procedure TRZ4Click(Sender: TObject);

    procedure SRZ1Click(Sender: TObject);

    procedure SRZ2Click(Sender: TObject);

    procedure SRZ3Click(Sender: TObject);

    procedure SRZ4Click(Sender: TObject);

    procedure SRZ9Click(Sender: TObject);

    procedure SR10Click(Sender: TObject);

    procedure SR20Click(Sender: TObject);

    procedure SR37Click(Sender: TObject);

    procedure ODT1Click(Sender: TObject);

    procedure ODT2Click(Sender: TObject);

    procedure ODT3Click(Sender: TObject);

    procedure ABR1Click(Sender: TObject);

    procedure ABR2Click(Sender: TObject);

    procedure ResultBtnClick(Sender: TObject);

    procedure HelpBtnClick(Sender: TObject);

    procedure NewClick(Sender: TObject);

    procedure Menu52Click(Sender: TObject);

    procedure Menu21Click(Sender: TObject);

    procedure Menu22Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    TStringList1 = class (TStringList);

    TMyZap=class(TObject)

    FNo:Integer;

    FImage:ShortString;

    FState:Integer;

    FComment:ShortString;

    constructor

    Create(No:Integer;Image:ShortString;State:Integer;Comment:ShortString);

    end;

    var

    Form1: TForm1;

    TaskNumber:Integer;

    WorkMode:Integer;

    List1:TStringList1;

    ActList:TList;

    Prot:TStringList;

    Zap:TMyZap;

    Switch:TImage;

    TaskName:string;

    Error:integer;

    Help:integer;

    Count:Integer;

    F: array [0..24] of boolean;

    E: array [0..24] of boolean;

    implementation

    uses Results;

    {$R *.DFM}

    constructor

    TMyZap.Create(No:Integer;Image:ShortString;State:Integer;Comment:ShortString

    );

    begin

    inherited Create;

    FNo:=No;

    FImage:=Image;

    FState:=State;

    FComment:=Comment;

    end;

    procedure SWState(AOwner:TImage;i:integer);

    begin

    if F[i]=false then begin

    with AOwner.Canvas do begin

    Pen.Color:=clWhite;

    MoveTo(6,1);

    LineTo(6,17);

    Pen.Width:=2;

    Pen.Color:=clBlack;

    Rectangle(1,1,17,17);

    MoveTo(6,17);

    LineTo(15,1);

    end;

    F[i]:=true;

    end

    else begin

    with AOwner.Canvas do begin

    Pen.Color:=clWhite;

    MoveTo(6,17);

    LineTo(15,1);

    Pen.Width:=2;

    Pen.Color:=clBlack;

    Rectangle(1,1,17,17);

    MoveTo(6,1);

    LineTo(6,17);

    end;

    F[i]:=false;

    end;

    end;

    procedure ABRState(AOwner:TImage;i:integer);

    begin

    if F[i]=False then begin

    with AOwner.Canvas do begin

    Brush.Color:=clWhite;

    FloodFill(8,8,clBlack,fsSurface);

    Pen.Width:=2;

    Pen.Color:=clBlack;

    MoveTo(1,15);

    LineTo(8,1);

    MoveTo(8,1);

    LineTo(17,15);

    MoveTo(17,15);

    LineTo(1,15);

    end;

    F[i]:=True;

    end

    else begin

    with AOwner.Canvas do begin

    FloodFill(8,8,clWhite,fsSurface);

    Pen.Width:=2;

    Pen.Color:=clBlack;

    MoveTo(1,15);

    LineTo(8,1);

    MoveTo(8,1);

    LineTo(17,15);

    MoveTo(17,15);

    LineTo(1,15);

    Brush.Color:=clBlack;

    FloodFill(8,8,clBlack,fsBorder);

    end;

    F[i]:=False;

    end;

    end;

    procedure MVState(AOwner:TImage;i:integer);

    begin

    if F[i]=false then begin

    with AOwner.Canvas do begin

    Pen.Color:=clWhite;

    MoveTo(9,6);

    LineTo(9,11);

    Pen.Width:=2;

    Pen.Color:=clBlack;

    Rectangle(1,1,17,17);

    MoveTo(6,8);

    LineTo(11,8);

    end;

    F[i]:=true;

    end

    else begin

    with AOwner.Canvas do begin

    Pen.Color:=clWhite;

    MoveTo(6,8);

    LineTo(11,8);

    Pen.Width:=2;

    Pen.Color:=clBlack;

    Rectangle(1,1,17,17);

    MoveTo(9,6);

    LineTo(9,11);

    end;

    F[i]:=false;

    end;

    end;

    function Analyze(AOwner:TComponent):boolean;

    begin

    Zap:=ActList.First;

    if WorkMode=0 then

    if (Zap.FImage=AOwner.Name)

    then begin

    if Zap.FImage<>'0' then

    ActList.Delete(ActList.IndexOf(ActList.First));

    Result:=true;

    Form1.Label1.Caption:='';

    Prot.Append(Zap.FComment);

    end

    else begin

    Form1.Label1.Caption:=' Ошибка';

    Prot.Append('Ошибка, '+Zap.FComment);

    Error:=Error+1;

    Result:=false;

    end

    else Count:=Count+1;

    Form1.ResultBtn.Visible:=True;

    end;

    {Считывание информации дла решения задач}

    procedure Read;

    var Fil:textfile;

    s:string;

    j:integer;

    begin

    for j:=1 to 10 do begin

    s:='Info\'+IntToStr(j)+'.str';

    assign(fil,s);

    reset(fil);

    readln(fil,s);

    Form1.TaskList.Items.Insert(j-1,s);

    end;

    end;

    procedure ReadInfo(Num:integer);

    var Fil:textfile;

    s,s1:string;

    i,j:integer;

    begin

    ActList:=TList.Create;

    s:='Info\'+IntToStr(Num)+'.str';

    assign(fil,s);

    reset(fil);

    readln(fil,s);

    readln(fil,s);

    for i:=0 to 24 do

    if s[i+1]='1' then F[i]:=true

    else F[i]:=false;

    readln(fil,s);

    for i:=0 to 24 do

    if s[i+1]='1' then E[i]:=true

    else E[i]:=false;

    for i:=1 to 15 do begin

    readln(fil,s);

    s1:=s;

    for j:=1 to 7 do s1[j]:=' ';

    ActList.Add(TMyZap.Create(StrToInt(s[1]+s[2]),s[3]+s[4]+s[5]+s[6],StrToInt(s

    [7]),s1));

    end;

    closefile(fil);

    end;

    procedure TForm1.FormActivate(Sender: TObject);

    begin

    Form1.ResultBtn.Visible:=False;

    Form1.HelpBtn.Visible:=False;

    Form1.Label2.Visible:=false;

    Image1.Visible:=False;

    Image2.Visible:=False;

    StaticText1.Visible:=False;

    Label2.Visible:=False;

    StatusBar1.Panels[2].Text:='Выберите режим работы и задачу.';

    StatusBar1.Panels[3].Text:='Режим работы: ';

    TaskList.ItemIndex:=0;

    TaskNumber:=0;

    Read;

    User1.User.ShowModal;

    end;

    procedure TForm1.ExtBtnClick(Sender: TObject);

    begin

    if Prot<>nil then Prot.Clear;

    if ActList<>nil then ActList.Clear;

    if Prot<>nil then Prot.Clear;

    Application.Terminate;

    end;

    procedure TForm1.TaskListMouseUp(Sender: TObject; Button: TMouseButton;

    Shift: TShiftState; X, Y: Integer);

    var Point:TPoint;

    begin

    Point.X:=Y;Point.Y:=Y;

    TaskNumber:=TaskList.ItemAtPos(Point,true);

    StatusBar1.Panels[2].Text:=Form1.TaskList.Items.Strings[TaskNumber];

    StatusBar1.Panels[1].Text:='№'+IntToStr(1+TaskList.ItemAtPos(Point,true));

    end;

    procedure TForm1.RunBtnClick(Sender: TObject);

    var s:string;

    begin

    TaskList.Visible:=False;

    if WorkMode=0 then begin

    StatusBar1.Panels[3].Text:='Режим работы: Тренировка';

    Form1.HelpBtn.Visible:=true;

    Form1.Label1.Visible:=true;

    Form1.Label2.Visible:=true;

    ResultBtn.Caption:='Результаты';

    end;

    Image1.Visible:=true;

    Image2.Visible:=true;

    StaticText1.Visible:=true;

    ReadInfo(TaskNumber+1);

    Error:=0;

    Help:=0;

    Form1.Caption:=TaskList.Items[TaskNumber];

    {Начальные условия}

    SWState(ODT2,0);

    SWState(ODT1,1);

    SWState(ODT3,3);

    MVState(MBB1,10);

    MVState(MBB2,7);

    MVState(MBB3,19);

    MVState(MBB4,17);

    MVState(CMB1,8);

    MVState(CMB2,18);

    MVState(PBB2,4);

    MVState(BB50,2);

    SWState(TRZ1,6);

    SWState(TRZ2,5);

    SWState(TRZ3,16);

    SWState(TRZ4,15);

    SWState(SRZ1,14);

    SWState(SRZ2,11);

    SWState(SRZ3,24);

    SWState(SRZ4,20);

    SWState(SRZ9,12);

    SWState(SR10,13);

    SWState(SR20,23);

    SWState(SR37,21);

    ABRState(ABR1,9);

    ABRState(ABR2,22);

    Prot:=TStringList.Create;

    if WorkMode=0 then s:=(' тренировки')

    else s:=(' экзамена');

    Prot.Append('

    Протокол'+s);

    Prot.Append(' -------------------

    --------');

    Prot.Append('Фамилия: '+User1.N1);

    Prot.Append('Имя: '+User1.N2);

    Prot.Append('Отчество: '+User1.N3);

    Prot.Append(' ЗАДАЧА:

    '+TaskList.Items[TaskNumber]);

    Prot.Append(' --------------------------------------

    ------');

    if WorkMode=0 then s:=(' прохождения тренировки: ')

    else s:=(' сдачи экзамена: ');

    Prot.Append('Дата '+s+DateToStr(Date));

    end;

    procedure TForm1.Menu41Click(Sender: TObject);

    begin

    User.ShowModal;

    end;

    procedure TForm1.MBB1Click(Sender: TObject);

    begin

    if Analyze(MBB1)=True then MVState(MBB1,10)

    else MVState(MBB1,10);

    if F[10]=true then

    end;

    procedure TForm1.MBB2Click(Sender: TObject);

    begin

    if Analyze(MBB2)=True then MVState(MBB2,7)

    else MVState(MBB2,7);

    end;

    procedure TForm1.MBB3Click(Sender: TObject);

    begin

    if Analyze(MBB3)=True then MVState(MBB3,19)

    else MVState(MBB3,19);

    end;

    procedure TForm1.MBB4Click(Sender: TObject);

    begin

    if Analyze(MBB4)=True then MVState(MBB4,17)

    else MVState(MBB4,17);

    end;

    procedure TForm1.CMB1Click(Sender: TObject);

    begin

    if Analyze(CMB1)=True then MVState(CMB1,8)

    else MVState(CMB1,8);

    end;

    procedure TForm1.CMB2Click(Sender: TObject);

    begin

    if Analyze(CMB2)=True then MVState(CMB2,18)

    else MVState(CMB2,18);

    end;

    procedure TForm1.BB50Click(Sender: TObject);

    begin

    if Analyze(BB50)=True then MVState(BB50,2)

    else MVState(BB50,2);

    end;

    procedure TForm1.PBB2Click(Sender: TObject);

    begin

    if Analyze(PBB2)=True then MVState(PBB2,4)

    else MVState(PBB2,4);

    end;

    procedure TForm1.TRZ1Click(Sender: TObject);

    begin

    if Analyze(TRZ1)=True then SWState(TRZ1,6)

    else SWState(TRZ1,6);

    end;

    procedure TForm1.TRZ2Click(Sender: TObject);

    begin

    if Analyze(TRZ2)=True then SWState(TRZ2,5)

    else SWState(TRZ2,5);

    end;

    procedure TForm1.TRZ3Click(Sender: TObject);

    begin

    if Analyze(TRZ3)=True then SWState(TRZ3,16)

    else SWState(TRZ3,16);

    end;

    procedure TForm1.TRZ4Click(Sender: TObject);

    begin

    if Analyze(TRZ4)=True then SWState(TRZ4,15)

    else SWState(TRZ4,15);

    end;

    procedure TForm1.SRZ1Click(Sender: TObject);

    begin

    if Analyze(SRZ1)=True then SWState(SRZ1,14)

    else SWState(SRZ1,14);

    end;

    procedure TForm1.SRZ2Click(Sender: TObject);

    begin

    if Analyze(SRZ2)=True then SWState(SRZ2,11)

    else SWState(SRZ2,11);

    end;

    procedure TForm1.SRZ3Click(Sender: TObject);

    begin

    if Analyze(SRZ3)=True then SWState(SRZ3,24)

    else SWState(SRZ3,24);

    end;

    procedure TForm1.SRZ4Click(Sender: TObject);

    begin

    if Analyze(SRZ4)=True then SWState(SRZ4,20)

    else SWState(SRZ4,20);

    end;

    procedure TForm1.SRZ9Click(Sender: TObject);

    begin

    if Analyze(SRZ9)=True then SWState(SRZ9,12)

    else SWState(SRZ9,12);

    end;

    procedure TForm1.SR10Click(Sender: TObject);

    begin

    if Analyze(SR10)=True then SWState(SR10,13)

    else SWState(SR10,13);

    end;

    procedure TForm1.SR20Click(Sender: TObject);

    begin

    if Analyze(SR20)=True then SWState(SR20,23)

    else SWState(SR20,23);

    end;

    procedure TForm1.SR37Click(Sender: TObject);

    begin

    if Analyze(SR37)=True then SWState(SR37,21)

    else SWState(SR37,21);

    end;

    procedure TForm1.ODT1Click(Sender: TObject);

    begin

    if Analyze(ODT1)=True then SWState(ODT1,1)

    else SWState(ODT1,1);

    end;

    procedure TForm1.ODT2Click(Sender: TObject);

    begin

    if Analyze(ODT2)=True then SWState(ODT2,0)

    else SWState(ODT2,0);

    end;

    procedure TForm1.ODT3Click(Sender: TObject);

    begin

    if Analyze(ODT3)=True then SWState(ODT3,3)

    else SWState(ODT3,3);

    end;

    procedure TForm1.ABR1Click(Sender: TObject);

    begin

    if Analyze(ABR1)=True then ABRState(ABR1,9)

    else ABRState(ABR1,9);

    end;

    procedure TForm1.ABR2Click(Sender: TObject);

    begin

    if Analyze(ABR2)=True then ABRState(ABR2,22)

    else ABRState(ABR2,22);

    end;

    procedure TForm1.ResultBtnClick(Sender: TObject);

    var i:integer;

    s:string;

    begin

    Error:=0;

    Count:=0;

    if WorkMode=1 then begin

    for i:=0 to 24 do if E[i]=F[i] then Error:=Error+1;

    if Error=0 then s:='Хорошо';

    if Error=1 then s:='Удовлетворительно';

    if Error>2 then s:='Неудовлетворительно';

    Results.Result.Label1.Caption:='Оценка: '+s;

    Prot.Append('Оценка: '+s);

    Results.Result.ShowModal;

    TaskList.Visible:=True;

    end;

    if (WorkMode=0)and(Zap.FNo=0)and(Zap.FImage='0000')and(Zap.FState=0) then

    begin

    Prot.Append('Количество ошибок: '+IntToStr(Error));

    Prot.Append('Количество обращений к подсказке: '+IntToStr(Help));

    Results.Result.Label1.Caption:='Количество ошибок:

    '+IntToStr(Error);

    Results.Result.Label2.Caption:='Количество обращений к подсказке:

    '+IntToStr(Help);

    Results.Result.ShowModal;

    Actlist.Clear;

    TaskList.Visible:=True;

    end;

    end;

    procedure TForm1.HelpBtnClick(Sender: TObject);

    begin

    if StatusBar1.Panels[1].Text='№'

    then

    Label1.Caption:=' Выберите задачу'

    else

    begin

    Zap:=ActList.First;

    Label1.Caption:=Zap.FComment;

    Help:=Help+1;

    end;

    end;

    procedure TForm1.NewClick(Sender: TObject);

    begin

    FormScene.Position:=poScreenCenter;

    FormScene.ShowModal;

    end;

    procedure TForm1.Menu52Click(Sender: TObject);

    var s:string;

    i:integer;

    begin

    Report.ReportForm.ProtList.Clear;

    if Prot<>nil then begin

    for i:=0 to Prot.Count-1 do

    Report.ReportForm.ProtList.Items.Append(Prot.Strings[i]);

    s:=TimeToStr(Now);

    if FileExists('Info\Report.txt') then

    Prot.SaveToFile('Info\Report'+s[7]+'.txt')

    else Prot.SaveToFile('Info\Report.txt');

    ReportForm.ShowModal;

    end;

    end;

    procedure TForm1.Menu21Click(Sender: TObject);

    begin

    WorkMode:=0;

    StatusBar1.Panels[3].Text:='Режим работы: Тренировка';

    Form1.HelpBtn.Visible:=true;

    Form1.Label1.Visible:=true;

    Form1.Label2.Visible:=true;

    ResultBtn.Caption:='Результаты';

    end;

    procedure TForm1.Menu22Click(Sender: TObject);

    begin

    WorkMode:=1;

    StatusBar1.Panels[3].Text:='Режим работы: Экзамен';

    Form1.HelpBtn.Visible:=false;

    Form1.Label1.Visible:=false;

    Form1.Label2.Visible:=false;

    ResultBtn.Caption:='Готово';

    end;

    end.

    -----------------------

    [pic]

    [pic]

    [pic]

    [pic]

    [pic]

    [pic]

    [pic]

    Страницы: 1, 2, 3


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.