Дипломный проект Расчет по деформациям изгибаемых железобетонных элементов (doc, dwg) - файл n2.doc

Дипломный проект Расчет по деформациям изгибаемых железобетонных элементов (doc, dwg)
скачать (7224.2 kb.)
Доступные файлы (129):
n1.docскачать
n2.doc314kb.14.06.2007 03:24скачать
n3.doc133kb.14.06.2007 02:53скачать
n4.xls50kb.14.06.2007 03:24скачать
n5.doc58kb.14.06.2007 03:31скачать
n6.doc93kb.07.06.2007 14:19скачать
n7.doc22kb.12.06.2007 17:05скачать
n8.doc86kb.14.02.2007 18:17скачать
n9.doc24kb.14.06.2007 03:31скачать
n10.doc92kb.13.05.2007 00:58скачать
n11.dat
n12.dat
n13.dat
n14.gid
n15.hlp
n16.bmp
n17.jpg9kb.06.06.2007 18:22скачать
n18.bmp
n19.bdsproj
n20.cfg
n21.cnt
n22.dof
n23.dpr
n24.exe
n25.hpj
n26.log
n27.res
n28.rtf396kb.06.06.2007 20:05скачать
n29.bmp
n30.dat
n31.dcu
n32.ddp
n33.dfm
n34.pas
n35.dcu
n36.ddp
n37.dfm
n38.pas
n39.dcu
n40.dfm
n41.pas
n42.dcu
n43.dfm
n44.pas
n45.dcu
n46.dfm
n47.pas
n48.dcu
n49.dfm
n50.pas
n51.dcu
n52.dfm
n53.pas
n54.dcu
n55.dfm
n56.pas
n57.dcu
n58.ddp
n59.dfm
n60.pas
n61.dcu
n62.ddp
n63.dfm
n64.pas
n65.dcu
n66.ddp
n67.dfm
n68.pas
n69.dcu
n70.ddp
n71.dfm
n72.pas
n73.dcu
n74.ddp
n75.dfm
n76.pas
n77.dcu
n78.ddp
n79.dfm
n80.pas
n81.dcu
n82.ddp
n83.dfm
n84.pas
n85.dcu
n86.ddp
n87.dfm
n88.pas
n89.dcu
n90.ddp
n91.dfm
n92.pas
n93.dcu
n94.ddp
n95.dfm
n96.pas
n97.dat
n98.dat
n99.dat
n100.dat
n101.bmp
n102.dat
n103.dat
n104.dat
n105.hlp
n106.cnt
n107.exe
n108.dat
n109.dat
n110.dat
n111.dat
n112.dat
n113.doc95kb.25.05.2007 12:54скачать
n114.rtf308kb.25.05.2007 13:35скачать
n115.dat
n116.dat
n117.dat
n118.hlp
n119.cnt
n120.exe
n121.dat
n122.dat
n123.dat
n124.dat
n125.dat
n126.dwg
n127.dwg
n128.dwg
n129.dwg

n2.doc

  1   2   3

ОСНОВНЫЕ ПРОГРАММНЫЕ МОДУЛИ



// Тип сечения

unit UnitTipSechenia;
interface
uses

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

Dialogs, StdCtrls, ExtCtrls;
type

TFormTipSechenia = class(TForm)

Button1: TButton;

Button3: TButton;

Button4: TButton;

RadioButtonPlita: TRadioButton;

RadioButtonRigelPriam: TRadioButton;

RadioButtonRigelTavr: TRadioButton;

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;
var

FormTipSechenia: TFormTipSechenia;
implementation
uses UnitFormMain, UnitVidRascheta, UnitIsxDannieProdPriam,

UnitIsxDannieProdRigelPriam, UnitIsxDannieRigelTavr;
{$R *.dfm}
//Нажали кнопку Далее

procedure TFormTipSechenia.Button4Click(Sender: TObject);

begin

if RadioButtonPlita.Checked=True

then

begin

FormTipSechenia.Hide;

FormIsxDanniePlita.Show;

end

else

if RadioButtonRigelPriam.Checked=True

then

begin

FormTipSechenia.Hide;

FormIsxDannieRigelPriam.Show

end

else

begin

FormTipSechenia.Hide;

FormIsxDannieRigelTavr.Show;

end;

end;
end.
//Исходные данные для плиты, опертой по трем сторонам

unit UnitIsxDannieProdPriam;
interface
uses

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

Dialogs, StdCtrls, ExtCtrls;
type

TFormIsxDanniePlita = class(TForm)

Bevel1: TBevel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Bevel2: TBevel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

ComboBoxClass: TComboBox;

Bevel3: TBevel;

Label11: TLabel;

Label12: TLabel;

EditMn: TEdit;

Label13: TLabel;

EditMl: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

EditProlet: TEdit;

EditZaschSloi: TEdit;

EditKolSterg: TEdit;

Splitter1: TSplitter;

Image1: TImage;

Bevel4: TBevel;

ComboBoxVisota: TComboBox;

ComboBoxVid: TComboBox;

ComboBoxARM: TComboBox;

ComboBoxDiamArm: TComboBox;

Label14: TLabel;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure EditProletChange(Sender: TObject);

procedure EditZaschSloiChange(Sender: TObject);

procedure EditKolStergChange(Sender: TObject);

procedure EditMnChange(Sender: TObject);

procedure EditMlChange(Sender: TObject);

procedure Button2Click(Sender: TObject);
private

{ Private declarations }

public

{ Public declarations }

end;

const

gamma1=1.3;

var

FormIsxDanniePlita: TFormIsxDanniePlita;

ClassNames1:array of string;

ClassName1:string;

VidNames:array of string;

VidName:string;

ARMNames:array of string;

ARMName:string;

VisotaNames:array of string;

VisotaName:string;

DiamArmNames:array of string;

DiamArmName:string;

VisotaPlitiNames:array of string;

VisotaPlitiName:string;

Rbtser1,Rbser1,Eb1,Es1,Rs1,Rsser1:Extended;

Mn1:Extended;//Момент от полной нагрузки

Ml1:Extended;//Момент от пост+длит нагрузок

a1:Extended;//Защитный слой бетона

l1:Extended;//Пролет плиты

n1:Extended;//Количество стержней

d1:Extended;//Диаметр арматуры

hs1:Extended;//Высота сечения

Area1, AreaArm1, alfa1, Ared1, Sb1, Sred1, Yt1, Ib1, Ired1, W1, Wpl1, Mcrc1, h01, mjus1, psis1, eb1red1, Ebred1, alfaS21, z1, x1, krivpr1, Ired, S1, fpr1, M11, krivop1, fop1, Eb11, kriv11, kriv21, krivpolnaia1, alfaS21p, z1p, x1p, Ired1p, psis1p, b1, fibcr1, y1, k1:Extended;

beton1:string;
implementation
uses UnitVidRascheta, UnitTipSechenia,

UnitFormMain, UnitFormReportPlita;
{$R *.dfm}
procedure TFormIsxDanniePlita.FormCreate(Sender: TObject);
var

FileVid:TextFile;

FileClass:TextFile;

FileARM:TextFile;

FileVisota:TextFile;

FileDiamArm:TextFile;

FileVisotaPliti:TextFile;

StrVid,StrClass,StrARM,StrVisota,StrDiamArm:Integer; //число строк в файле

StrVisotaPliti:Integer;

i,j:integer;

begin

//Ввод вида бетона

AssignFile(FileVid,'Vid.dat');

Reset(FileVid);

//Подсчет числа строк

StrVid:=0;

while not (EOF(FileVid)) do

begin

readln(FileVid);

StrVid:=StrVid+1;

end;

closeFile(FileVid);

SetLength(VidNames,StrVid);

Reset(FileVid);

for j:=1 to StrVid do

begin

readln(FileVid,VidNames[j-1]);

ComboBoxVid.Items.Add(VidNames[j-1]);

end;

closeFile(FileVid);

ComboBoxVid.ItemIndex:=0;

VidName:=VidNames[0];

//Ввод класса бетона

AssignFile(FileClass,'Class.dat');

Reset(FileClass);

StrClass:=0;

while not (EOF(FileClass)) do

begin

readln(FileClass);

StrClass:=StrClass+1;

end;

closeFile(FileClass);

SetLength(ClassNames1,StrClass);

Reset(FileClass);

for i:=1 to StrClass do

begin

readln(FileClass,ClassNames1[i-1]);

ComboBoxClass.Items.Add(ClassNames1[i-1]);

end;

closeFile(FileClass);

ComboBoxClass.ItemIndex:=0;

ClassName1:=ClassNames1[0];

//Ввод класса арматуры

StrARM:=0;

AssignFile(FileARM,'ARM.dat');

Reset(FileARM);

while not (EOF(FileARM)) do

begin

readln(FileARM);

StrARM:=StrARM+1;

end;

closeFile (FileARM);

SetLength(ARMNames,StrARM);

Reset(FileARM);

for i:=1 to StrARM do

begin

readln(FileARM,ARMNames[i-1]);

ComboBoxARM.Items.Add(ARMNames[i-1]);

end;

closeFile(FileARM);

ComboBoxARM.ItemIndex:=0;

ARMName:=ARMNames[0];

//Ввод диаметра арматуры

StrDiamArm:=0;

AssignFile(FileDiamArm,'DiamArm.dat');

Reset(FileDiamArm);

while not (EOF(FileDiamArm)) do

begin

readln(FileDiamArm);

StrDiamArm:=StrDiamArm+1;

end;

closeFile (FileDiamArm);

SetLength(DiamArmNames,StrDiamArm);

Reset(FileDiamArm);

for i:=1 to StrDiamArm do

begin

readln(FileDiamArm,DiamArmNames[i-1]);

ComboBoxDiamArm.Items.Add(DiamArmNames[i-1]);

end;

closeFile(FileDiamArm);

ComboBoxDiamArm.ItemIndex:=0;

DiamArmName:=DiamArmNames[0];

//Ввод высоты сечения

StrVisotaPliti:=0;

AssignFile(FileVisotaPliti,'VisotaPliti.dat');

Reset(FileVisotaPliti);

while not (EOF(FileVisotaPliti)) do

begin

readln(FileVisotaPliti);

StrVisotaPliti:=StrVisotaPliti+1;

end;

closeFile (FileVisotaPliti);

SetLength(VisotaPlitiNames,StrVisotaPliti);

Reset(FileVisotaPliti);

for i:=1 to StrVisotaPliti do

begin

readln(FileVisotaPliti,VisotaPlitiNames[i-1]);

ComboBoxVisota.Items.Add(VisotaPlitiNames[i-1]);

end;

closeFile(FileVisotaPliti);

ComboBoxVisota.ItemIndex:=0;

VisotaPlitiName:=VisotaPlitiNames[0];
end;


//Нажали кнопку Далее

procedure TFormIsxDanniePlita.Button3Click(Sender: TObject);

var

vid1,arm1:string;

begin

FormIsxDanniePlita.Hide;

FormVidRascheta.Show;

beton1:=ComboBoxClass.Text;

vid1:=ComboBoxVid.Text;

arm1:=ComboBoxARM.Text;

if beton1='B15'

then

begin

Rbtser1:=1.15;

Rbser1:=11;

end

else

if beton1='B20'

then

begin

Rbtser1:=1.4;

Rbser1:=15;

end

else

if beton1='B25'

then

begin

Rbtser1:=1.6;

Rbser1:=18.5;

end

else

if beton1='B30'

then

begin

Rbtser1:=1.8;

Rbser1:=22;

end

else

if beton1='B35'

then

begin

Rbtser1:=1.95;

Rbser1:=25.5;

end

else

if beton1='B40'

then

begin

Rbtser1:=2.1;

Rbser1:=29;

end;

if (beton1='B15') and (vid1='Бетон тяжелый естественного твердения')

then

Eb1:=23000

else

if (beton1='B15') and (vid1='Бетон тяжелый, подвергнутый тепловой обработке при атмосферном давлении')

then

Eb1:=20500

else

if (beton1='B20') and (vid1='Бетон тяжелый естественного твердения')

then

Eb1:=27000

else

if (beton1='B20') and (vid1='Бетон тяжелый, подвергнутый тепловой обработке при атмосферном давлении')

then

Eb1:=24000

else

if (beton1='B25') and (vid1='Бетон тяжелый естественного твердения')

then

Eb1:=30000

else

if (beton1='B25') and (vid1='Бетон тяжелый, подвергнутый тепловой обработке при атмосферном давлении')

then

Eb1:=27000

else

if (beton1='B30') and (vid1='Бетон тяжелый естественного твердения')

then

Eb1:=32500

else

if (beton1='B30') and (vid1='Бетон тяжелый, подвергнутый тепловой обработке при атмосферном давлении')

then

Eb1:=29000

else

if (beton1='B35') and (vid1='Бетон тяжелый естественного твердения')

then

Eb1:=34500

else

if (beton1='B35') and (vid1='Бетон тяжелый, подвергнутый тепловой обработке при атмосферном давлении')

then

Eb1:=31000

else

if (beton1='B40') and (vid1='Бетон тяжелый естественного твердения')

then

Eb1:=36000

else

if (beton1='B40') and (vid1='Бетон тяжелый, подвергнутый тепловой обработке при атмосферном давлении')

then

Eb1:=32500;

if arm1='A400(A-III)'

then

begin

Rs1:=365;

Es1:=200000;

Rsser1:=390;

end

else

if arm1='A500'

then

begin

Rs1:=590;

Es1:=200000;

Rsser1:=590;

end;

if TrimLeft(EditProlet.Text)<>''

then

l1:=StrToFloat(EditProlet.Text);
if TrimLeft(EditZaschSloi.Text)<>''

then

a1:=StrToFloat(EditZaschSloi.Text);

if TrimLeft(EditKolSterg.Text)<>''

then

n1:=StrToFloat(EditKolSterg.Text);

if TrimLeft(EditMn.Text)<>''

then

Mn1:=StrToFloat(EditMn.Text);

if TrimLeft(EditMl.Text)<>''

then

Ml1:=StrToFloat(EditMl.Text);

if TrimLeft(ComboBoxDiamArm.Text)<>''

then

d1:=StrToFloat(ComboBoxDiamArm.Text);

if TrimLeft(ComboBoxVisota.Text)<>''

then

hs1:=StrToFloat(ComboBoxVisota.Text);

b1:=1000;

//Площадь приведенного сечения

Area1:=b1*hs1;

//Площадь растянутой арматуры

AreaArm1:=((pi*sqr(d1))/4)*n1;

//Коэффициент приведения арматуры к бетону

alfa1:=Es1/Eb1;

//Площадь приведенного сечения

Ared1:=Area1+AreaArm1*alfa1;

//Статический момент сжатой зоны бетона

Sb1:=b1*hs1*hs1/2;

//Статический момент относительно нижней грани сечения

Sred1:=Sb1+alfa1*AreaArm1*(a1+d1/2);

//Положение центра тяжести сечения

Yt1:=Sred1/Ared1;

//Момент инерции сжатой зоны бетона

Ib1:=(b1*hs1*hs1*hs1)/12;

//Момент инерции приведенного сечения относительно центра тяжести сечения

Ired1:=Ib1+Area1*sqr(Yt1-hs1/2)+alfa1*AreaArm1*sqr(Yt1-a1-d1/2);

//Момент сопротивления приведенного сечения для крайнего растянутого волокна бетона

W1:=Ired1/Yt1;

Wpl1:=gamma1*W1;

//Изгибающий момент при образовании трещин, воспринимаемый нормальным сечением элемента

Mcrc1:=Rbtser1*Wpl1/1000000;

h01:=hs1-a1-d1/2;

mjus1:=AreaArm1/(b1*h01);

if FormVidRascheta.RadioButtonNeprod.Checked=True

then

begin

FormReportPlitaNepr.QRLabelb1n.Caption:=FloatToStr(b1);

FormReportPlitaNepr.QRLabelHs1n.Caption:=FloatToStr(hs1);

FormReportPlitaNepr.QRLabell1n.Caption:=FloatToStr(l1);

FormReportPlitaNepr.QRLabelA1n.Caption:=FloatToStr(a1);

FormReportPlitaNepr.QRLabelD1n.Caption:=FloatToStr(d1);

FormReportPlitaNepr.QRLabelN1n.Caption:=FloatToStr(n1);

FormReportPlitaNepr.QRLabelMn1n.Caption:=FloatToStr(Mn1);

FormReportPlitaNepr.QRLabelMl1n.Caption:=FloatToStr(Ml1);

end;

end;
procedure TFormIsxDanniePlita.EditProletChange(Sender: TObject);

var

fl_prolet:Extended;

begin

if NOT TryStrToFloat(EditProlet.Text,fl_prolet)

then

begin

Application.MessageBox('Строку в число конвертировать не удалось','Ошибка конвертирования',MB_OK+MB_ICONWARNING);

FormIsxDanniePlita.ActiveControl:=EditProlet;

end;

end;
procedure TFormIsxDanniePlita.EditZaschSloiChange(Sender: TObject);

var

fl_sloi:Extended;

begin

if NOT TryStrToFloat(EditProlet.Text,fl_sloi)

then

begin

Application.MessageBox('Строку в число конвертировать не удалось','Ошибка конвертирования',MB_OK+MB_ICONWARNING);

FormIsxDanniePlita.ActiveControl:=EditZaschSloi;

end;

end;
procedure TFormIsxDanniePlita.EditKolStergChange(Sender: TObject);

var

fl_sterg:Extended;

begin

if NOT TryStrToFloat(EditKolSterg.Text,fl_sterg)

then

begin

Application.MessageBox('Строку в число конвертировать не удалось','Ошибка конвертирования',MB_OK+MB_ICONWARNING);

FormIsxDanniePlita.ActiveControl:=EditKolSterg;

end;

end;
procedure TFormIsxDanniePlita.EditMnChange(Sender: TObject);

var

fl_Mn:Extended;

begin

if NOT TryStrToFloat(EditMn.Text,fl_Mn)

then

begin

Application.MessageBox('Строку в число конвертировать не удалось','Ошибка конвертирования',MB_OK+MB_ICONWARNING);

FormIsxDanniePlita.ActiveControl:=EditMn;

end;

end;
procedure TFormIsxDanniePlita.EditMlChange(Sender: TObject);

var

fl_Ml:Extended;

begin

if NOT TryStrToFloat(EditMl.Text,fl_Ml)

then

begin

Application.MessageBox('Строку в число конвертировать не удалось','Ошибка конвертирования',MB_OK+MB_ICONWARNING);

FormIsxDanniePlita.ActiveControl:=EditMl;

end;

end;
procedure TFormIsxDanniePlita.Button2Click(Sender: TObject);

begin

Application.HelpContext(4);

end;
end.
//Исходные данные для ригеля прямоугольной сечения

unit UnitIsxDannieProdRigelPriam;
interface
uses

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

Dialogs, StdCtrls, ExtCtrls;
type

TFormIsxDannieRigelPriam = class(TForm)

Bevel1: TBevel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

ComboBoxShirina: TComboBox;

EditZaschSloi: TEdit;

ComboBoxVisota: TComboBox;

EditProlet: TEdit;

EditKolArm: TEdit;

Bevel2: TBevel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

ComboBoxClass: TComboBox;

ComboBoxVid: TComboBox;

ComboBoxClassArm: TComboBox;

ComboBoxDiamArm: TComboBox;

Bevel3: TBevel;

Label12: TLabel;

Label13: TLabel;

Label14: TLabel;

EditMn: TEdit;

EditMl: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Image1: TImage;

Label15: TLabel;

Bevel4: TBevel;

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure EditProletChange(Sender: TObject);

procedure EditZaschSloiChange(Sender: TObject);

procedure EditKolArmChange(Sender: TObject);

procedure EditMnChange(Sender: TObject);

procedure EditMlChange(Sender: TObject);

procedure Button2Click(Sender: TObject);
private

{ Private declarations }

public

{ Public declarations }

end;

const

gamma2=1.3;

var

FormIsxDannieRigelPriam: TFormIsxDannieRigelPriam;

ClassNames1:array of string;

ClassName1:string;

VidNames:array of string;

VidName:string;

ARMNames:array of string;

ARMName:string;

DiamARMNames:array of string;

DiamARMName:string;

VisotaRigeliaNames:array of string;

VisotaRigeliaName:string;

ShirinaRigeliaNames:array of string;

ShirinaRigeliaName:string;

Rbtser2, Rbser2, Eb2, Es2, Rs2, Rsser2:Extended;

Mn2:Extended;//Момент от полной нагрузки

Ml2:Extended;//Момент от пост+длит нагрузок

a2:Extended;//Защитный слой бетона

l2:Extended;//Пролет плиты

n2:Extended;//Количество стержней

d2:Extended;//Диаметр арматуры

hs2:Extended;//Высота сечения

b2:Extended;//Ширина сечения

Area2, AreaArm2, alfa2, Ared2, Sb2, Sred2, Yt2, Ib2, Ired2, W2, Wpl2, Mcrc2, mjus2, Ebred2, eb1red2, psis2, alfaS22, z2, x2, krivpr2, fpr2, Eb12, S2, kriv12, kriv22, krivpolnaia2, h02, fibcr2, k2, y2, m2:Extended;

beton2:string;
implementation
uses UnitTipSechenia, UnitVidRascheta,

UnitFormMain, UnitFormReportRigelProd, UnitFormRigelNepr;
{$R *.dfm}


//Нажали кнопку Далее

procedure TFormIsxDannieRigelPriam.Button4Click(Sender: TObject);

var

vid2,arm2:string;

begin

FormIsxDannieRigelPriam.Hide;

FormVidRascheta.Show;

beton2:=ComboBoxClass.Text;

vid2:=ComboBoxVid.Text;

arm2:=ComboBoxClassARM.Text;

if beton2='B15'

then

begin

Rbtser2:=1.15;

Rbser2:=11;

end

else

if beton2='B20'

then

begin

Rbtser2:=1.4;

Rbser2:=15;

end

else

if beton2='B25'

then

begin

Rbtser2:=1.6;

Rbser2:=18.5;

end

else

if beton2='B30'

then

begin

Rbtser2:=1.8;

Rbser2:=22;

end

else

if beton2='B35'

then

begin

Rbtser2:=1.95;

Rbser2:=25.5;

end

else

if beton2='B40'

then

begin

Rbtser2:=2.1;

Rbser2:=29;

end;

if (beton2='B15') and (vid2='Бетон тяжелый естественного твердения')

then

Eb2:=23000

else

if (beton2='B15') and (vid2='Бетон тяжелый, подвергнутый тепловой обработке при атмосферном давлении')

then

Eb2:=20500

else

if (beton2='B20') and (vid2='Бетон тяжелый естественного твердения')

then

Eb2:=27000

else

if (beton2='B20') and (vid2='Бетон тяжелый, подвергнутый тепловой обработке при атмосферном давлении')

then

Eb2:=24000

else

if (beton2='B25') and (vid2='Бетон тяжелый естественного твердения')

then

Eb2:=30000

else

if (beton2='B25') and (vid2='Бетон тяжелый, подвергнутый тепловой обработке при атмосферном давлении')

then

Eb2:=27000

else

if (beton2='B30') and (vid2='Бетон тяжелый естественного твердения')

then

Eb2:=32500

else

if (beton2='B30') and (vid2='Бетон тяжелый, подвергнутый тепловой обработке при атмосферном давлении')

then

Eb2:=29000

else

if (beton2='B35') and (vid2='Бетон тяжелый естественного твердения')

then

Eb2:=34500

else

if (beton2='B35') and (vid2='Бетон тяжелый, подвергнутый тепловой обработке при атмосферном давлении')

then

Eb2:=31000

else

if (beton2='B40') and (vid2='Бетон тяжелый естественного твердения')

then

Eb2:=36000

else

if (beton2='B40') and (vid2='Бетон тяжелый, подвергнутый тепловой обработке при атмосферном давлении')

then

Eb2:=32500;
if arm2='A400(A-III)'

then

begin

Rs2:=365;

Es2:=200000;

Rsser2:=390;

end

else

if arm2='A500'

then

begin

Rs2:=590;

Es2:=190000;

Rsser2:=590;

end;

if TrimLeft(EditProlet.Text)<>''

then

l2:=StrToFloat(EditProlet.Text);

if TrimLeft(EditZaschSloi.Text)<>''

then

a2:=StrToFloat(EditZaschSloi.Text);

if TrimLeft(EditKolArm.Text)<>''

then

n2:=StrToFloat(EditKolArm.Text);

if TrimLeft(EditMn.Text)<>''

then

Mn2:=StrToFloat(EditMn.Text);

if TrimLeft(EditMl.Text)<>''

then

Ml2:=StrToFloat(EditMl.Text);

if TrimLeft(ComboBoxShirina.Text)<>''

then

b2:=StrToFloat(ComboBoxShirina.Text);

if TrimLeft(ComboBoxVisota.Text)<>''

then

hs2:=StrToFloat(ComboBoxVisota.Text);

if TrimLeft(ComboBoxDiamArm.Text)<>''

then

d2:=StrToFloat(ComboBoxDiamArm.Text);

//Площадь приведенного сечения

Area2:=b2*hs2;

//Площадь растянутой арматуры

AreaArm2:=((pi*sqr(d2))/4)*n2;

//Коэффициент приведения арматуры к бетону

alfa2:=Es2/Eb2;

//Площадь приведенного сечения

Ared2:=Area2+AreaArm2*alfa2;

//Статический момент сжатой зоны бетона

Sb2:=(b2*hs2*hs2)/2;

//Статический момент относительно нижней грани сечения

Sred2:=Sb2+alfa2*AreaArm2*(a2+d2/2);

//Положение центра тяжести сечения

Yt2:=Sred2/Ared2;

//Момент инерции сжатой зоны бетона

Ib2:=(b2*hs2*hs2*hs2)/12;

//Момент инерции приведенного сечения относительно центра тяжести сечения

Ired2:=Ib2+Area2*sqr(Yt2-hs2/2)+alfa2*AreaArm2*sqr(Yt2-a2-d2/2);

//Момент сопротивления приведенного сечения для крайнего растянутого волокна бетона

W2:=Ired2/Yt2;

Wpl2:=gamma2*W2;

//Изгибающий момент при образовании трещин, воспринимаемый нормальным сечением элемента

Mcrc2:=Rbtser2*Wpl2/1000000;

h02:=hs2-a2-d2/2;

mjus2:=AreaArm2/(b2*h02);

if FormVidRascheta.RadioButtonNeprod.Checked=True

then

begin

FormReportRigelNepr.QRLabelb2n.Caption:=FloatToStr(b2);

FormReportRigelNepr.QRLabelHs2n.Caption:=FloatToStr(hs2);

FormReportRigelNepr.QRLabell2n.Caption:=FloatToStr(l2);

FormReportRigelNepr.QRLabelA2n.Caption:=FloatToStr(a2);

FormReportRigelNepr.QRLabelD2n.Caption:=FloatToStr(d2);

FormReportRigelNepr.QRLabelN2n.Caption:=FloatToStr(n2);

FormReportRigelNepr.QRLabelMn2n.Caption:=FloatToStr(Mn2);

FormReportRigelNepr.QRLabelMl2n.Caption:=FloatToStr(Ml2);

end;

end;

procedure TFormIsxDannieRigelPriam.FormCreate(Sender: TObject);

var

FileClass:TextFile;

FileVid:TextFile;

FileARM:TextFile;

FileDiamARM:TextFile;

FileShirinaRigelia:TextFile;

FileVisotaRigelia:TextFile;

StrClass,StrVid,StrArm,StrDiamARM,StrShirinaRigelia,StrVisotaRigelia:integer;

i:integer;

begin

//Ввод класса бетона

AssignFile(FileClass,'Class.dat');

Reset(FileClass);

StrClass:=0;

while not (EOF(FileClass)) do

begin

readln(FileClass);

StrClass:=StrClass+1;

end;

closeFile(FileClass);

SetLength(ClassNames1,StrClass);

Reset(FileClass);

for i:=1 to StrClass do

begin

readln(FileClass,ClassNames1[i-1]);

ComboBoxClass.Items.Add(ClassNames1[i-1]);

end;

closeFile(FileClass);

ComboBoxClass.ItemIndex:=0;

ClassName1:=ClassNames1[0];

//Ввод вида бетона

AssignFile(FileVid,'Vid.dat');

Reset(FileVid);

StrVid:=0;

while not (EOF(FileVid)) do

begin

readln(FileVid);

StrVid:=StrVid+1;

end;

closeFile(FileVid);

SetLength(VidNames,StrVid);

Reset(FileVid);

for i:=1 to StrVid do

begin

readln(FileVid,VidNames[i-1]);

ComboBoxVid.Items.Add(VidNames[i-1])

end;

closeFile(FileVid);

ComboBoxVid.ItemIndex:=0;

VidName:=VidNames[0];

//Ввод класса арматуры

AssignFile(FileARM,'ARM.dat');

Reset(FileARM);

StrARM:=0;

while not (EOF(FileARM)) do

begin

readln(FileARM);

StrARM:=StrARM+1;

end;

closeFile(FileARM);

SetLength(ARMNames,StrARM);

Reset(FileARM);

for i:=1 to StrARM do

begin

readln(FileARM,ARMNames[i-1]);

ComboBoxClassARM.Items.Add(ARMNames[i-1])

end;

closeFile(FileARM);

ComboBoxClassARM.ItemIndex:=0;

ARMName:=ARMNames[0];

//Ввод диаметра арматуры

AssignFile(FileDiamARM,'DiamARM.dat');

Reset(FileDiamARM);

StrDiamARM:=0;

while not (EOF(FileDiamARM)) do

begin

readln(FileDiamARM);

StrDiamARM:=StrDiamARM+1;

end;

closeFile(FileDiamARM);

SetLength(DiamARMNames,StrDiamARM);

Reset(FileDiamARM);

for i:=1 to StrDiamARM do

begin

readln(FileDiamARM,DiamARMNames[i-1]);

ComboBoxDiamARM.Items.Add(DiamArmNames[i-1])

end;

closeFile(FileDiamARM);

ComboBoxDiamARM.ItemIndex:=0;

DiamARMName:=DiamARMNames[0];

//Ввод ширины сечения ригеля

AssignFile(FileShirinaRigelia,'ShirinaRigelia.dat');

Reset(FileShirinaRigelia);

StrShirinaRigelia:=0;

while not (EOF(FileShirinaRigelia)) do

begin

readln(FileShirinaRigelia);

StrShirinaRigelia:=StrShirinaRigelia+1;

end;

closeFile(FileShirinaRigelia);

SetLength(ShirinaRigeliaNames,StrShirinaRigelia);

Reset(FileShirinaRigelia);

for i:=1 to StrShirinaRigelia do

begin

readln(FileShirinaRigelia,ShirinaRigeliaNames[i-1]);

ComboBoxShirina.Items.Add(ShirinaRigeliaNames[i-1])

end;

closeFile(FileShirinaRigelia);

ComboBoxShirina.ItemIndex:=0;

ShirinaRigeliaName:=ShirinaRigeliaNames[0];

//Ввод высоты сечения ригеля

AssignFile(FileVisotaRigelia,'VisotaRigelia.dat');

Reset(FileVisotaRigelia);

StrVisotaRigelia:=0;

while not (EOF(FileVisotaRigelia)) do

begin

readln(FileVisotaRigelia);

StrVisotaRigelia:=StrVisotaRigelia+1;

end;

closeFile(FileVisotaRigelia);

SetLength(VisotaRigeliaNames,StrVisotaRigelia);

Reset(FileVisotaRigelia);

for i:=1 to StrVisotaRigelia do

begin

readln(FileVisotaRigelia,VisotaRigeliaNames[i-1]);

ComboBoxVisota.Items.Add(VisotaRigeliaNames[i-1])

end;

closeFile(FileVisotaRigelia);

ComboBoxVisota.ItemIndex:=0;

VisotaRigeliaName:=VisotaRigeliaNames[0];

end;
  1   2   3


Учебный материал
© bib.convdocs.org
При копировании укажите ссылку.
обратиться к администрации