MAV писал(а):
Да сторонние не нужны, расчёт кеплеровских орбит с поправками на возмущения заложены в код. kir1381, ради праздного любопытства, какие основные характеристики планетной механики используются в астрологии?
Буду с Вами честен. Я не астролог и не знаю какие основные характеристики планетной механики используются в астрологии. Возможно это цикличность или еще что. Я положение планет использую для других целей, хочу сделать кое какое ПО. Вот только программировать не умею а желание сделать огромное. Если есть желание и возможность помочь, то все что мне нужно это чтоб можно было выбрать дату и по это дате я смог получить вот такую инфу:
градусы положения планет ГЕО , ГЕЛИО (по выбору)
Юж.Узел и Сев.Узел
восход солнца
ASC
Если желания и возможности нет, то нет проблем буду пробовать методом тыка .
С уважением ко всем.
------------ Дoбавленo в 16.40:Уважаемый MAV , еще хотел спросить вот Ваша разработка Planpos, она только гелио расчитывает???
------------ Дoбавленo в 19.56:Ребят помогите решить проблему, ну никак мне не удается получить данные из длл. Код проекта прикрепил , это часть кода который любезно предоставил уважаемый Леонид.В его виде эта часть тоже не работает. Может кто все же поможет. Саму ДЛЛ можно взять в начале темы. С уважением
Add(MainForm,2953706,84,63)
{
Height=187
}
Add(Button,3736586,77,217)
{
Left=25
Top=70
Caption="Plc"
link(onClick,9612142:doString,[(149,223)(149,230)])
}
Add(Edit,5040089,147,140)
{
Left=95
Top=70
Width=70
Text="2456976.5"
}
Add(Label,1734342,26,112)
{
Left=115
Top=50
Width=216
Height=17
Caption="tjd ipl iflag xx "
AutoSize=1
}
Add(Edit,6643468,196,140)
{
Left=175
Top=70
Text=""
}
Add(Edit,13836217,245,140)
{
Left=235
Top=70
Text=""
}
Add(Edit,10550670,294,140)
{
Left=295
Top=70
Text=""
}
Add(FormatStr,9612142,189,224)
{
DataCount=4
Mask="%1;%2;%3;%4"
link(onFString,14890052:doPlc,[(241,230)(241,227)])
link(Str1,5040089:Text,[(195,198)(153,198)])
link(Str2,6643468:Text,[])
link(Str3,13836217:Text,[(209,198)(251,198)])
link(Str4,10550670:Text,[(216,198)(300,198)])
}
Add(InlineCode,14890052,261,221)
{
@Hint=#22:Расшифровка кода Морзе|
WorkPoints=#41:doPlc=Получить градусы планет от swedll32|0:|
EventPoints=#39:onPlc=Выдаёт градусы планет от swedll32|0:|
DataPoints=#32:Dataswedll32=Данные для swedll32|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Windows,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|0:|0:|10: private|4: |9: public|25: _data_Data:THI_Event;|54: Dataswedll32:THI_Event; //Точка сверху для данных|85: onPlc:THI_Event; //Выдаёт градусы планет от swedll32 (Точка Event слева)|21://Декларация процедур|85: procedure doPlc(var _Data:TData; Index:word); //(Точка Work справа)|5: end;|20://Декларация функций|72:function swe_calc(tjd : double; {Julian day, Ephemeris Time}|59: ipl : Integer; {planet number}|75: iflag : Integer; //, {flag bits} Longint|64: var xx : double {first of 6 doubles}|60: //sErr : PChar {Error-String}|85:): Longint; stdcall; far; external 'swedll32.dll' name '_swe_calc@24'; //stdcall|21: |15:implementation |28:procedure THiAsmClass.doPlc;|25:var _DataSwedll32:string;|36: tjd , xx:double; // , _xx|32: ipl, iflag,_ResLong:integer;|18: // _sErr:PChar;|5:begin|54: _DataSwedll32 := ReadString(_Data,Dataswedll32,'');|34: if _DataSwedll32='' then Exit;|50: tjd := Str2Double(Parse( _DataSwedll32, ';' ));|46: ipl := Str2Int(Parse(_DataSwedll32, ';' ));|48: iflag := Str2Int(Parse(_DataSwedll32, ';' ));|35: xx := Str2Double(_DataSwedll32);|17: // _sErr:='я'; |41: _ResLong:= swe_calc(tjd,ipl,iflag,xx);|3: |32: _hi_onEvent(onPlc,_ResLong); |4:end;|4:end.|
link(onPlc,1846681:doText,[(315,227)(315,223)])
}
Add(Label,1846681,336,217)
{
Left=85
Top=105
Width=240
}