Приложение. Исходный код системы (по модулям).

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);

Перейти на страницу: 1 2 3 4 5 6 7 8 9