Program wspomagający obliczanie ciężaru konstrukcji stalowyc

0

Witam! Piszę program wspomagający obliczanie ciężarów konstrukcji stalowych. W zasadzie pierwsza działająca wersja programu jest już ukończona i można powiedzieć , że nie piszę tylko napisałem choć cały zas go ulepszam bo jest to wersja noo... powiedzmy, że 1.1.
Program pisałem w czasie wakacji. w załączniku umieszczę screen z działającego programu.

Ogólnie chciałbym omówić działanie programu a raczej podzielić go na "Kawałki" i omówić ich działanie gdyż być może komuś akurat przyda się dany fragment kodu robiący to czy tamto. No więc do dzieła!
</image>
Widać działający program.

Pojedyncze przyciski ( od Belka1 do Belka 10 ) służą do nawigacji pomiędzy belkami ( na ciężar jednej konstrukcji przypada kilka Belek Na ciężar jednej belki przypada kilka czynników)

Można to rozrysować tak:

Konstrukcja 1:

konstrukcji numer 1:

-Belka 1:

Ciężar Belki numer 1:

-Ciężar Kształtownika numer 1

-Ciężar kształtownika numer 2 (Występuje jeżeli jest liczona belka łamana)

-Ciężar Blachy numer 1 (Blachy składające się na jedną belkę zawsze są dwie)

-Ciężar Blachy numer 2

-Ciężar Uszek

-Belka 2:

Ciężar belki numer 2:

Itd.
{1}
{2}
itd.
to oznaczenia które normalnie nie figurują w kodzie ale dielą fragment kodu na mniejsze fragmenty które będę omawiał.

kod dla tego przycisku to:
{1}
var
TF:TEXTFILE;
var
aa:String;
bb:String;
cc :String;
dd :String;
ee :String;
ff :String;
gg :String;
hh :String;
ii:String;
jj:String;

{1}
begin

{2}
Form2.Caption:='Belka1'+' - '+P;
AssignFile(TF,'t.txt');
Reset(TF);
Readln(TF,t);
Closefile(TF);
t:=t+tu;
{2}
{3}
assignFile(TF, t);
if fileexists(t)=True then
Rewrite(TF);
Writeln(TF,Edit1.Text);
Writeln(TF,Edit2.Text);
Writeln(TF,Edit3.Text);
Writeln(TF,Edit4.Text);
Writeln(TF,Edit5.Text);
Writeln(TF,Edit6.Text);
Writeln(TF,Edit7.Text);
Writeln(TF,Edit8.Text);
Writeln(TF,Edit9.Text);
Writeln(TF,Edit10.Text);
Writeln(TF,FloatTOStr(CKsztaltownika));
Writeln(TF,FLoatTOStr(GBlachy));
Writeln(TF,FloatToStr(GB));
CloseFile(TF);
{3}
{4}

Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
Edit5.Clear;
Edit6.Clear;
Edit7.Clear;
Edit8.Clear;
Edit9.Clear;
Edit10.Clear;
Label1.Caption:='';

Label3.Caption:='';

Label5.Caption:='';

Label7.Caption:='';
Label8.Caption:='';
Label9.Caption:='';
Label10.Caption:='';
Label11.Caption:='';

Label13.Caption:='';
Label14.Caption:='';
Label15.Caption:='';
Label16.Caption:='';

{4}

{5}
begin
AssignFile(tf,'t.txt');
Reset(tf);
Readln(tf,t);
CLoseFile(tf);
t:=t+'\belka1.txt';
tu:='\belka1.txt';
AssignFile(TF, t);
Reset(TF);
Readln(TF,aa);
Edit1.text:= aa;
Readln(TF,bb);
Edit2.text:= bb;
Readln(TF,cc);
Edit3.text:= cc;
Readln(TF,dd);
Edit4.text:= dd;
Readln(TF,ee);
Edit5.text:= ee;
Readln(TF,ff);
Edit6.text:= ff;
Readln(TF,gg);
Edit7.text:= gg;
Readln(TF,hh);
Edit8.text:= hh;
Readln(TF,ii);
Edit9.text:= ii;
Readln(TF,jj);
Edit10.text:= jj;
CloseFile(TF);
{5}
{6}
if edit1.text <> '' then
else
Edit1.Text:='0';
if edit2.text <> '' then
else
Edit2.Text:='0';
if edit3.text <> '' then
else
Edit3.Text:='0';
if edit4.text <> '' then
else
Edit4.Text:='0';
if edit5.text <> '' then
else
Edit5.Text:='0';
if edit6.text <> '' then
else
Edit6.Text:='0';
if edit7.text <> '' then
else
Edit7.Text:='0';
if edit8.text <> '' then
else
Edit8.Text:='0';
if edit9.text <> '' then
else
Edit9.Text:='0';
if edit10.text <> '' then
else
Edit10.Text:='0';

end;
end;
{6}
fragment {1} odpowiada za zadeklarowanie zmiennych lokalnych

fragment {2} odpowiada za nadanie odpowiedniej nazwy pasku tytułowemu oraz wczytaniem odpowiedniej ścieżki dostępu do odpowiedniej zmiennej ( zmienne t,tu) z pliku ustwieniowego odpowiedzialnego za przechowywanie nazwy aktualnej ścieżki dostępu.

fragment {3} odpowiedzialny jest za zapisanie aktualnych wartości okienek edycyjnych oraz danych niezbędnych do późniejszego obliczenia wyniku do pliku wcześniej otworzonej belki.

fragment {4} odpowiedzialny jest za wyczyszczenie wszystkich okienek edycyjnych oraz etykiet wyświetlających wyniki oraz inne istotne informacje

fragment {5} odpowiedzialny jest za wczytanie z żądanej belki wartości do odpowiednich zmiennych oraz wszystkich okienek edycyjnych

fragment {6} odpowiedzialny jest za wprowadzenie wartości zero do każdego okienka edycyjnego które jest puste

Jest tak z każdym z 10-ciu przycisków nawigujących choć oczywiście zależnie od numeru belki zmieniają się niektóre czynniki w kodzie

Dziękuję za przeczytanie tej pierwszej części artykułu - właściwie wstępu gdyż jest to tylko niewielka część kodu mojego programu - jeden z aspektów działania a ma się rozumieć działanie programu jest w całości o wiele obszerniejsze!

Jeżeli macie jakiekolwiek pytania,uwagi lub wątpliwości to piszcie śmiało!

Autor programu. :-)

0

ja [CIACH!]

0

A nie przypadkiem gestosc * wymiary * cos jeszcze = waga
dtego dochodzi jeszcze ksztalt konstrukcji i jeszcze naprezenia trza wyliczyc

0

Podany powyżej fragment kody odpowiada tylko i wyłącznie za zapisanie poprzedniej belki i wczytanie nowej
. A Wszystkie obliczenia są robione całkiem innego kodu umieszczonego całkiem gdzieś indziej jedynie korzystając częściowo z informacji wczytanych do okienek edycyjnych. Na przykład wyliczenie ciężaru kształtownika wygląda tak :
Długość1+Długość2/2(wyliczenie średniej arytmetycznej gdyż na kształtownik zawsze przypadają dwie długości)/1000(bo podaje się w milimetrach a ciężar danego typu to ciężar na metr)*Ciężar danego typu na metr np. Kształtownik o długości jednego metra typu Dwuteownik-80 waży 5,95 Kg
XD

Opisywać resztę programu?

0

A tak w ogóle to jak na tym forum mogę dodać obrazek ( screen z pracy programu) ??? :-)

0

:-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-) :-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1