A A A A Автор Тема: Делаю астрономическое ПО.  (Прочитано 4031 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Джиджоев ВладиславАвтор темы

  • **
  • Сообщений: 56
  • Благодарностей: 1
  • Мне нравится этот форум!
    • Сообщения от Джиджоев Владислав
Re: Делаю астрономическое ПО.
« Ответ #20 : 28 Авг 2011 [23:11:44] »
Но мы не напишем все программы, а только потом их выложим. Мы будем выкладывать их по отдельности, а когда их станет побольше(более 5-и) будем выкладывать их в виде одного пакета.

Оффлайн Mikhail Nalivkin

  • *****
  • Сообщений: 779
  • Благодарностей: 21
    • Skype - mnalivkin
    • Сообщения от Mikhail Nalivkin
Re: Делаю астрономическое ПО.
« Ответ #21 : 29 Авг 2011 [01:29:11] »
И мне и мне и мне!
Хочу простую астрономическую программу.
Антон, плюсану тебе за чётко сформулированную мечту :)

Одно старьё

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 669
  • Благодарностей: 67
    • Сообщения от Kirill Grishin
Re: Делаю астрономическое ПО.
« Ответ #22 : 29 Авг 2011 [07:21:41] »
Моя программа: Телескоп v0.25:http://astronomysatell.ucoz.ru/load/teleskop_v0_25/1-1-0-2
Думаю также будет не лишнее взаимопомощь и некоторые правила, хотя бы...
типа публиковать исходники и т д ....

а можно хотя бы в кратце что за программа
- возможности
- системные требования
- руководство по установке
установки не требует, рассчитывает параметры телескопа

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 669
  • Благодарностей: 67
    • Сообщения от Kirill Grishin
Re: Делаю астрономическое ПО.
« Ответ #23 : 29 Авг 2011 [08:09:51] »
У меня есть переменная(одна)в юнит1, которую надо использовать в юнит2, подскажите какой операцией сделать это?

Оффлайн Джиджоев ВладиславАвтор темы

  • **
  • Сообщений: 56
  • Благодарностей: 1
  • Мне нравится этот форум!
    • Сообщения от Джиджоев Владислав
Re: Делаю астрономическое ПО.
« Ответ #24 : 29 Авг 2011 [08:12:37] »
Если переменная глобальная, в Юнит2 в отделе uses напиши имя юнита1

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 669
  • Благодарностей: 67
    • Сообщения от Kirill Grishin
Re: Делаю астрономическое ПО.
« Ответ #25 : 29 Авг 2011 [08:24:17] »
Если переменная глобальная, в Юнит2 в отделе uses напиши имя юнита1
нет переменная не глабальная, надо перменную а1 из первого юнита
использовать в качестве переменной ар в юните7, а то приходиться вводить её отдельно:
юнит1
unit Unit1;

interface

uses
  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;

implementation

uses 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
 Close
end;

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);
begin
Close
end;

procedure TForm1.Action1Execute(Sender: TObject);
begin
Close
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
 Form4.Show
end;

procedure TForm1.N21Click(Sender: TObject);
begin
 Form4.Show
end;

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);
begin
Form6.Show
end;

procedure TForm1.N2Click(Sender: TObject);
begin
 Form7.Show
end;

procedure TForm1.N5Click(Sender: TObject);
begin
  Form7.Show
end;

end

юнит7
unit Unit7;

interface

uses
  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
 Close
end;

end.

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 669
  • Благодарностей: 67
    • Сообщения от Kirill Grishin
Re: Делаю астрономическое ПО.
« Ответ #26 : 29 Авг 2011 [12:13:56] »
Как и обещал, добавил исходник.
http://astronomysatell.ucoz.ru/load/iskhodnik_teleskop_v0_25/1-1-0-3

Оффлайн zlyden

  • *****
  • Сообщений: 5 169
  • Благодарностей: 72
  • Сергей Ларионов
    • Сообщения от zlyden
    • разговоры об астрономии
Re: Делаю астрономическое ПО.
« Ответ #27 : 29 Авг 2011 [12:25:14] »
Попробовал, не считает :'(

Предпочитаю наблюдать под Петербургом....

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 669
  • Благодарностей: 67
    • Сообщения от Kirill Grishin
Re: Делаю астрономическое ПО.
« Ответ #28 : 29 Авг 2011 [12:28:27] »
надо вбить все параметры перед кнопкой "Рассчитать"

Оффлайн aag031

  • Новичок
  • *
  • Сообщений: 15
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от aag031
Re: Делаю астрономическое ПО.
« Ответ #29 : 29 Авг 2011 [12:33:30] »
Если переменная глобальная, в Юнит2 в отделе uses напиши имя юнита1
нет переменная не глабальная, надо перменную а1 из первого юнита
использовать в качестве переменной ар в юните7, а то приходиться вводить её отдельно:
юнит1
unit Unit1;

interface

uses
  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;

implementation

uses 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
 Close
end;

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);
begin
Close
end;

procedure TForm1.Action1Execute(Sender: TObject);
begin
Close
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
 Form4.Show
end;

procedure TForm1.N21Click(Sender: TObject);
begin
 Form4.Show
end;

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);
begin
Form6.Show
end;

procedure TForm1.N2Click(Sender: TObject);
begin
 Form7.Show
end;

procedure TForm1.N5Click(Sender: TObject);
begin
  Form7.Show
end;

end

юнит7
unit Unit7;

interface

uses
  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
 Close
end;

end.

Передавать переменные на прямую между модулями хуже способа я не знаю

Определите в одном модуле метод возвращающий соответствующие данные и выполняющий необходимые преобразования типов, если нужно. Обеспечьте потоковую безопасность внутри данного метода - и все.
"Плохих людей нет есть люди не похожие на меня"
                                     Хольм Ван Зайчик

Оффлайн zlyden

  • *****
  • Сообщений: 5 169
  • Благодарностей: 72
  • Сергей Ларионов
    • Сообщения от zlyden
    • разговоры об астрономии
Re: Делаю астрономическое ПО.
« Ответ #30 : 29 Авг 2011 [12:35:05] »
надо вбить все параметры перед кнопкой "Рассчитать"
Тогда считает  :)

Предпочитаю наблюдать под Петербургом....

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 669
  • Благодарностей: 67
    • Сообщения от Kirill Grishin
Re: Делаю астрономическое ПО.
« Ответ #31 : 29 Авг 2011 [12:40:18] »
Если переменная глобальная, в Юнит2 в отделе uses напиши имя юнита1
нет переменная не глабальная, надо перменную а1 из первого юнита
использовать в качестве переменной ар в юните7, а то приходиться вводить её отдельно:
юнит1
unit Unit1;

interface

uses
  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;

implementation

uses 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
 Close
end;

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);
begin
Close
end;

procedure TForm1.Action1Execute(Sender: TObject);
begin
Close
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
 Form4.Show
end;

procedure TForm1.N21Click(Sender: TObject);
begin
 Form4.Show
end;

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);
begin
Form6.Show
end;

procedure TForm1.N2Click(Sender: TObject);
begin
 Form7.Show
end;

procedure TForm1.N5Click(Sender: TObject);
begin
  Form7.Show
end;

end

юнит7
unit Unit7;

interface

uses
  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
 Close
end;

end.

Передавать переменные на прямую между модулями хуже способа я не знаю

Определите в одном модуле метод возвращающий соответствующие данные и выполняющий необходимые преобразования типов, если нужно. Обеспечьте потоковую безопасность внутри данного метода - и все.
Спасибо, можете показать на данном примере,а то я не совсем врубаюсь.

Оффлайн aag031

  • Новичок
  • *
  • Сообщений: 15
  • Благодарностей: 0
  • Мне нравится этот форум!
    • Сообщения от aag031
Re: Делаю астрономическое ПО.
« Ответ #32 : 29 Авг 2011 [12:46:11] »
Моя программа: Телескоп v0.25:http://astronomysatell.ucoz.ru/load/teleskop_v0_25/1-1-0-2
Думаю также будет не лишнее взаимопомощь и некоторые правила, хотя бы...
типа публиковать исходники и т д ....

Для обмена мне ,кажется, стоит использовать какой-либо стабильный ресурс, например, GitHub или CodePlex или что-нибудь другое , которые имеют соответствующие возможности
-- удобные интерфейсы пользователя (описание программы, краткие инструкции по установке)
-- поддержки контроля версий
"Плохих людей нет есть люди не похожие на меня"
                                     Хольм Ван Зайчик

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 669
  • Благодарностей: 67
    • Сообщения от Kirill Grishin
Re: Делаю астрономическое ПО.
« Ответ #33 : 29 Авг 2011 [12:49:40] »
Моя программа: Телескоп v0.25:http://astronomysatell.ucoz.ru/load/teleskop_v0_25/1-1-0-2
Думаю также будет не лишнее взаимопомощь и некоторые правила, хотя бы...
типа публиковать исходники и т д ....

Для обмена мне ,кажется, стоит использовать какой-либо стабильный ресурс, например, GitHub или CodePlex или что-нибудь другое , которые имеют соответствующие возможности
-- удобные интерфейсы пользователя (описание программы, краткие инструкции по установке)
-- поддержки контроля версий
Пользуемся чем есть...

Оффлайн Джиджоев ВладиславАвтор темы

  • **
  • Сообщений: 56
  • Благодарностей: 1
  • Мне нравится этот форум!
    • Сообщения от Джиджоев Владислав
Re: Делаю астрономическое ПО.
« Ответ #34 : 29 Авг 2011 [12:57:40] »
Моя программа: Телескоп v0.25:http://astronomysatell.ucoz.ru/load/teleskop_v0_25/1-1-0-2
Думаю также будет не лишнее взаимопомощь и некоторые правила, хотя бы...
типа публиковать исходники и т д ....

Для обмена мне ,кажется, стоит использовать какой-либо стабильный ресурс, например, GitHub или CodePlex или что-нибудь другое , которые имеют соответствующие возможности
-- удобные интерфейсы пользователя (описание программы, краткие инструкции по установке)
-- поддержки контроля версий

тогда давайте выберем, либо codeplex, либо sourcefourge.

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 669
  • Благодарностей: 67
    • Сообщения от Kirill Grishin
Re: Делаю астрономическое ПО.
« Ответ #35 : 29 Авг 2011 [13:35:06] »
sourcefourge
Или попросить админа сделать на основе этого форума

Оффлайн Джиджоев ВладиславАвтор темы

  • **
  • Сообщений: 56
  • Благодарностей: 1
  • Мне нравится этот форум!
    • Сообщения от Джиджоев Владислав
Re: Делаю астрономическое ПО.
« Ответ #36 : 29 Авг 2011 [13:56:22] »
sourcefourge
Или попросить админа сделать на основе этого форума

Согласен.

Оффлайн Джиджоев ВладиславАвтор темы

  • **
  • Сообщений: 56
  • Благодарностей: 1
  • Мне нравится этот форум!
    • Сообщения от Джиджоев Владислав
Re: Делаю астрономическое ПО.
« Ответ #37 : 29 Авг 2011 [16:31:37] »
Моя идея: создать один пакет программ, который будет включать многие решения: от программ-астропланетариев, до программ по управлению телескопом.

 На первый взгляд - маниловщина. Но отбивать руки куда легче, чем карабкаться в гору. Поэтому давайте посмотрим на какие-то реализации отдельных идей будущего пакета, а там можно уже можно будет говорить о перспективах. В том числе и финансовых.

ОКей.

Оффлайн Джиджоев ВладиславАвтор темы

  • **
  • Сообщений: 56
  • Благодарностей: 1
  • Мне нравится этот форум!
    • Сообщения от Джиджоев Владислав
Re: Делаю астрономическое ПО.
« Ответ #38 : 29 Авг 2011 [17:08:51] »
Уже есть реализация первой идеи - Astronom v 0.25 :)

Оффлайн Kirill Grishin

  • *****
  • Сообщений: 2 669
  • Благодарностей: 67
    • Сообщения от Kirill Grishin
Re: Делаю астрономическое ПО.
« Ответ #39 : 29 Авг 2011 [17:10:43] »
Уже есть реализация первой идеи - Astronom v 0.25 :)
Телескоп v0.25=))))))