ВНИМАНИЕ! На форуме начался конкурс - астрофотография месяца - МАЙ!
0 Пользователей и 1 Гость просматривают эту тему.
И мне и мне и мне!Хочу простую астрономическую программу.
Цитата: Lord Katler Bekket от 28 Авг 2011 [21:24:13]Моя программа: Телескоп v0.25:http://astronomysatell.ucoz.ru/load/teleskop_v0_25/1-1-0-2Думаю также будет не лишнее взаимопомощь и некоторые правила, хотя бы...типа публиковать исходники и т д ....а можно хотя бы в кратце что за программа - возможности- системные требования- руководство по установке
Моя программа: Телескоп v0.25:http://astronomysatell.ucoz.ru/load/teleskop_v0_25/1-1-0-2Думаю также будет не лишнее взаимопомощь и некоторые правила, хотя бы...типа публиковать исходники и т д ....
Если переменная глобальная, в Юнит2 в отделе uses напиши имя юнита1
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Math, ExtCtrls, Menus, ActnList, jpeg, ComCtrls, DBCtrls, Grids, DBGrids, DB, DBClient;type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Button2: TButton; Edit4: TEdit; Label4: TLabel; Edit5: TEdit; Edit6: TEdit; Label5: TLabel; Label6: TLabel; Edit7: TEdit; Label7: TLabel; Edit8: TEdit; Label8: TLabel; Edit9: TEdit; Label9: TLabel; Edit10: TEdit; Label10: TLabel; Edit11: TEdit; Label11: TLabel; Label12: TLabel; Edit12: TEdit; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label17: TLabel; Edit13: TEdit; Label16: TLabel; Edit14: TEdit; Label18: TLabel; Label19: TLabel; Label20: TLabel; Label23: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; Label29: TLabel; Label30: TLabel; Edit15: TEdit; Label31: TLabel; Label33: TLabel; Edit16: TEdit; Label32: TLabel; Label34: TLabel; Edit17: TEdit; Edit18: TEdit; Label35: TLabel; Label36: TLabel; Label38: TLabel; Label39: TLabel; Edit19: TEdit; Label40: TLabel; Label41: TLabel; Edit20: TEdit; Label42: TLabel; Label43: TLabel; Edit21: TEdit; Edit22: TEdit; Edit23: TEdit; Edit24: TEdit; Label44: TLabel; Label45: TLabel; Label46: TLabel; Label47: TLabel; Label48: TLabel; Label49: TLabel; RadioGroup1: TRadioGroup; RadioButton1: TRadioButton; RadioButton2: TRadioButton; Edit25: TEdit; Label52: TLabel; Label53: TLabel; Edit26: TEdit; Label54: TLabel; Label55: TLabel; Edit27: TEdit; Label56: TLabel; Edit28: TEdit; Label57: TLabel; Label58: TLabel; MainMenu1: TMainMenu; N3: TMenuItem; N4: TMenuItem; N21: TMenuItem; Label21: TLabel; Label22: TLabel; Label37: TLabel; Label50: TLabel; Label51: TLabel; N1: TMenuItem; Edit29: TEdit; N2: TMenuItem; N5: TMenuItem; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure Action1Execute(Sender: TObject); procedure Button3Click(Sender: TObject); procedure N21Click(Sender: TObject); procedure Edit4KeyPress(Sender: TObject; var Key: Char); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit6KeyPress(Sender: TObject; var Key: Char); procedure Edit15KeyPress(Sender: TObject; var Key: Char); procedure Edit17KeyPress(Sender: TObject; var Key: Char); procedure Edit27KeyPress(Sender: TObject; var Key: Char); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N5Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementationuses Unit2, Unit4, Unit5, Unit6, Unit7;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); var a1,a2,a3,b1,b2,c1,c2,d1,e2,m1,m2,m3,m4,m5,x1,x2,x3,x4,x5,l1,f1,f2,f3,f4,f5,k1,dc,p,p1,e1:Extended; okr:Real;begin dc:=StrtoInt(Edit27.Text); a1:=StrtoInt(Edit1.Text); a2:=StrtoInt(Edit2.Text); l1:=StrtoInt(Edit15.Text); a3:=a1*l1/a2; a3:=RoundTo(a3,-1); Edit3.Text:=FloatToStr(a3); b1:=StrtoInt(Edit4.Text); b2:=b1/a1; b2:=RoundTo(b2,-1); Edit5.Text:=FloatToStr(b2); c1:=StrtoInt(Edit6.Text); c2:=c1/a3; c2:=RoundTo(c2,-1); Edit7.Text:=FloatToStr(c2); d1:=140/b1; b1:=RoundTo(b1,-1); Edit8.Text:=FloatToStr(d1); e2:=b1/a3; e2:=RoundTo(e2,-1); Edit9.Text:=FloatToStr(e2); m1:=2.1+5*(Log10(b1)); m1:=RoundTo(m1,-1); Edit10.Text:=FloatToStr(m1); m3:=StrToFloat(Edit12.Text); m2:=m3+2.5*(Log10(b1/10))+2.5*(Log10(a3)); m2:=RoundTo(m2,-1); Edit11.Text:=FloatToStr(m2); x1:=2.0*b1; Edit13.Text:=FloatToStr(x1); x2:=b1/6; x2:=RoundTo(x2,-1); Edit14.Text:=FloatToStr(x2); x3:=60/a3; x3:=RoundTo(x3,-1); Edit16.Text:=FloatToStr(x3); m4:=StrtoInt(Edit17.Text); m5:=(m1-(2.5*(Log10((3.14*m4*m4*60)/(x3)*4)))+4)+dc*0.27; m5:=RoundTo(m5,-1); Edit18.Text:=FloatToStr(m5); x4:=1.4*b1; x4:=RoundTo(x4,-1); Edit19.Text:=FloatToStr(x4); x5:=0.7*b1; x5:=RoundTo(x5,-1); Edit20.Text:=FloatToStr(x5); f1:=a1/x1; f2:=a1/x2; f3:=a1/x4; f4:=a1/x5; f1:=RoundTo(f1,-1); f2:=RoundTo(f2,-1); f3:=RoundTo(f3,-1); f4:=RoundTo(f4,-1); Edit21.Text:=FloatToStr(f1); Edit22.Text:=FloatToStr(f2); Edit23.Text:=FloatToStr(f3); Edit24.Text:=FloatToStr(f4); k1:=2*1737/(1800/d1); k1:=RoundTo(k1,-1); Edit26.Text:=FloatToStr(k1); p:=StrtoInt(Edit29.Text); p1:=57.4*p/a1; p1:=RoundTo(p1,-2); Edit25.Text:=FloatToStr(p1); b1:=StrtoInt(Edit4.Text); e1:=p1*x2; e1:=RoundTo(e1,-2); Edit28.Text:=FloatToStr(e1);end;procedure TForm1.Button2Click(Sender: TObject);begin Closeend;procedure TForm1.RadioButton1Click(Sender: TObject); var p1,a1,e1,b1,x2:Extended;begin Edit29.Text:=FloatToStr(27);end;procedure TForm1.RadioButton2Click(Sender: TObject); var p1,a1,b1,x2,e1:Extended;begin Edit29.Text:=FloatToStr(50);end;procedure TForm1.N4Click(Sender: TObject);beginCloseend;procedure TForm1.Action1Execute(Sender: TObject);beginCloseend;procedure TForm1.Button3Click(Sender: TObject);begin Form4.Showend;procedure TForm1.N21Click(Sender: TObject);begin Form4.Showend;procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit6KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit15KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit17KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit27KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.N1Click(Sender: TObject);beginForm6.Showend;procedure TForm1.N2Click(Sender: TObject);begin Form7.Showend;procedure TForm1.N5Click(Sender: TObject);begin Form7.Showend;end
unit Unit7;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Math,Unit1;type TForm7 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Edit8: TEdit; Button1: TButton; Label9: TLabel; Label10: TLabel; Edit9: TEdit; Edit10: TEdit; Edit11: TEdit; Edit12: TEdit; Edit13: TEdit; Edit14: TEdit; Edit15: TEdit; Label11: TLabel; Button2: TButton; Edit16: TEdit; Edit17: TEdit; Edit18: TEdit; Edit19: TEdit; Edit20: TEdit; Edit21: TEdit; Edit22: TEdit; Label12: TLabel; Edit23: TEdit; Edit24: TEdit; Edit25: TEdit; Edit26: TEdit; Edit27: TEdit; Edit28: TEdit; Edit29: TEdit; Label13: TLabel; Edit30: TEdit; Edit31: TEdit; Edit32: TEdit; Edit33: TEdit; Edit34: TEdit; Edit35: TEdit; Edit36: TEdit; Label14: TLabel; Label15: TLabel; Label16: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public end;var Form7: TForm7;implementation {$R *.dfm}procedure TForm7.Button1Click(Sender: TObject); var ap,a4,b4,c4,e4,f4,g4,h4,a10,b10,c10,e10,f10,g10,h10,a20,b20,c20,e20,f20,g20,h20,a25,b25,c25,e25,f25,g25,h25,a32,b32,c32,e32,f32,g32,h32:Extended;begin ap:=StrtoInt(Edit8.Text); a4:=ap/4; b4:=40/a4; c4:=50/a4; e4:=55/a4; f4:=68/a4; g4:=72/a4; h4:=82/a4; a4:=RoundTo(a4,-1); b4:=RoundTo(b4,-1); c4:=RoundTo(c4,-1); e4:=RoundTo(e4,-1); f4:=RoundTo(f4,-1); g4:=RoundTo(g4,-1); h4:=RoundTo(h4,-1); Edit2.Text:=FloatToStr(a4); Edit1.Text:=FloatToStr(b4); Edit3.Text:=FloatToStr(c4); Edit5.Text:=FloatToStr(e4); Edit4.Text:=FloatToStr(f4); Edit6.Text:=FloatToStr(g4); Edit7.Text:=FloatToStr(h4); a10:=ap/10; b10:=40/a4; c10:=50/a4; e10:=55/a4; f10:=68/a4; g10:=72/a4; h10:=82/a4; a10:=RoundTo(a10,-2); b10:=RoundTo(b10,-2); c10:=RoundTo(c10,-2); e10:=RoundTo(e10,-2); f10:=RoundTo(f10,-2); g10:=RoundTo(g10,-2); h10:=RoundTo(h10,-2); Edit10.Text:=FloatToStr(a10); Edit9.Text:=FloatToStr(b10); Edit11.Text:=FloatToStr(c10); Edit13.Text:=FloatToStr(e10); Edit12.Text:=FloatToStr(f10); Edit14.Text:=FloatToStr(g10); Edit15.Text:=FloatToStr(h10); a20:=ap/20; b20:=40/a20; c20:=50/a20; e20:=55/a20; f20:=68/a20; g20:=72/a20; h20:=82/a20; a20:=RoundTo(a20,-2); b20:=RoundTo(b20,-2); c20:=RoundTo(c20,-2); e20:=RoundTo(e20,-2); f20:=RoundTo(f20,-2); g20:=RoundTo(g20,-2); h20:=RoundTo(h20,-2); Edit17.Text:=FloatToStr(a20); Edit16.Text:=FloatToStr(b20); Edit18.Text:=FloatToStr(c20); Edit20.Text:=FloatToStr(e20); Edit19.Text:=FloatToStr(f20); Edit21.Text:=FloatToStr(g20); Edit22.Text:=FloatToStr(h20); a25:=ap/25; b25:=40/a25; c25:=50/a25; e25:=55/a25; f25:=68/a25; g25:=72/a25; h25:=82/a25; a25:=RoundTo(a25,-2); b25:=RoundTo(b25,-2); c25:=RoundTo(c25,-2); e25:=RoundTo(e25,-2); f25:=RoundTo(f25,-2); g25:=RoundTo(g25,-2); h25:=RoundTo(h25,-2); Edit24.Text:=FloatToStr(a25); Edit23.Text:=FloatToStr(b25); Edit25.Text:=FloatToStr(c25); Edit27.Text:=FloatToStr(e25); Edit26.Text:=FloatToStr(f25); Edit28.Text:=FloatToStr(g25); Edit29.Text:=FloatToStr(h25); a32:=ap/32; b32:=40/a32; c32:=50/a32; e32:=55/a32; f32:=68/a32; g32:=72/a32; h32:=82/a32; a32:=RoundTo(a32,-2); b32:=RoundTo(b32,-2); c32:=RoundTo(c32,-2); e32:=RoundTo(e32,-2); f32:=RoundTo(f32,-2); g32:=RoundTo(g32,-2); h32:=RoundTo(h32,-2); Edit31.Text:=FloatToStr(a32); Edit30.Text:=FloatToStr(b32); Edit32.Text:=FloatToStr(c32); Edit34.Text:=FloatToStr(e32); Edit33.Text:=FloatToStr(f32); Edit35.Text:=FloatToStr(g32); Edit36.Text:=FloatToStr(h32);end;procedure TForm7.Button2Click(Sender: TObject);begin Closeend;end.
Цитата: Джиджоев Владислав от 29 Авг 2011 [08:12:37]Если переменная глобальная, в Юнит2 в отделе uses напиши имя юнита1нет переменная не глабальная, надо перменную а1 из первого юнитаиспользовать в качестве переменной ар в юните7, а то приходиться вводить её отдельно:юнит1Код: [Выделить]unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Math, ExtCtrls, Menus, ActnList, jpeg, ComCtrls, DBCtrls, Grids, DBGrids, DB, DBClient;type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Button2: TButton; Edit4: TEdit; Label4: TLabel; Edit5: TEdit; Edit6: TEdit; Label5: TLabel; Label6: TLabel; Edit7: TEdit; Label7: TLabel; Edit8: TEdit; Label8: TLabel; Edit9: TEdit; Label9: TLabel; Edit10: TEdit; Label10: TLabel; Edit11: TEdit; Label11: TLabel; Label12: TLabel; Edit12: TEdit; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label17: TLabel; Edit13: TEdit; Label16: TLabel; Edit14: TEdit; Label18: TLabel; Label19: TLabel; Label20: TLabel; Label23: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; Label29: TLabel; Label30: TLabel; Edit15: TEdit; Label31: TLabel; Label33: TLabel; Edit16: TEdit; Label32: TLabel; Label34: TLabel; Edit17: TEdit; Edit18: TEdit; Label35: TLabel; Label36: TLabel; Label38: TLabel; Label39: TLabel; Edit19: TEdit; Label40: TLabel; Label41: TLabel; Edit20: TEdit; Label42: TLabel; Label43: TLabel; Edit21: TEdit; Edit22: TEdit; Edit23: TEdit; Edit24: TEdit; Label44: TLabel; Label45: TLabel; Label46: TLabel; Label47: TLabel; Label48: TLabel; Label49: TLabel; RadioGroup1: TRadioGroup; RadioButton1: TRadioButton; RadioButton2: TRadioButton; Edit25: TEdit; Label52: TLabel; Label53: TLabel; Edit26: TEdit; Label54: TLabel; Label55: TLabel; Edit27: TEdit; Label56: TLabel; Edit28: TEdit; Label57: TLabel; Label58: TLabel; MainMenu1: TMainMenu; N3: TMenuItem; N4: TMenuItem; N21: TMenuItem; Label21: TLabel; Label22: TLabel; Label37: TLabel; Label50: TLabel; Label51: TLabel; N1: TMenuItem; Edit29: TEdit; N2: TMenuItem; N5: TMenuItem; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure Action1Execute(Sender: TObject); procedure Button3Click(Sender: TObject); procedure N21Click(Sender: TObject); procedure Edit4KeyPress(Sender: TObject; var Key: Char); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit6KeyPress(Sender: TObject; var Key: Char); procedure Edit15KeyPress(Sender: TObject; var Key: Char); procedure Edit17KeyPress(Sender: TObject; var Key: Char); procedure Edit27KeyPress(Sender: TObject; var Key: Char); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N5Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementationuses Unit2, Unit4, Unit5, Unit6, Unit7;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); var a1,a2,a3,b1,b2,c1,c2,d1,e2,m1,m2,m3,m4,m5,x1,x2,x3,x4,x5,l1,f1,f2,f3,f4,f5,k1,dc,p,p1,e1:Extended; okr:Real;begin dc:=StrtoInt(Edit27.Text); a1:=StrtoInt(Edit1.Text); a2:=StrtoInt(Edit2.Text); l1:=StrtoInt(Edit15.Text); a3:=a1*l1/a2; a3:=RoundTo(a3,-1); Edit3.Text:=FloatToStr(a3); b1:=StrtoInt(Edit4.Text); b2:=b1/a1; b2:=RoundTo(b2,-1); Edit5.Text:=FloatToStr(b2); c1:=StrtoInt(Edit6.Text); c2:=c1/a3; c2:=RoundTo(c2,-1); Edit7.Text:=FloatToStr(c2); d1:=140/b1; b1:=RoundTo(b1,-1); Edit8.Text:=FloatToStr(d1); e2:=b1/a3; e2:=RoundTo(e2,-1); Edit9.Text:=FloatToStr(e2); m1:=2.1+5*(Log10(b1)); m1:=RoundTo(m1,-1); Edit10.Text:=FloatToStr(m1); m3:=StrToFloat(Edit12.Text); m2:=m3+2.5*(Log10(b1/10))+2.5*(Log10(a3)); m2:=RoundTo(m2,-1); Edit11.Text:=FloatToStr(m2); x1:=2.0*b1; Edit13.Text:=FloatToStr(x1); x2:=b1/6; x2:=RoundTo(x2,-1); Edit14.Text:=FloatToStr(x2); x3:=60/a3; x3:=RoundTo(x3,-1); Edit16.Text:=FloatToStr(x3); m4:=StrtoInt(Edit17.Text); m5:=(m1-(2.5*(Log10((3.14*m4*m4*60)/(x3)*4)))+4)+dc*0.27; m5:=RoundTo(m5,-1); Edit18.Text:=FloatToStr(m5); x4:=1.4*b1; x4:=RoundTo(x4,-1); Edit19.Text:=FloatToStr(x4); x5:=0.7*b1; x5:=RoundTo(x5,-1); Edit20.Text:=FloatToStr(x5); f1:=a1/x1; f2:=a1/x2; f3:=a1/x4; f4:=a1/x5; f1:=RoundTo(f1,-1); f2:=RoundTo(f2,-1); f3:=RoundTo(f3,-1); f4:=RoundTo(f4,-1); Edit21.Text:=FloatToStr(f1); Edit22.Text:=FloatToStr(f2); Edit23.Text:=FloatToStr(f3); Edit24.Text:=FloatToStr(f4); k1:=2*1737/(1800/d1); k1:=RoundTo(k1,-1); Edit26.Text:=FloatToStr(k1); p:=StrtoInt(Edit29.Text); p1:=57.4*p/a1; p1:=RoundTo(p1,-2); Edit25.Text:=FloatToStr(p1); b1:=StrtoInt(Edit4.Text); e1:=p1*x2; e1:=RoundTo(e1,-2); Edit28.Text:=FloatToStr(e1);end;procedure TForm1.Button2Click(Sender: TObject);begin Closeend;procedure TForm1.RadioButton1Click(Sender: TObject); var p1,a1,e1,b1,x2:Extended;begin Edit29.Text:=FloatToStr(27);end;procedure TForm1.RadioButton2Click(Sender: TObject); var p1,a1,b1,x2,e1:Extended;begin Edit29.Text:=FloatToStr(50);end;procedure TForm1.N4Click(Sender: TObject);beginCloseend;procedure TForm1.Action1Execute(Sender: TObject);beginCloseend;procedure TForm1.Button3Click(Sender: TObject);begin Form4.Showend;procedure TForm1.N21Click(Sender: TObject);begin Form4.Showend;procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit6KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit15KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit17KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit27KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.N1Click(Sender: TObject);beginForm6.Showend;procedure TForm1.N2Click(Sender: TObject);begin Form7.Showend;procedure TForm1.N5Click(Sender: TObject);begin Form7.Showend;endюнит7Код: [Выделить]unit Unit7;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Math,Unit1;type TForm7 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Edit8: TEdit; Button1: TButton; Label9: TLabel; Label10: TLabel; Edit9: TEdit; Edit10: TEdit; Edit11: TEdit; Edit12: TEdit; Edit13: TEdit; Edit14: TEdit; Edit15: TEdit; Label11: TLabel; Button2: TButton; Edit16: TEdit; Edit17: TEdit; Edit18: TEdit; Edit19: TEdit; Edit20: TEdit; Edit21: TEdit; Edit22: TEdit; Label12: TLabel; Edit23: TEdit; Edit24: TEdit; Edit25: TEdit; Edit26: TEdit; Edit27: TEdit; Edit28: TEdit; Edit29: TEdit; Label13: TLabel; Edit30: TEdit; Edit31: TEdit; Edit32: TEdit; Edit33: TEdit; Edit34: TEdit; Edit35: TEdit; Edit36: TEdit; Label14: TLabel; Label15: TLabel; Label16: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public end;var Form7: TForm7;implementation {$R *.dfm}procedure TForm7.Button1Click(Sender: TObject); var ap,a4,b4,c4,e4,f4,g4,h4,a10,b10,c10,e10,f10,g10,h10,a20,b20,c20,e20,f20,g20,h20,a25,b25,c25,e25,f25,g25,h25,a32,b32,c32,e32,f32,g32,h32:Extended;begin ap:=StrtoInt(Edit8.Text); a4:=ap/4; b4:=40/a4; c4:=50/a4; e4:=55/a4; f4:=68/a4; g4:=72/a4; h4:=82/a4; a4:=RoundTo(a4,-1); b4:=RoundTo(b4,-1); c4:=RoundTo(c4,-1); e4:=RoundTo(e4,-1); f4:=RoundTo(f4,-1); g4:=RoundTo(g4,-1); h4:=RoundTo(h4,-1); Edit2.Text:=FloatToStr(a4); Edit1.Text:=FloatToStr(b4); Edit3.Text:=FloatToStr(c4); Edit5.Text:=FloatToStr(e4); Edit4.Text:=FloatToStr(f4); Edit6.Text:=FloatToStr(g4); Edit7.Text:=FloatToStr(h4); a10:=ap/10; b10:=40/a4; c10:=50/a4; e10:=55/a4; f10:=68/a4; g10:=72/a4; h10:=82/a4; a10:=RoundTo(a10,-2); b10:=RoundTo(b10,-2); c10:=RoundTo(c10,-2); e10:=RoundTo(e10,-2); f10:=RoundTo(f10,-2); g10:=RoundTo(g10,-2); h10:=RoundTo(h10,-2); Edit10.Text:=FloatToStr(a10); Edit9.Text:=FloatToStr(b10); Edit11.Text:=FloatToStr(c10); Edit13.Text:=FloatToStr(e10); Edit12.Text:=FloatToStr(f10); Edit14.Text:=FloatToStr(g10); Edit15.Text:=FloatToStr(h10); a20:=ap/20; b20:=40/a20; c20:=50/a20; e20:=55/a20; f20:=68/a20; g20:=72/a20; h20:=82/a20; a20:=RoundTo(a20,-2); b20:=RoundTo(b20,-2); c20:=RoundTo(c20,-2); e20:=RoundTo(e20,-2); f20:=RoundTo(f20,-2); g20:=RoundTo(g20,-2); h20:=RoundTo(h20,-2); Edit17.Text:=FloatToStr(a20); Edit16.Text:=FloatToStr(b20); Edit18.Text:=FloatToStr(c20); Edit20.Text:=FloatToStr(e20); Edit19.Text:=FloatToStr(f20); Edit21.Text:=FloatToStr(g20); Edit22.Text:=FloatToStr(h20); a25:=ap/25; b25:=40/a25; c25:=50/a25; e25:=55/a25; f25:=68/a25; g25:=72/a25; h25:=82/a25; a25:=RoundTo(a25,-2); b25:=RoundTo(b25,-2); c25:=RoundTo(c25,-2); e25:=RoundTo(e25,-2); f25:=RoundTo(f25,-2); g25:=RoundTo(g25,-2); h25:=RoundTo(h25,-2); Edit24.Text:=FloatToStr(a25); Edit23.Text:=FloatToStr(b25); Edit25.Text:=FloatToStr(c25); Edit27.Text:=FloatToStr(e25); Edit26.Text:=FloatToStr(f25); Edit28.Text:=FloatToStr(g25); Edit29.Text:=FloatToStr(h25); a32:=ap/32; b32:=40/a32; c32:=50/a32; e32:=55/a32; f32:=68/a32; g32:=72/a32; h32:=82/a32; a32:=RoundTo(a32,-2); b32:=RoundTo(b32,-2); c32:=RoundTo(c32,-2); e32:=RoundTo(e32,-2); f32:=RoundTo(f32,-2); g32:=RoundTo(g32,-2); h32:=RoundTo(h32,-2); Edit31.Text:=FloatToStr(a32); Edit30.Text:=FloatToStr(b32); Edit32.Text:=FloatToStr(c32); Edit34.Text:=FloatToStr(e32); Edit33.Text:=FloatToStr(f32); Edit35.Text:=FloatToStr(g32); Edit36.Text:=FloatToStr(h32);end;procedure TForm7.Button2Click(Sender: TObject);begin Closeend;end.
надо вбить все параметры перед кнопкой "Рассчитать"
Цитата: Lord Katler Bekket от 29 Авг 2011 [08:24:17]Цитата: Джиджоев Владислав от 29 Авг 2011 [08:12:37]Если переменная глобальная, в Юнит2 в отделе uses напиши имя юнита1нет переменная не глабальная, надо перменную а1 из первого юнитаиспользовать в качестве переменной ар в юните7, а то приходиться вводить её отдельно:юнит1Код: [Выделить]unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Math, ExtCtrls, Menus, ActnList, jpeg, ComCtrls, DBCtrls, Grids, DBGrids, DB, DBClient;type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; Button2: TButton; Edit4: TEdit; Label4: TLabel; Edit5: TEdit; Edit6: TEdit; Label5: TLabel; Label6: TLabel; Edit7: TEdit; Label7: TLabel; Edit8: TEdit; Label8: TLabel; Edit9: TEdit; Label9: TLabel; Edit10: TEdit; Label10: TLabel; Edit11: TEdit; Label11: TLabel; Label12: TLabel; Edit12: TEdit; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label17: TLabel; Edit13: TEdit; Label16: TLabel; Edit14: TEdit; Label18: TLabel; Label19: TLabel; Label20: TLabel; Label23: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; Label28: TLabel; Label29: TLabel; Label30: TLabel; Edit15: TEdit; Label31: TLabel; Label33: TLabel; Edit16: TEdit; Label32: TLabel; Label34: TLabel; Edit17: TEdit; Edit18: TEdit; Label35: TLabel; Label36: TLabel; Label38: TLabel; Label39: TLabel; Edit19: TEdit; Label40: TLabel; Label41: TLabel; Edit20: TEdit; Label42: TLabel; Label43: TLabel; Edit21: TEdit; Edit22: TEdit; Edit23: TEdit; Edit24: TEdit; Label44: TLabel; Label45: TLabel; Label46: TLabel; Label47: TLabel; Label48: TLabel; Label49: TLabel; RadioGroup1: TRadioGroup; RadioButton1: TRadioButton; RadioButton2: TRadioButton; Edit25: TEdit; Label52: TLabel; Label53: TLabel; Edit26: TEdit; Label54: TLabel; Label55: TLabel; Edit27: TEdit; Label56: TLabel; Edit28: TEdit; Label57: TLabel; Label58: TLabel; MainMenu1: TMainMenu; N3: TMenuItem; N4: TMenuItem; N21: TMenuItem; Label21: TLabel; Label22: TLabel; Label37: TLabel; Label50: TLabel; Label51: TLabel; N1: TMenuItem; Edit29: TEdit; N2: TMenuItem; N5: TMenuItem; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure N4Click(Sender: TObject); procedure Action1Execute(Sender: TObject); procedure Button3Click(Sender: TObject); procedure N21Click(Sender: TObject); procedure Edit4KeyPress(Sender: TObject; var Key: Char); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit6KeyPress(Sender: TObject; var Key: Char); procedure Edit15KeyPress(Sender: TObject; var Key: Char); procedure Edit17KeyPress(Sender: TObject; var Key: Char); procedure Edit27KeyPress(Sender: TObject; var Key: Char); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure N5Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementationuses Unit2, Unit4, Unit5, Unit6, Unit7;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject); var a1,a2,a3,b1,b2,c1,c2,d1,e2,m1,m2,m3,m4,m5,x1,x2,x3,x4,x5,l1,f1,f2,f3,f4,f5,k1,dc,p,p1,e1:Extended; okr:Real;begin dc:=StrtoInt(Edit27.Text); a1:=StrtoInt(Edit1.Text); a2:=StrtoInt(Edit2.Text); l1:=StrtoInt(Edit15.Text); a3:=a1*l1/a2; a3:=RoundTo(a3,-1); Edit3.Text:=FloatToStr(a3); b1:=StrtoInt(Edit4.Text); b2:=b1/a1; b2:=RoundTo(b2,-1); Edit5.Text:=FloatToStr(b2); c1:=StrtoInt(Edit6.Text); c2:=c1/a3; c2:=RoundTo(c2,-1); Edit7.Text:=FloatToStr(c2); d1:=140/b1; b1:=RoundTo(b1,-1); Edit8.Text:=FloatToStr(d1); e2:=b1/a3; e2:=RoundTo(e2,-1); Edit9.Text:=FloatToStr(e2); m1:=2.1+5*(Log10(b1)); m1:=RoundTo(m1,-1); Edit10.Text:=FloatToStr(m1); m3:=StrToFloat(Edit12.Text); m2:=m3+2.5*(Log10(b1/10))+2.5*(Log10(a3)); m2:=RoundTo(m2,-1); Edit11.Text:=FloatToStr(m2); x1:=2.0*b1; Edit13.Text:=FloatToStr(x1); x2:=b1/6; x2:=RoundTo(x2,-1); Edit14.Text:=FloatToStr(x2); x3:=60/a3; x3:=RoundTo(x3,-1); Edit16.Text:=FloatToStr(x3); m4:=StrtoInt(Edit17.Text); m5:=(m1-(2.5*(Log10((3.14*m4*m4*60)/(x3)*4)))+4)+dc*0.27; m5:=RoundTo(m5,-1); Edit18.Text:=FloatToStr(m5); x4:=1.4*b1; x4:=RoundTo(x4,-1); Edit19.Text:=FloatToStr(x4); x5:=0.7*b1; x5:=RoundTo(x5,-1); Edit20.Text:=FloatToStr(x5); f1:=a1/x1; f2:=a1/x2; f3:=a1/x4; f4:=a1/x5; f1:=RoundTo(f1,-1); f2:=RoundTo(f2,-1); f3:=RoundTo(f3,-1); f4:=RoundTo(f4,-1); Edit21.Text:=FloatToStr(f1); Edit22.Text:=FloatToStr(f2); Edit23.Text:=FloatToStr(f3); Edit24.Text:=FloatToStr(f4); k1:=2*1737/(1800/d1); k1:=RoundTo(k1,-1); Edit26.Text:=FloatToStr(k1); p:=StrtoInt(Edit29.Text); p1:=57.4*p/a1; p1:=RoundTo(p1,-2); Edit25.Text:=FloatToStr(p1); b1:=StrtoInt(Edit4.Text); e1:=p1*x2; e1:=RoundTo(e1,-2); Edit28.Text:=FloatToStr(e1);end;procedure TForm1.Button2Click(Sender: TObject);begin Closeend;procedure TForm1.RadioButton1Click(Sender: TObject); var p1,a1,e1,b1,x2:Extended;begin Edit29.Text:=FloatToStr(27);end;procedure TForm1.RadioButton2Click(Sender: TObject); var p1,a1,b1,x2,e1:Extended;begin Edit29.Text:=FloatToStr(50);end;procedure TForm1.N4Click(Sender: TObject);beginCloseend;procedure TForm1.Action1Execute(Sender: TObject);beginCloseend;procedure TForm1.Button3Click(Sender: TObject);begin Form4.Showend;procedure TForm1.N21Click(Sender: TObject);begin Form4.Showend;procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit6KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit15KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit17KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit27KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);begin if not (Key in ['0'..'9', #8]) then Key:= #0;end;procedure TForm1.N1Click(Sender: TObject);beginForm6.Showend;procedure TForm1.N2Click(Sender: TObject);begin Form7.Showend;procedure TForm1.N5Click(Sender: TObject);begin Form7.Showend;endюнит7Код: [Выделить]unit Unit7;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Math,Unit1;type TForm7 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Edit8: TEdit; Button1: TButton; Label9: TLabel; Label10: TLabel; Edit9: TEdit; Edit10: TEdit; Edit11: TEdit; Edit12: TEdit; Edit13: TEdit; Edit14: TEdit; Edit15: TEdit; Label11: TLabel; Button2: TButton; Edit16: TEdit; Edit17: TEdit; Edit18: TEdit; Edit19: TEdit; Edit20: TEdit; Edit21: TEdit; Edit22: TEdit; Label12: TLabel; Edit23: TEdit; Edit24: TEdit; Edit25: TEdit; Edit26: TEdit; Edit27: TEdit; Edit28: TEdit; Edit29: TEdit; Label13: TLabel; Edit30: TEdit; Edit31: TEdit; Edit32: TEdit; Edit33: TEdit; Edit34: TEdit; Edit35: TEdit; Edit36: TEdit; Label14: TLabel; Label15: TLabel; Label16: TLabel; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public end;var Form7: TForm7;implementation {$R *.dfm}procedure TForm7.Button1Click(Sender: TObject); var ap,a4,b4,c4,e4,f4,g4,h4,a10,b10,c10,e10,f10,g10,h10,a20,b20,c20,e20,f20,g20,h20,a25,b25,c25,e25,f25,g25,h25,a32,b32,c32,e32,f32,g32,h32:Extended;begin ap:=StrtoInt(Edit8.Text); a4:=ap/4; b4:=40/a4; c4:=50/a4; e4:=55/a4; f4:=68/a4; g4:=72/a4; h4:=82/a4; a4:=RoundTo(a4,-1); b4:=RoundTo(b4,-1); c4:=RoundTo(c4,-1); e4:=RoundTo(e4,-1); f4:=RoundTo(f4,-1); g4:=RoundTo(g4,-1); h4:=RoundTo(h4,-1); Edit2.Text:=FloatToStr(a4); Edit1.Text:=FloatToStr(b4); Edit3.Text:=FloatToStr(c4); Edit5.Text:=FloatToStr(e4); Edit4.Text:=FloatToStr(f4); Edit6.Text:=FloatToStr(g4); Edit7.Text:=FloatToStr(h4); a10:=ap/10; b10:=40/a4; c10:=50/a4; e10:=55/a4; f10:=68/a4; g10:=72/a4; h10:=82/a4; a10:=RoundTo(a10,-2); b10:=RoundTo(b10,-2); c10:=RoundTo(c10,-2); e10:=RoundTo(e10,-2); f10:=RoundTo(f10,-2); g10:=RoundTo(g10,-2); h10:=RoundTo(h10,-2); Edit10.Text:=FloatToStr(a10); Edit9.Text:=FloatToStr(b10); Edit11.Text:=FloatToStr(c10); Edit13.Text:=FloatToStr(e10); Edit12.Text:=FloatToStr(f10); Edit14.Text:=FloatToStr(g10); Edit15.Text:=FloatToStr(h10); a20:=ap/20; b20:=40/a20; c20:=50/a20; e20:=55/a20; f20:=68/a20; g20:=72/a20; h20:=82/a20; a20:=RoundTo(a20,-2); b20:=RoundTo(b20,-2); c20:=RoundTo(c20,-2); e20:=RoundTo(e20,-2); f20:=RoundTo(f20,-2); g20:=RoundTo(g20,-2); h20:=RoundTo(h20,-2); Edit17.Text:=FloatToStr(a20); Edit16.Text:=FloatToStr(b20); Edit18.Text:=FloatToStr(c20); Edit20.Text:=FloatToStr(e20); Edit19.Text:=FloatToStr(f20); Edit21.Text:=FloatToStr(g20); Edit22.Text:=FloatToStr(h20); a25:=ap/25; b25:=40/a25; c25:=50/a25; e25:=55/a25; f25:=68/a25; g25:=72/a25; h25:=82/a25; a25:=RoundTo(a25,-2); b25:=RoundTo(b25,-2); c25:=RoundTo(c25,-2); e25:=RoundTo(e25,-2); f25:=RoundTo(f25,-2); g25:=RoundTo(g25,-2); h25:=RoundTo(h25,-2); Edit24.Text:=FloatToStr(a25); Edit23.Text:=FloatToStr(b25); Edit25.Text:=FloatToStr(c25); Edit27.Text:=FloatToStr(e25); Edit26.Text:=FloatToStr(f25); Edit28.Text:=FloatToStr(g25); Edit29.Text:=FloatToStr(h25); a32:=ap/32; b32:=40/a32; c32:=50/a32; e32:=55/a32; f32:=68/a32; g32:=72/a32; h32:=82/a32; a32:=RoundTo(a32,-2); b32:=RoundTo(b32,-2); c32:=RoundTo(c32,-2); e32:=RoundTo(e32,-2); f32:=RoundTo(f32,-2); g32:=RoundTo(g32,-2); h32:=RoundTo(h32,-2); Edit31.Text:=FloatToStr(a32); Edit30.Text:=FloatToStr(b32); Edit32.Text:=FloatToStr(c32); Edit34.Text:=FloatToStr(e32); Edit33.Text:=FloatToStr(f32); Edit35.Text:=FloatToStr(g32); Edit36.Text:=FloatToStr(h32);end;procedure TForm7.Button2Click(Sender: TObject);begin Closeend;end.Передавать переменные на прямую между модулями хуже способа я не знаюОпределите в одном модуле метод возвращающий соответствующие данные и выполняющий необходимые преобразования типов, если нужно. Обеспечьте потоковую безопасность внутри данного метода - и все.
Цитата: Lord Katler Bekket от 28 Авг 2011 [21:24:13]Моя программа: Телескоп v0.25:http://astronomysatell.ucoz.ru/load/teleskop_v0_25/1-1-0-2Думаю также будет не лишнее взаимопомощь и некоторые правила, хотя бы...типа публиковать исходники и т д ....Для обмена мне ,кажется, стоит использовать какой-либо стабильный ресурс, например, GitHub или CodePlex или что-нибудь другое , которые имеют соответствующие возможности -- удобные интерфейсы пользователя (описание программы, краткие инструкции по установке)-- поддержки контроля версий
sourcefourgeИли попросить админа сделать на основе этого форума
Цитата: Джиджоев Владислав от 28 Авг 2011 [23:07:45]Моя идея: создать один пакет программ, который будет включать многие решения: от программ-астропланетариев, до программ по управлению телескопом. На первый взгляд - маниловщина. Но отбивать руки куда легче, чем карабкаться в гору. Поэтому давайте посмотрим на какие-то реализации отдельных идей будущего пакета, а там можно уже можно будет говорить о перспективах. В том числе и финансовых.
Моя идея: создать один пакет программ, который будет включать многие решения: от программ-астропланетариев, до программ по управлению телескопом.
Уже есть реализация первой идеи - Astronom v 0.25