Малинникова Ирина Сергеевна (фамилия, имя, отчество студента) диплом

Вид материалаДиплом
Подобный материал:
1   2   3   4   5   6   7   8   9

RadioGroup1.Visible:=false;

RadioGroup2.Visible:=false;

RadioGroup3.Visible:=false;

StringGrid1.Visible:=false;

for i:= 1 to x do

begin

StringGrid1.Cells[0,i]:='';

StringGrid1.Cells[1,i]:='';

StringGrid1.Cells[2,i]:='';

end;

StringGrid1.RowCount:=2;

StringGrid1.Height:=28;

Label1.Caption:='Введите количество исследований ==>';

// Очистка

Image1.Visible:=false;

Image2.Visible:=false;

Label6.Visible:=false;

Image1.Canvas.Pen.Color := clRed;

Image1.Canvas.Brush.Color := clWhite;

Image1.Canvas.Rectangle(3,1,29,113);

Image2.Canvas.Pen.Color := clBlue;

Image2.Canvas.Brush.Color := clWhite;

Image2.Canvas.Rectangle(3,1,29,113);

Edit5.Text:='0';

Edit6.Text:='0';

end;

// Сохранение в файл

procedure SaveStringGrid(StringGrid: TStringGrid; const FileName: TFileName);

var

f: TextFile;

i, k: Integer;

begin

AssignFile(f, FileName);

Rewrite(f);

with StringGrid do

begin

for i := 1 to ColCount - 1 do

for k := 0 to RowCount - 1 do

Writeln(F, Cells[i, k]);

end;

CloseFile(F);

AssignFile(f, FileName);

append(f);

Writeln(F, 'среднее значение 1=',Copy(Floattostr(sr1),1,Pos('.',Floattostr(sr1))+4), ' * ', 'среднее значеие 2=',Copy(Floattostr(sr2),1,Pos('.',Floattostr(sr2))+4),' * ',t,' * ', Ssr1,' * ', N);

CloseFile(F);

end;

// Описание кнопки «Сохранить»

procedure TForm1.Button6Click(Sender: TObject);

begin

SaveStringGrid(StringGrid1, 'c:\rezultat.txt');

Showmessage('Файл сохранен"c:\rezultat.txt"');

end;

// Расчет стандартного отклонения

procedure TForm1.Button7Click(Sender: TObject);

begin

Label1.Visible:=true;

Label9.Visible:=true;

Label10.Visible:=true;

Label11.Visible:=true;

Label2.Visible:=true;

Edit5.Visible:=true;

Edit6.Visible:=true;

RadioGroup1.Visible:=false;

RadioGroup2.Visible:=false;

RadioGroup3.Visible:=false;

Label9.Caption:='Стандартное'+#13+'отклонение';

Label10.Caption:='Традиционный метод';

Label11.Caption:='Пескоструйный метод';

for i:=1 to x do

if (stringGrid1.Cells[1,i]='') or (stringGrid1.Cells[2,i]='') then

begin

MessageDlg('Таблица не заполнена!'+#13+'Пустые ячейки будут заполнены значением "0"',

mtWarning , [mbOk], 0);

break;

end;

for i:=1 to x do

if stringGrid1.Cells[1,i]='' then

begin

d:=0;

stringGrid1.Cells[1,i]:=inttostr(d);

end

else

begin

stringGrid1.Cells[1,i+1];

end;

for i:=1 to x do

if stringGrid1.Cells[2,i]='' then

begin

d:=0;

stringGrid1.Cells[2,i]:=inttostr(d);

end

else

begin

stringGrid1.Cells[2,i+1];

end;

sum1:=0;

sum2:=0;

for i:= 1 to x do

sum1:= sum1+strtofloat(stringGrid1.Cells[1,i]);

sr1:=sum1/x;

for i:= 1 to x do

sum2:= sum2+strtofloat(stringGrid1.Cells[2,i]);

sr2:=sum2/x;

if RadioGroup2.ItemIndex = 0 then

Label2.Caption:='Анализ результатов исследования образцов на разрыв'

else

Label2.Caption:='Анализ результатов исследования образцов на сдвиг';

if RadioGroup3.ItemIndex=0 then

Label3.Caption:=' Проводилась' +#13+ '"протравка" полости'

else

Label3.Caption:=' "Протравка"'+#13+'полости не проводилась';

case RadioGroup1.ItemIndex of

0: Label4.Caption:='Проводилась промывка'+#13+' полости I степени';

1: Label4.Caption:='Проводилась промывка'+#13+' полости II степени';

2: Label4.Caption:='Проводилась промывка'+#13+' полости III степени';

end;

for i:= 1 to x do

sum1:= sum1+strtofloat(stringGrid1.Cells[1,i]);

sr1:=sum1/x;

a:=0;

sumQ1:=0;disp1:=0;

for i:= 1 to x do

begin

a:=strtofloat(stringGrid1.Cells[1,i]);

sumQ1:=sumQ1+sqr(a-sr1);

end;

otklon1:=sqrt(sumQ1/(x-1));

Edit5.Text:=floattostr(otklon1);

for i:= 1 to x do

sum2:= sum2+strtofloat(stringGrid1.Cells[2,i]);

sr2:=sum2/x;

a:=0;

sumQ2:=0;disp2:=0;

for i:= 1 to x do

begin

a:=strtofloat(stringGrid1.Cells[2,i]);

sumQ2:=sumQ2+sqr(a-sr2);

end;

otklon2:=sqrt(sumQ2/(x-1));

Edit6.Text:=floattostr(otklon2);

end;

// Расчет минимального значения

procedure TForm1.Button8Click(Sender: TObject);

begin

Label1.Visible:=true;

Label2.Visible:=true;

Label10.Visible:=true;

Label11.Visible:=true;

Label12.Visible:=true;

Edit7.Visible:=true;

Edit8.Visible:=true;

RadioGroup1.Visible:=false;

RadioGroup2.Visible:=false;

RadioGroup3.Visible:=false;

Label12.Caption:='Минимальное'+#13'значение';

Label10.Caption:='Традиционный метод';

Label11.Caption:='Пескоструйный метод';

for i:=1 to x do

if (stringGrid1.Cells[1,i]='') or (stringGrid1.Cells[2,i]='') then

begin

MessageDlg('Таблица не заполнена!'+#13+'Пустые ячейки будут заполнены значением "0"',

mtWarning , [mbOk], 0);

break;

end;

for i:=1 to x do

if (stringGrid1.Cells[1,i]='') or (stringGrid1.Cells[2,i]='') then

begin

MessageDlg('Таблица не заполнена!'+#13+'Пустые ячейки будут заполнены значением "0"',

mtWarning , [mbOk], 0);

break;

end;

for i:=1 to x do

if stringGrid1.Cells[1,i]='' then

begin

d:=0;

stringGrid1.Cells[1,i]:=inttostr(d);

end

else

begin

stringGrid1.Cells[1,i+1];

end;

for i:=1 to x do

if stringGrid1.Cells[2,i]='' then

begin

d:=0;

stringGrid1.Cells[2,i]:=inttostr(d);

end

else

begin

stringGrid1.Cells[2,i+1];

end;

sum1:=0;

sum2:=0;

for i:= 1 to x do

sum1:= sum1+strtofloat(stringGrid1.Cells[1,i]);

sr1:=sum1/x;

for i:= 1 to x do

sum2:= sum2+strtofloat(stringGrid1.Cells[2,i]);

sr2:=sum2/x;

if RadioGroup2.ItemIndex = 0 then

Label2.Caption:='Анализ результатов исследования образцов на разрыв'

else

Label2.Caption:='Анализ результатов исследования образцов на сдвиг';

if RadioGroup3.ItemIndex=0 then

Label3.Caption:=' Проводилась' +#13+ '"протравка" полости'

else

Label3.Caption:=' "Протравка"'+#13+'полости не проводилась';

case RadioGroup1.ItemIndex of

0: Label4.Caption:='Проводилась промывка'+#13+' полости I степени';

1: Label4.Caption:='Проводилась промывка'+#13+' полости II степени';

2: Label4.Caption:='Проводилась промывка'+#13+' полости III степени';

end;

min1:=strtofloat(stringGrid1.Cells[1,1]);

for i:= 1 to x do

begin

a:=strtofloat(stringGrid1.Cells[1,i]);

if min1>a then min1:=a;

Edit7.Text:=floattostr(min1);

end;

begin

min2:=strtofloat(stringGrid1.Cells[2,1]);

for i:= 1 to x do

begin

a:=strtofloat(stringGrid1.Cells[2,i]);

if min2>a then min2:=a;

Edit8.Text:=floattostr(min2);

end;

end;

end;

// Расчет максимального значения

procedure TForm1.Button9Click(Sender: TObject);

begin

Label1.Visible:=true;

Label2.Visible:=true;

Label10.Visible:=true;

Label11.Visible:=true;

Label13.Visible:=true;

Edit9.Visible:=true;

Edit10.Visible:=true;

RadioGroup1.Visible:=false;

RadioGroup2.Visible:=false;

RadioGroup3.Visible:=false;

Label13.Caption:='Максимальное'+#13'значение';

Label10.Caption:='Традиционный метод';

Label11.Caption:='Пескоструйный метод';

for i:=1 to x do

if (stringGrid1.Cells[1,i]='') or (stringGrid1.Cells[2,i]='') then

begin

MessageDlg('Таблица не заполнена!'+#13+'Пустые ячейки будут заполнены значением"0"',

mtWarning , [mbOk], 0);

break;

end;

for i:=1 to x do

if stringGrid1.Cells[1,i]='' then

begin

d:=0;

stringGrid1.Cells[1,i]:=inttostr(d);

end

else

begin

stringGrid1.Cells[1,i+1];

end;

for i:=1 to x do

if stringGrid1.Cells[2,i]='' then

begin

d:=0;

stringGrid1.Cells[2,i]:=inttostr(d);

end

else

begin

stringGrid1.Cells[2,i+1];

end;

sum1:=0;

sum2:=0;

for i:= 1 to x do

sum1:= sum1+strtofloat(stringGrid1.Cells[1,i]);

sr1:=sum1/x;

for i:= 1 to x do

sum2:= sum2+strtofloat(stringGrid1.Cells[2,i]);

sr2:=sum2/x;

if RadioGroup2.ItemIndex = 0 then

Label2.Caption:='Анализ результатов исследования образцов на разрыв'

else

Label2.Caption:='Анализ результатов исследования образцов на сдвиг';

if RadioGroup3.ItemIndex=0 then

Label3.Caption:=' Проводилась' +#13+ '"протравка" полости'

else

Label3.Caption:=' "Протравка"'+#13+'полости не проводилась';

case RadioGroup1.ItemIndex of

0: Label4.Caption:='Проводилась промывка'+#13+' полости I степени';

1: Label4.Caption:='Проводилась промывка'+#13+' полости II степени';

2: Label4.Caption:='Проводилась промывка'+#13+' полости III степени';

end;

max1:=0;

for i:= 1 to x do

begin

a:=strtofloat(stringGrid1.Cells[1,i]);

if a>max1 then max1:=a;

Edit9.Text:=floattostr(max1);

end;

max2:=0;

for i:= 1 to x do

begin

a:=strtofloat(stringGrid1.Cells[2,i]);

if a>max2 then max2:=a;

Edit10.Text:=floattostr(max2);

end;

end;

// Расчет размаха выборки

procedure TForm1.Button10Click(Sender: TObject);

begin

if (Edit7.Text='') or (Edit8.Text='')then

begin

MessageDlg('Необходимо рассчитать Min', mtError , [mbOk], 0);

end;

if (Edit9.Text='') or (Edit10.Text='')then

begin

MessageDlg('Необходимо рассчитать Max', mtError , [mbOk], 0);

end

else

begin

Label1.Visible:=true;

Label2.Visible:=true;

Label10.Visible:=true;

Label11.Visible:=true;

Label14.Visible:=true;

Edit11.Visible:=true;

Edit12.Visible:=true;

Label14.Caption:='Размах';

Label10.Caption:='Традиционный метод';

Label11.Caption:='Пескоструйный метод';

for i:=1 to x do

if (stringGrid1.Cells[1,i]='') or (stringGrid1.Cells[2,i]='') then

begin

MessageDlg('Таблица не заполнена!'+#13+'Пустые ячейки будут заполнены значением "0"',

mtWarning , [mbOk], 0);

break;

end;

for i:=1 to x do

if stringGrid1.Cells[1,i]='' then

begin

d:=0;

stringGrid1.Cells[1,i]:=inttostr(d);

end

else

begin

stringGrid1.Cells[1,i+1];

end;

for i:=1 to x do

if stringGrid1.Cells[2,i]='' then

begin

d:=0;

stringGrid1.Cells[2,i]:=inttostr(d);

end

else

begin

stringGrid1.Cells[2,i+1];

end;

sum1:=0;

sum2:=0;

for i:= 1 to x do

sum1:= sum1+strtofloat(stringGrid1.Cells[1,i]);

sr1:=sum1/x;

for i:= 1 to x do

sum2:= sum2+strtofloat(stringGrid1.Cells[2,i]);

sr2:=sum2/x;

if RadioGroup2.ItemIndex = 0 then

Label2.Caption:='Анализ результатов исследования образцов на разрыв'

else

Label2.Caption:='Анализ результатов исследования образцов на сдвиг';

if RadioGroup3.ItemIndex=0 then

Label3.Caption:=' Проводилась' +#13+ '"протравка" полости'

else

Label3.Caption:=' "Протравка"'+#13+'полости не проводилась';

case RadioGroup1.ItemIndex of

0: Label4.Caption:='Проводилась промывка'+#13+' полости I степени';

1: Label4.Caption:='Проводилась промывка'+#13+' полости II степени';

2: Label4.Caption:='Проводилась промывка'+#13+' полости III степени';

end;

razmax1:=max1-min1;

razmax2:=max2-min2;

Edit11.Text:=floattostr(razmax1);

Edit12.Text:=floattostr(razmax2);

end;

end;

end.