Смекни!
smekni.com

Расчёт статически определяемых стержневых систем неравного сечения на растяжение-сжатие (стр. 3 из 10)

end; if combobox1.Text='3' then begin

a:=3;

Edit2.Visible:=true;

Edit3.Visible:=true;

Edit5.Visible:=true;

Edit6.Visible:=true;

Form1.Label9.Visible:=true;

Form1.Label10.Visible:=true;

Edit1.Text:='';

Edit2.Text:='';

Edit3.Text:='';

Edit4.Text:='';

Edit5.Text:='';

Edit6.Text:='';

end; end;


procedure TForm1.ComboBox2Change(Sender: TObject); begin if combobox2.Text='1' then begin

b:=1;

Edit8.Visible:=false;

Edit9.Visible:=false;

Edit11.Visible:=false;

Edit12.Visible:=false;

ComboBox3.Visible:=true;

ComboBox4.Visible:=false;

ComboBox5.Visible:=false;

Edit7.Text:='';

Edit8.Text:='1';

Edit9.Text:='1';

Edit10.Text:='';

Edit11.Text:='1';

Edit12.Text:='1';

end; if combobox2.Text='2' then begin

b:=2;

Edit8.Visible:=true;

Edit9.Visible:=false;

Edit11.Visible:=true;

Edit12.Visible:=false;

ComboBox3.Visible:=true;

ComboBox4.Visible:=true;

ComboBox5.Visible:=false;

Edit7.Text:='';

Edit8.Text:='';

Edit9.Text:='1';

Edit10.Text:='';

Edit11.Text:='';

Edit12.Text:='1';

end; if combobox2.Text='3' then begin

b:=3;

Edit8.Visible:=true;

Edit9.Visible:=true;

Edit11.Visible:=true;

Edit12.Visible:=true;

ComboBox3.Visible:=true;

ComboBox4.Visible:=true;

ComboBox5.Visible:=true;

Edit7.Text:='';

Edit8.Text:='';

Edit9.Text:='';

Edit10.Text:='';

Edit11.Text:='';

Edit12.Text:='';

end; end;


procedure TForm1.ComboBox3Change(Sender: TObject); begin if ComboBox3.Text='Влево' then s1:=-1

else s1:=1; end;


procedure TForm1.ComboBox4Change(Sender: TObject); begin if ComboBox4.Text='Влево' then s2:=-1

else s2:=1; end;


procedure TForm1.ComboBox5Change(Sender: TObject); begin if ComboBox5.Text='Влево' then s3:=-1

else s3:=1; end;


procedure TForm1.ComboBox6Change(Sender: TObject); begin m:=0.001; if ComboBox6.Text='м' then m:=0.001; if ComboBox6.Text='см' then m:=0.0000001; if ComboBox6.Text='мм' then m:=0.000000001;


if ComboBox6.Text='м' then begin Form1.Label7.Caption:='метрах'; Form1.Label16.Left:=672; end;


if ComboBox6.Text='см' then begin Form1.Label7.Caption:='сантиметрах'; Form1.Label16.Left:=704; end;


if ComboBox6.Text='мм' then begin Form1.Label7.Caption:='миллиметрах'; Form1.Label16.Left:=704; end;


end;


procedure ed1; var l,gor:real; begin l:=strtoint(form1.Edit1.Text); gor:=(440/l); d12:=(gor*l); end;


procedure ed2; var d1,d2,gor,l,l1,l2,l4,l5:real; begin l1:=strtoint(form1.Edit1.Text); l2:=strtoint(form1.Edit2.Text); l4:=strtoint(form1.Edit4.Text); l5:=strtoint(form1.Edit5.Text); if l4>l5 then begin

d1:=50;

d2:=(50/l4)*l5;

end; if l4<l5 then begin

d1:=(50/l5)*l4;

d2:=50;

end; l:=l1+l2; gor:=(440/l); d12:=(gor*l1); d22:=(gor*l); r11:=(55-d1/2); r12:=(55+d1/2); r21:=(55-d2/2); r22:=(55+d2/2)


end;


procedure ed3; var d1,d2,d3,l,l1,l2,l3,l4,l5,l6,gor:real; begin l1:=strtoint(form1.Edit1.Text); l2:=strtoint(form1.Edit2.Text); l3:=strtoint(form1.Edit3.Text); l4:=strtoint(form1.Edit4.Text); l5:=strtoint(form1.Edit5.Text); l6:=strtoint(form1.Edit6.Text); if (l4>l5) and (l4>l6) then begin

d1:=50;

d2:=((50/l4)*l5);

d3:=((50/l4)*l6);

end; if (l4<l5) and (l5>l6) then begin

d1:=((50/l5)*l4);

d2:=50;

d3:=((50/l5)*l6);

end; if (l4<l6) and (l5<l6) then begin

d1:=((50/l6)*l4);

d2:=((50/l6)*l5);

d3:=50;

end; l:=l1+l2+l3; gor:=(440/l); d12:=(gor*l1); d22:=(gor*l2)+d12; d32:=(gor*l); r11:=(55-d1/2); r12:=(55+d1/2); r21:=(55-d2/2); r22:=(55+d2/2); r31:=(55-d3/2); r32:=(55+d3/2);


end;


procedure si1; var l,l1,l2,l3,l7:real; begin l1:=(strtofloat(Form1.Edit1.Text)); l7:=(strtofloat(Form1.Edit7.Text)); if a=1 then l:=l1; if a=2 then begin

l2:=(strtofloat(Form1.Edit2.Text));

l:=l1+l2;

end; if a=3 then begin

l2:=(strtofloat(Form1.Edit2.Text));

l3:=(strtofloat(Form1.Edit3.Text));

l:=l1+l2+l3;

end; p1:=((440/l)*l7);


f1:=strtofloat(Form1.Edit10.Text)*s1;


sil7:=abs(f1);


sil7:=(70/sil7)*f1;


end;


procedure si2; var l,l1,l2,l3,l7,l8,l10,l11,gor:real; begin l1:=(strtofloat(Form1.Edit1.Text)); l7:=(strtofloat(Form1.Edit7.Text)); l8:=(strtofloat(Form1.Edit8.Text)); l10:=(strtofloat(Form1.Edit10.Text)); l11:=(strtofloat(Form1.Edit11.Text)); if l10>l11 then begin

z1:=70;

z2:=((70/l10)*l11);

end; if l10=l11 then begin

z1:=70;

z2:=70;

end; if l10<l11 then begin

z1:=((70/l11)*l10);

z2:=70;

end; if a=1 then l:=l1; if a=2 then begin

l2:=(strtofloat(Form1.Edit2.Text));

l:=l1+l2;

end; if a=3 then begin

l2:=(strtofloat(Form1.Edit2.Text));

l3:=(strtofloat(Form1.Edit3.Text));

l:=l1+l2+l3;

end;


gor:=(440/l); p1:=(gor*l7); p2:=(gor*l8);


end;


procedure si3; var mas:array[1..3] of real; per,l,l1,l2,l3,l7,l8,l9,l10,l11,l12,gor:real; i,ii:integer; begin l1:=(strtofloat(Form1.Edit1.Text)); l7:=(strtofloat(Form1.Edit7.Text)); l8:=(strtofloat(Form1.Edit8.Text)); l9:=(strtofloat(Form1.Edit9.Text)); l10:=(strtofloat(Form1.Edit10.Text)); l11:=(strtofloat(Form1.Edit11.Text)); l12:=(strtofloat(Form1.Edit12.Text));


mas[1]:=l10; mas[2]:=l11; mas[3]:=l12;

for ii:=1 to 3 do

for i:=1 to 2 do

if mas[i]<>0 then

if mas[i]>mas[i+1] then

begin

per:=mas[i];

mas[i]:=mas[i+1];

mas[i+1]:=per;

end; z1:=((70/mas[3])*l10); z2:=((70/mas[3])*l11); z3:=((70/mas[3])*l12);


if a=1 then l:=l1; if a=2 then begin

l2:=(strtofloat(Form1.Edit2.Text));

l:=l1+l2;

end; if a=3 then begin

l2:=(strtofloat(Form1.Edit2.Text));

l3:=(strtofloat(Form1.Edit3.Text));

l:=l1+l2+l3;

end;


gor:=(440/l); p1:=(gor*l7); p2:=(gor*l8); p3:=(gor*l9); end;


procedure obr2; var sil:array[1..2] of real; i,ii:integer; per:real; begin if b=2 then begin

si2;

i1:=469;

if p1>p2 then begin

i2:=29+p1;

i3:=29+p2;

end;

if p1<p2 then begin

i2:=29+p2;

i3:=29+p1;

end;

if p1=p2 then begin

i2:=29+p1;

i3:=29+p2;

end;

end;


f1:=(strtofloat(Form1.Edit11.Text)*s2+strtofloat(Form1.Edit10.Text)*s1); f2:=strtofloat(Form1.Edit11.Text)*s2;


sil[1]:=abs(f1); sil[2]:=abs(f2);


for ii:=1 to 2 do

for i:=1 to 1 do

if sil[i]<>0 then

if sil[i]>sil[i+1] then

begin

per:=sil[i];

sil[i]:=sil[i+1];

sil[i+1]:=per;

end;


sil8[1]:=(70/sil[2])*f1; sil8[2]:=(70/sil[2])*f2; end;


procedure obr3; var mas:array[1..3] of real; sil:array[1..3] of real; per:real; i,ii:integer; begin if b=3 then begin si3; mas[1]:=29+p1; mas[2]:=29+p2; mas[3]:=29+p3;

for ii:=1 to 3 do

for i:=1 to 2 do

if mas[i]<>0 then

if mas[i]>mas[i+1] then

begin

per:=mas[i];

mas[i]:=mas[i+1];

mas[i+1]:=per;

end; i1:=469; i2:=(mas[3]); i3:=(mas[2]); i4:=(mas[1]); f1:=(strtofloat(Form1.Edit12.Text)*s3+strtofloat(Form1.Edit11.Text)*s2+strtofloat(Form1.Edit10.Text)*s1); f2:=(strtofloat(Form1.Edit12.Text)*s3+strtofloat(Form1.Edit11.Text)*s2); f3:=(strtofloat(Form1.Edit12.Text)*s3); sil[1]:=abs(f1); sil[2]:=abs(f2); sil[3]:=abs(f3);


for ii:=1 to 3 do

for i:=1 to 2 do

if sil[i]<>0 then

if sil[i]>sil[i+1] then

begin

per:=sil[i];

sil[i]:=sil[i+1];

sil[i+1]:=per;

end;


sil9[1]:=(70/sil[3])*f1; sil9[2]:=(70/sil[3])*f2; sil9[3]:=(70/sil[3])*f3;


end; end;


procedure obr4; begin if (a=2) and (b=1) then begin

ed2;

si1;

i1:=29+d22;

if p1>d12 then begin

i2:=29+p1;

i3:=29+d12;

end;

if p1<d12 then begin

i2:=29+d12;

i3:=29+p1;

end;

if p1=d12 then begin

i2:=29+p1;

i3:=29+d12;

end;

end; end;


procedure obr5; var mas:array[1..3] of real; per:real; i,ii:integer; begin if (a=2) and (b=2) then begin ed2; si2; mas[1]:=29+p1; mas[2]:=29+p2; mas[3]:=29+d12;

for ii:=1 to 3 do

for i:=1 to 2 do

if mas[i]<>0 then

if mas[i]>mas[i+1] then

begin

per:=mas[i];

mas[i]:=mas[i+1];

mas[i+1]:=per;

end; i1:=29+d22; i2:=mas[3]; i3:=mas[2]; i4:=mas[1];


end; end;


procedure obr6; var mas:array[1..4] of real; per:real; i,ii:integer; begin if (a=2) and (b=3) then begin si3; ed2; i1:=29+d22; mas[1]:=29+p1; mas[2]:=29+p2; mas[3]:=29+p3; mas[4]:=29+d12;

for ii:=1 to 4 do

for i:=1 to 3 do

if mas[i]<>0 then

if mas[i]>mas[i+1] then

begin

per:=mas[i];

mas[i]:=mas[i+1];

mas[i+1]:=per;

end; i2:=mas[4]; i3:=mas[3]; i4:=mas[2]; i5:=mas[1]; end; end;


procedure obr7; var mas:array[1..3] of real; per:real; i,ii:integer; begin if (a=3) and (b=1) then begin ed3; si1; i1:=29+d32; mas[1]:=29+d12; mas[2]:=29+d22; mas[3]:=29+p1;

for ii:=1 to 3 do

for i:=1 to 2 do

if mas[ii]<>0 then

if mas[ii]>mas[ii+1] then

begin

per:=mas[i];

mas[i]:=mas[i+1];

mas[i+1]:=per;

end; i2:=mas[3]; i3:=mas[2]; i4:=mas[1];


end; end;


procedure obr8; var mas:array[1..4] of real; per:real; i,ii:integer; begin if (a=3) and (b=2) then begin ed3; si2; i1:=29+d32; mas[1]:=29+d12; mas[2]:=29+d22; mas[3]:=29+p1; mas[4]:=29+p2;

for ii:=1 to 4 do

for i:=1 to 3 do

if mas[i]<>0 then

if mas[i]>mas[i+1] then

begin

per:=mas[i];

mas[i]:=mas[i+1];

mas[i+1]:=per;

end; i2:=mas[4]; i3:=mas[3]; i4:=mas[2]; i5:=mas[1]; end; end;


procedure obr9; var mas:array[1..5] of real; per:real; i,ii:integer; begin if (a=3) and (b=3) then begin ed3; si3; i1:=d32+29; mas[1]:=29+p1; mas[2]:=29+p2; mas[3]:=29+p3; mas[4]:=29+d12; mas[5]:=29+d22;

for ii:=1 to 5 do

for i:=1 to 4 do

if mas[i]<>0 then

if mas[i]>mas[i+1] then

begin

per:=mas[i];

mas[i]:=mas[i+1];

mas[i+1]:=per;

end; i2:=mas[5]; i3:=mas[4]; i4:=mas[3]; i5:=mas[2]; i6:=mas[1];


end; end;


procedure epi1; var mash:array[1..2] of real; mas:real; per,l10:real; i,ii:integer; begin


ep11[1]:=strtofloat(Form1.Edit1.Text); ep11[2]:=strtofloat(Form1.Edit7.Text);


l10:=strtofloat(Form1.Edit10.Text);


u1:=strtofloat(Form1.Edit4.Text);


if ep11[2]>ep11[1] then u2:=0; if ep11[2]<=ep11[1] then u2:=strtofloat(Form1.Edit4.Text);


for i:=1 to 2 do ep12[i]:=59+(440/ep11[1])*ep11[i];


if ep11[1]>ep11[2] then mas:=0; if ep11[2]>=ep11[1] then mas:=(l10*s1)/u2;


mash[1]:=abs((l10*s1)/u1); mash[2]:=abs(mas);


for ii:=1 to 2 do

for i:=1 to 1 do

if mash[i]<>0 then

if mash[i]>mash[i+1] then

begin

per:=mash[i];

mash[i]:=mash[i+1];

mash[i+1]:=per; end;


ep13[1]:=(70/mash[2])*mas; ep13[2]:=(70/mash[2])*((l10*s1)/u2);


pos1[1]:=abs(mas); pos1[2]:=abs((l10*s1)/u2);


masif1[1]:=(mas); masif1[2]:=((l10*s1)/u2);


for ii:=1 to 2 do

for i:=1 to 1 do

if ep11[i]<>0 then

if ep11[i]>ep11[i+1] then

begin

per:=ep11[i];

ep11[i]:=ep11[i+1];

ep11[i+1]:=per;

per:=ep12[i];

ep12[i]:=ep12[i+1];

ep12[i+1]:=per;

per:=ep13[i];

ep13[i]:=ep13[i+1];

ep13[i+1]:=per;

per:=masif1[i];

masif1[i]:=masif1[i+1];

masif1[i+1]:=per;

per:=pos1[i];

pos1[i]:=pos1[i+1];

pos1[i+1]:=per;

end;


masif1[1]:=masif1[1]*ep11[1]; masif1[2]:=masif1[1]+(masif1[2]*(ep11[2]-ep11[1]));


for i:=1 to 2 do chis1[i]:=masif1[i];


for i:=1 to 2 do mash[i]:=abs(masif1[i]);


for ii:=1 to 2 do

for i:=1 to 1 do

if mash[i]<>0 then

if mash[i]>mash[i+1] then

begin

per:=mash[i];

mash[i]:=mash[i+1];

mash[i+1]:=per; end;


for i:=1 to 2 do masif1[i]:=((70/mash[2])*masif1[i]); end;


procedure epi2; var mash:array[1..3] of real; mas:real; per,l10,l11:real; i,ii:integer; begin


ep21[1]:=strtofloat(Form1.Edit1.Text); ep21[2]:=strtofloat(Form1.Edit7.Text); ep21[3]:=strtofloat(Form1.Edit8.Text);


l11:=strtofloat(Form1.Edit11.Text); l10:=strtofloat(Form1.Edit10.Text);


u1:=strtofloat(Form1.Edit4.Text);


if ep21[2]>ep21[1] then u2:=0; if ep21[2]<=ep21[1] then u2:=strtofloat(Form1.Edit4.Text); if ep21[3]>ep21[1] then u3:=0; if ep21[3]<=ep21[1] then u3:=strtofloat(Form1.Edit4.Text);


for i:=1 to 3 do ep22[i]:=59+(440/ep21[1])*ep21[i];


if ep21[1]>ep21[3] then mas:=0; if (ep21[3]>=ep21[1]) and (ep21[2]<ep21[1]) then mas:=(l11*s2)/u1;


mash[1]:=abs((l10*s1)+(l11*s2))/u2; mash[2]:=abs((l11*s2)/u3); mash[3]:=abs(mas);


for ii:=1 to 3 do

for i:=1 to 2 do

if mash[i]<>0 then

if mash[i]>mash[i+1] then

begin

per:=mash[i];

mash[i]:=mash[i+1];

mash[i+1]:=per; end;


ep23[1]:=(70/mash[3])*mas; ep23[2]:=(70/mash[3])*(((l10*s1)+(l11*s2))/u2); ep23[3]:=(70/mash[3])*((l11*s2)/u3);


pos2[1]:=abs(mas); pos2[2]:=abs(((l10*s1)+(l11*s2))/u2); pos2[3]:=abs((l11*s2)/u3);


masif2[1]:=(mas); masif2[2]:=(((l10*s1)+(l11*s2))/u2); masif2[3]:=((l11*s2)/u3);


for ii:=1 to 3 do

for i:=1 to 2 do

if ep21[i]<>0 then

if ep21[i]>ep21[i+1] then

begin

per:=ep21[i];

ep21[i]:=ep21[i+1];

ep21[i+1]:=per;

per:=ep22[i];

ep22[i]:=ep22[i+1];

ep22[i+1]:=per;

per:=ep23[i];

ep23[i]:=ep23[i+1];

ep23[i+1]:=per;

per:=masif2[i];

masif2[i]:=masif2[i+1];

masif2[i+1]:=per;

per:=pos2[i];

pos2[i]:=pos2[i+1];

pos2[i+1]:=per;

end;


masif2[1]:=masif2[1]*ep21[1]; masif2[2]:=masif2[1]+(masif2[2]*(ep21[2]-ep21[1])); masif2[3]:=masif2[2]+(masif2[3]*(ep21[3]-ep21[2]));


for i:=1 to 3 do chis2[i]:=masif2[i];


for i:=1 to 3 do mash[i]:=abs(masif2[i]);


for ii:=1 to 3 do

for i:=1 to 2 do

if mash[i]<>0 then

if mash[i]>mash[i+1] then

begin

per:=mash[i];

mash[i]:=mash[i+1];

mash[i+1]:=per; end;


for i:=1 to 3 do masif2[i]:=((70/mash[3])*masif2[i]); end;


procedure epi3; var mash:array[1..4] of real; mas:real; per,l10,l11,l12:real; i,ii:integer; begin


ep31[1]:=strtofloat(Form1.Edit1.Text); ep31[2]:=strtofloat(Form1.Edit7.Text); ep31[3]:=strtofloat(Form1.Edit8.Text); ep31[4]:=strtofloat(Form1.Edit9.Text);


l10:=strtofloat(Form1.Edit10.Text); l11:=strtofloat(Form1.Edit11.Text); l12:=strtofloat(Form1.Edit12.Text);


u1:=strtofloat(Form1.Edit4.Text);


if ep31[2]<=ep31[1] then u2:=strtofloat(Form1.Edit4.Text); if ep31[3]<=ep31[1] then u3:=strtofloat(Form1.Edit4.Text); if ep31[4]<=ep31[1] then u4:=strtofloat(Form1.Edit4.Text);


for i:=1 to 4 do ep32[i]:=59+(440/ep31[1])*ep31[i];


if ep31[1]<ep31[4] then mas:=0 else mas:=(l12*s3)/u1;


mash[1]:=abs((l11*s2)+(l12*s3))/u3; mash[2]:=abs((l12*s3)/u4); mash[3]:=abs(mas); mash[4]:=abs(((l10*s1)+(l11*s2)+(l12*s3))/u2);


for ii:=1 to 4 do

for i:=1 to 3 do

if mash[i]<>0 then

if mash[i]>mash[i+1] then

begin

per:=mash[i];

mash[i]:=mash[i+1];

mash[i+1]:=per; end;


ep33[1]:=(70/mash[4])*mas; ep33[2]:=(70/mash[4])*(((l10*s1)+(l11*s2)+(l12*s3))/u2); ep33[3]:=(70/mash[4])*(((l11*s2)+(l12*s3))/u3); ep33[4]:=(70/mash[4])*((l12*s3)/u4);


pos3[1]:=abs(mas); pos3[2]:=abs(((l10*s1)+(l11*s2)+(l12*s3))/u2); pos3[3]:=abs(((l11*s2)+(l12*s3))/u3); pos3[4]:=abs((l12*s3)/u4);


masif3[1]:=(mas); masif3[2]:=(((l10*s1)+(l11*s2)+(l12*s3))/u2); masif3[3]:=(((l11*s2)+(l12*s3))/u3); masif3[4]:=((l12*s3)/u4);


for ii:=1 to 4 do

for i:=1 to 3 do

if ep31[i]<>0 then

if ep31[i]>ep31[i+1] then

begin

per:=ep31[i];

ep31[i]:=ep31[i+1];

ep31[i+1]:=per;

per:=ep32[i];

ep32[i]:=ep32[i+1];

ep32[i+1]:=per;

per:=ep33[i];

ep33[i]:=ep33[i+1];

ep33[i+1]:=per;

per:=masif3[i];

masif3[i]:=masif3[i+1];

masif3[i+1]:=per;

per:=pos3[i];

pos3[i]:=pos3[i+1];

pos3[i+1]:=per;

end;


masif3[1]:=masif3[1]*ep31[1]; masif3[2]:=masif3[1]+(masif3[2]*(ep31[2]-ep31[1])); masif3[3]:=masif3[2]+(masif3[3]*(ep31[3]-ep31[2])); masif3[4]:=masif3[3]+(masif3[4]*(ep31[4]-ep31[3]));


for i:=1 to 4 do chis3[i]:=masif3[i];


for i:=1 to 4 do mash[i]:=abs(masif3[i]);


for ii:=1 to 4 do