МЕНЮ


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

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


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

    Exit;

    end;

    end;

    end;

    procedure TForm1.BitBtn4Click(Sender: TObject);

    begin

    Form7.ShowModal;

    end;

    end.

    Модуль 2.

    Код этого модуля отвечает за формирование баз данных, то есть за запись

    участника.

    unit Unit2;

    interface

    uses

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

    Forms,

    Dialogs, ExtCtrls, StdCtrls, Buttons;

    type

    TForm2 = class(TForm)

    Panel1: TPanel;

    GroupBox1: TGroupBox;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    Edit1: TEdit;

    Edit2: TEdit;

    Label1: TLabel;

    Label2: TLabel;

    Edit3: TEdit;

    Edit4: TEdit;

    Edit5: TEdit;

    Edit6: TEdit;

    Edit7: TEdit;

    Edit8: TEdit;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    Label6: TLabel;

    Label7: TLabel;

    Label8: TLabel;

    Label9: TLabel;

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form2: TForm2;

    implementation

    uses Unit1, DB, DBTables;

    {$R *.dfm}

    procedure TForm2.BitBtn1Click(Sender: TObject);

    begin

    ModalResult:=mrCancel;

    end;

    procedure TForm2.BitBtn2Click(Sender: TObject);

    var

    Fio,Sch:string;

    n1,n2,n3,n4,n5,n6,snum:double;

    begin

    Fio:=Edit1.Text;

    Sch:=Edit2.Text;

    if (Fio='') or (Sch='') then

    begin

    Application.MessageBox('Не введено ФИО или

    Школа!','Ошибка',mb_Ok+mb_IconHand);

    Edit1.SetFocus;

    Exit;

    end;

    try

    n1:=StrToFloat(Edit3.Text);

    n2:=StrToFloat(Edit4.Text);

    n3:=StrToFloat(Edit5.Text);

    n4:=StrToFloat(Edit6.Text);

    n5:=StrToFloat(Edit7.Text);

    n6:=StrToFloat(Edit8.Text);

    except

    Application.MessageBox('Одно или несколько текстовых полей заполнены

    неверно!','Ошибка',mb_Ok+mb_IconHand);

    Edit1.SetFocus;

    Exit;

    end;

    snum:=n1+n2+n3+n4+n5+n6;

    try

    with Form1.Table1 do

    begin

    Active:=True;

    Append;

    FieldValues['COUNTER']:=RecordCount+1;;

    FieldValues['FIO']:=Fio;

    FieldValues['MARK1']:=n1;

    FieldValues['MARK2']:=n2;

    FieldValues['MARK3']:=n3;

    FieldValues['MARK4']:=n4;

    FieldValues['MARK5']:=n5;

    FieldValues['MARK6']:=n6;

    FieldValues['SUMMARK']:=snum;

    FieldValues['SCHOOL']:=Sch;

    Post;

    end;

    Edit1.Text:='';

    Edit2.Text:='';

    Edit3.Text:='';

    Edit4.Text:='';

    Edit5.Text:='';

    Edit6.Text:='';

    Edit7.Text:='';

    Edit8.Text:='';

    Edit1.SetFocus;

    Application.MessageBox(PChar('Добавлен участник: "'+Fio+'". Суммарный

    балл '+FloatToStr(snum)+'.'),'Сообщение',mb_Ok+mb_IconAsterisk);

    except

    Application.MessageBox('Ошибка записи участника в БД. Загрузите

    базу.','Ошибка',mb_Ok+mb_IconHand);

    Edit1.SetFocus;

    Exit;

    end;

    end;

    end.

    Модуль 3.

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

    unit Unit3;

    interface

    uses

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

    Forms,

    Dialogs, ExtCtrls, StdCtrls, Buttons;

    type

    TForm3 = class(TForm)

    Panel1: TPanel;

    Label1: TLabel;

    ComboBox1: TComboBox;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    procedure BitBtn1Click(Sender: TObject);

    procedure FormShow(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form3: TForm3;

    implementation

    uses Unit1;

    {$R *.dfm}

    procedure TForm3.BitBtn1Click(Sender: TObject);

    begin

    ModalResult:=mrCancel;

    end;

    procedure TForm3.FormShow(Sender: TObject);

    var i:integer;

    begin

    try

    if Form1.Table1.RecordCount=0 then

    begin

    Application.MessageBox('В БД нет ни одной

    записи!','Ошибка',mb_Ok+mb_IconHand);

    ComboBox1.Color:=clMenu;

    ComboBox1.Enabled:=False;

    BitBtn2.Enabled:=False;

    end

    else

    begin

    ComboBox1.Items.Clear;

    ComboBox1.Color:=clWhite;

    ComboBox1.Enabled:=True;

    BitBtn2.Enabled:=True;

    Form1.Table1.First;

    for i:=0 to Form1.Table1.RecordCount-1 do

    begin

    ComboBox1.Items.Add(Form1.Table1.FieldValues['FIO']);

    Form1.Table1.Next;

    end;

    end;

    ComboBox1.ItemIndex:=0;

    Form1.Table1.First;

    except

    Application.MessageBox('Ошибка БД. Возможно база не

    открыта!','Ошибка',mb_Ok+MB_ICONHAND);

    ComboBox1.Color:=clMenu;

    ComboBox1.Enabled:=False;

    BitBtn2.Enabled:=False;

    end;

    end;

    procedure TForm3.BitBtn2Click(Sender: TObject);

    var

    i:integer;

    begin

    try

    Form1.Table1.First;

    For i:=0 to Form1.Table1.RecordCount-1 do

    begin

    if ComboBox1.Text=Form1.Table1.FieldValues['FIO'] then

    begin

    Form1.Table1.Delete;

    Application.MessageBox(PChar('Запись участника "'+ComboBox1.Text+'"

    успешно удалена'),'Удаление',mb_Ok+mb_IconAsterisk);

    ModalResult:=mrCancel;

    Exit;

    end;

    Form1.Table1.Next;

    end;

    except

    Application.MessageBox('Ошибка удаления

    записи!','Ошибка',mb_Ok+mb_IconHand);

    Exit;

    end;

    end;

    end.

    Модуль 4.

    Код этого модуля отвечает за формирование окна конфигурации программы, а

    также за запись настроек этой конфигурации.

    unit Unit4;

    interface

    uses

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

    Forms,

    Dialogs, ExtCtrls, StdCtrls, Buttons, INIFiles;

    type

    TForm4 = class(TForm)

    Panel1: TPanel;

    Label1: TLabel;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    GroupBox1: TGroupBox;

    RadioGroup1: TRadioGroup;

    GroupBox2: TGroupBox;

    Label2: TLabel;

    Edit1: TEdit;

    RadioGroup2: TRadioGroup;

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form4: TForm4;

    Conf:TIniFile;

    implementation

    {$R *.dfm}

    procedure TForm4.BitBtn1Click(Sender: TObject);

    begin

    ModalResult:=mrCancel;

    end;

    procedure TForm4.BitBtn2Click(Sender: TObject);

    begin

    try

    Conf:=TIniFile.Create(GetCurrentDir+'\Config.ini');

    with Conf do

    begin

    case RadioGroup1.ItemIndex of

    0: WriteString('BLOCK_CONFIG','NUM_BLOCKS','1');

    1: WriteString('BLOCK_CONFIG','NUM_BLOCKS','2');

    2: WriteString('BLOCK_CONFIG','NUM_BLOCKS','3');

    end;

    case RadioGroup2.ItemIndex of

    0: WriteString('SORT_CONFIG','SORT_TYPE','1');

    1: WriteString('SORT_CONFIG','SORT_TYPE','2');

    2: WriteString('SORT_CONFIG','SORT_TYPE','3');

    end;

    WriteString('MARK_CONFIG','MARKS_TYPE','ONE_IN_ONE');

    WriteString('MARK_CONFIG','MARKS_VALUE',Edit1.Text);

    UpdateFile;

    end;

    Conf.Free;

    Application.MessageBox('Настройки успешно

    сохранены!','Сообщение',mb_Ok+mb_IconAsterisk);

    ModalResult:=mrCancel;

    except

    Application.MessageBox('Ошибка записи настроек в INI-

    файл!','Ошибка',mb_Ok+mb_IconHand);

    Exit;

    end;

    end;

    end.

    Модуль 5.

    Код этого модуля представляет собой программный вариант распределения

    участников по местам, а также построение распределений по указанным

    параметрам. Проще говоря, модуль отвечает за окно распределения по местам и

    все действия, производимые в нем.

    unit Unit5;

    interface

    uses

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,

    Forms,

    Dialogs, ExtCtrls, StdCtrls, Grids, DBGrids, Buttons, DB, DBTables,

    INIFiles,

    TeeProcs, TeEngine, Chart, TeeFunci, Series, Menus;

    type

    TForm5 = class(TForm)

    Panel1: TPanel;

    Label1: TLabel;

    DBGrid1: TDBGrid;

    GroupBox1: TGroupBox;

    BitBtn1: TBitBtn;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    RadioGroup1: TRadioGroup;

    DataSource1: TDataSource;

    Query1: TQuery;

    PopupMenu1: TPopupMenu;

    N11: TMenuItem;

    N21: TMenuItem;

    N31: TMenuItem;

    N1: TMenuItem;

    N2: TMenuItem;

    N3: TMenuItem;

    N4: TMenuItem;

    N5: TMenuItem;

    ColorDialog1: TColorDialog;

    Chart1: TChart;

    Series1: TBarSeries;

    procedure FormShow(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    procedure RadioGroup1Click(Sender: TObject);

    procedure N11Click(Sender: TObject);

    procedure N3Click(Sender: TObject);

    procedure N4Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form5: TForm5;

    Conf1:TIniFile;

    SortType:String;

    NumMarks:double;

    implementation

    uses Unit1;

    {$R *.dfm}

    procedure TForm5.FormShow(Sender: TObject);

    var

    Default, BCon, MCon:string;

    i:integer;

    blocks, param:array [1..3] of double;

    begin

    NumMarks:=0;

    RadioGroup1.ItemIndex:=3;

    try

    Conf1:=TIniFile.Create(GetCurrentDir+'\Config.ini');

    with Conf1 do

    begin

    BCon:=ReadString('BLOCK_CONFIG','NUM_BLOCKS',Default);

    Label2.Caption:='Количество блоков задач - '+Bcon;

    MCon:=ReadString('MARK_CONFIG','MARKS_TYPE',Default);

    SortType:=ReadString('SORT_CONFIG','SORT_TYPE',Default);

    if MCon='ONE_IN_ONE' then

    begin

    NumMarks:=StrToFloat(ReadString('MARK_CONFIG','MARKS_VALUE',Default));

    Label3.Caption:='Общий балл для всех задач равен

    '+FloatToStr(NumMarks);

    end;

    if SortType='1' then Label4.Caption:='Слабый коллектив (1,2,3)';

    if SortType='2' then Label4.Caption:='Сильный коллектив (1,3,2)';

    if SortType='3' then Label4.Caption:='Смешанный коллектив';

    end;

    Conf1.Free;

    except

    Application.MessageBox('Ошибка чтения из INI-файла. Проверьте

    конфигурацию.','Ошибка',mb_Ok+mb_IconHand);

    Exit;

    end;

    try

    with Query1 do

    begin

    Active:=False;

    SQL.Clear;

    SQL.Add('Select * from "'+Form1.Table1.TableName+'"');

    ExecSQL;

    end;

    Query1.Active:=True;

    Chart1.Enabled:=True;

    DBGrid1.Enabled:=True;

    RadioGroup1.Enabled:=True;

    except

    Application.MessageBox('Ошибка инициализации БД. Возможно не установлен

    BDE, или база не открыта.','Ошибка',mb_Ok+MB_ICONHAND);

    Chart1.Enabled:=False;

    DBGrid1.Enabled:=False;

    RadioGroup1.Enabled:=False;

    Exit;

    end;

    if Query1.RecordCount=0 then

    begin

    Application.MessageBox('В БД нет ни одной

    записи.','Сообщение',mb_Ok+MB_ICONASTERISK);

    RadioGroup1.Enabled:=False;

    Exit;

    end;

    try

    with Query1 do

    begin

    First;

    for i:=1 to RecordCount do

    begin

    if BCon='3' then

    begin

    blocks[1]:=FieldValues['MARK1']+FieldValues['MARK2'];

    blocks[2]:=FieldValues['MARK3']+FieldValues['MARK4'];

    blocks[3]:=FieldValues['MARK5']+FieldValues['MARK6'];

    param[1]:=(blocks[1]+blocks[2]+blocks[3])-3*NumMarks;

    param[2]:=2*(blocks[2]-0.5*(blocks[1]+blocks[3]));

    param[3]:=(blocks[3]-blocks[1])+NumMarks;

    end;

    if Bcon='2' then

    begin

    blocks[1]:=FieldValues['MARK1']+FieldValues['MARK2']+FieldValues['MARK3'];

    blocks[2]:=FieldValues['MARK4']+FieldValues['MARK5']+FieldValues['MARK6'];

    blocks[3]:=0;

    param[1]:=(blocks[1]+blocks[2])-3*NumMarks;

    param[2]:=(blocks[2]-blocks[1])+NumMarks;

    param[3]:=0;

    end;

    if Bcon='1' then

    begin

    blocks[1]:=FieldValues['MARK1']+FieldValues['MARK2']+FieldValues['MARK3']+Fi

    eldValues['MARK4']+FieldValues['MARK5']+FieldValues['MARK6'];

    blocks[2]:=0;

    blocks[3]:=0;

    param[1]:=blocks[1]-NumMarks;

    param[2]:=0;

    param[3]:=0;

    end;

    Edit;

    FieldValues['PARAM1']:=param[1];

    FieldValues['PARAM2']:=param[2];

    FieldValues['PARAM3']:=param[3];

    Next;

    end;

    end;

    except

    Application.MessageBox('Неизвестная

    ошибка!','Ошибка',mb_Ok+MB_ICONHAND);

    Exit;

    end;

    try

    with Query1 do

    begin

    Active:=False;

    SQL.Clear;

    SQL.Add('select * from "'+Form1.Table1.TableName+'"');

    SQL.Add('order by PARAM1 desc, PARAM2 desc, PARAM3 desc');

    ExecSQL;

    end;

    DataSource1.DataSet:=Query1;

    DataSource1.Enabled:=True;

    DBGrid1.DataSource:=DataSource1;

    DBGrid1.Enabled:=True;

    Query1.Active:=True;

    except

    Application.MessageBox('Ошибка выполнения сортировки участников.

    Проверьте конфигурацию.','Ошибка',mb_Ok+MB_ICONHAND);

    Exit;

    end;

    end;

    procedure TForm5.BitBtn1Click(Sender: TObject);

    begin

    ModalResult:=mrOk;

    end;

    procedure TForm5.RadioGroup1Click(Sender: TObject);

    var

    SortStr:string;

    begin

    case RadioGroup1.ItemIndex of

    0: SortStr:='order by PARAM1 desc';

    1: SortStr:='order by PARAM2 desc';

    2: SortStr:='order by PARAM3 desc';

    3: SortStr:='order by PARAM1 desc,PARAM2 desc,PARAM3 desc';

    end;

    if (SortType='1') and (RadioGroup1.ItemIndex=3) then SortStr:='order by

    PARAM1 desc, PARAM3 desc, PARAM3 desc';

    with Query1 do

    begin

    Active:=False;

    SQL.Clear;

    SQL.Add('select * from "'+Form1.Table1.TableName+'"');

    SQL.Add(SortStr);

    ExecSQL;

    Active:=True;

    end;

    end;

    procedure TForm5.N11Click(Sender: TObject);

    var

    i,j,NumI:integer;

    ind,per:double;

    GrPar, GrPercent, parm:array[1..200] of double;

    begin

    NumI:=StrToInt(FloatToStr(NumMarks));

    for i:=0 to 200 do

    begin

    GrPar[i]:=0;

    GrPercent[i]:=0;

    parm[i]:=0;

    end;

    per:=0;

    ind:=0;

    Query1.First;

    if Sender=N11 then

    begin

    for j:=1 to Query1.RecordCount do

    begin

    parm[j]:=Query1.FieldValues['PARAM1'];

    Query1.Next;

    end;

    ind:=-3*NumMarks;

    for i:=1 to 6*NumI+1 do

    begin

    for j:=1 to Query1.RecordCount do

    begin

    if ind=parm[j] then per:=per+1;

    end;

    GrPar[i]:=ind;

    GrPercent[i]:=per/Query1.RecordCount;

    per:=0;

    ind:=ind+1;

    end;

    Series1.Clear;

    Chart1.BottomAxis.Title.Caption:='Параметр 1';

    Chart1.BottomAxis.Minimum:=-3*NumMarks;

    Chart1.BottomAxis.Maximum:=ind-1;

    For i:=0 to 6*NumI+1 do

    begin

    Series1.AddXY(GrPar[i],GrPercent[i]);

    end;

    end;

    if Sender=N21 then

    begin

    for j:=1 to Query1.RecordCount do

    begin

    parm[j]:=Query1.FieldValues['PARAM2'];

    Query1.Next;

    end;

    ind:=-2*NumMarks;

    for i:=1 to 4*NumI+1 do

    begin

    for j:=1 to Query1.RecordCount do

    begin

    if ind=parm[j] then per:=per+1;

    end;

    GrPar[i]:=ind;

    GrPercent[i]:=per/Query1.RecordCount;

    per:=0;

    ind:=ind+1;

    end;

    Series1.Clear;

    Chart1.BottomAxis.Title.Caption:='Параметр 2';

    Chart1.BottomAxis.Minimum:=-2*NumMarks;

    Chart1.BottomAxis.Maximum:=ind-1;

    For i:=0 to 4*NumI+1 do

    begin

    Series1.AddXY(GrPar[i],GrPercent[i]);

    end;

    end;

    if Sender=N31 then

    begin

    for j:=1 to Query1.RecordCount do

    begin

    parm[j]:=Query1.FieldValues['PARAM3'];

    Query1.Next;

    end;

    ind:=-1*NumMarks;

    for i:=1 to 2*NumI+1 do

    begin

    for j:=1 to Query1.RecordCount do

    begin

    if ind=parm[j] then per:=per+1;

    end;

    GrPar[i]:=ind;

    GrPercent[i]:=per/Query1.RecordCount;

    per:=0;

    ind:=ind+1;

    end;

    Series1.Clear;

    Chart1.BottomAxis.Title.Caption:='Параметр 3';

    Chart1.BottomAxis.Minimum:=-1*NumMarks;

    Chart1.BottomAxis.Maximum:=ind-1;

    For i:=0 to 2*NumI+1 do

    begin

    Series1.AddXY(GrPar[i],GrPercent[i]);

    end;

    end;

    if Sender=N1 then

    begin

    for j:=1 to Query1.RecordCount do

    begin

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


    Приглашения

    09.12.2013 - 16.12.2013

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

    09.12.2013 - 16.12.2013

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




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