А во вторых, как я понял, вы пытались скачть все файлы, что там были, а это для практической работы вряд ли нужно.
Для работы с сами эфемеридыами обычно нужно иметь на компьютере всего 3 файла:
sepl_18.se1
semo_18.se1
seas_18.se1
Спасибо большое за разъяснения, а то я действительно пыталась скачать все.
Да конечно же можно!!!
Можно в виде макроса для (exel/word) практически полноценную программу написать, а можно и отдельное exe приложение на VB )))
Я кстати выложу позже макрос для эксель, который будет искать соединения планет, и еще один макрос, который делает статистику по распределению планет в зодиаке за период.
Я тут попробовал снова с OOo, он (2.4.1) стабильно падает на расчете координат, но вот юлианскую дату считает правильно, то есть совместимость какая-то частично есть.
Вопрос автору.
Код:
If CType = "Def" Then iflag = SEFLG_SPEED + SEFLG_MOSEPH
и так далее, в OOo бейсике вполне можно заменить на
Код:
Select Case CType
Case "Def"
iflag = SEFLG_SPEED + SEFLG_MOSEPH
Case ....
Case Else
End Select
Очень кстати Вы появились. :) Хорошо бы поиметь функцию, результатом которой является номер дома, в котором находится планета. Если Вас не затруднит, поделитесь кодом этой функции.
Очень кстати Вы появились. :) Хорошо бы поиметь функцию, результатом которой является номер дома, в котором находится планета. Если Вас не затруднит, поделитесь кодом этой функции.
Да, удивительно, как я обходился раньше без такой функции, щас сел и накатал этот код за 5 минут )))
Вроде бы работает ))) раньше вычислял номер дома стандартными средствами из эксели )))
В общем, вставляем в конец окна с функциями следующий код (понадобится еще функция StartPoint, которая описана в єтой теме несколькми постами выше):
Public Function PlHouse(ByVal JD As Double, ByVal pl As Double, ByVal HSys As Variant, ByVal CType As Variant, ByVal LonH As Double, ByVal LonM As Double, ByVal LatH As Double, ByVal LatM As Double)
Dim cspx(12) As Double
Dim csph(12) As Double
Dim Lpl As Double
For i = 1 To 12
cspx(i) = CHouse(JD, HSys, CType, i, LonH, LonM, LatH, LatM)
Next
For i = 1 To 12
csph(i) = StartPoint(cspx(1), CHouse(JD, HSys, CType, i, LonH, LonM, LatH, LatM))
Next
Lpl = StartPoint(cspx(1), Plc(JD, pl, CType, 0))
PlHouse = 1
For i = 2 To 12
If Lpl > csph(i) Then PlHouse = i
Next
End Function
Я её не успел даже толком поотлаживать, так что не исключены ошибки, если таковые будут, - сообщите мне :))
Функция PlHouse выводит номер дома, в котором находится планета.
JD - Юлианская дата
pl - Номер планеты (см. функцию plc)
HSys - Система домов (на пример буква P - плацидус, см. функцию CHouse)
CType - Тип зодиака (см. функцию plc)
LonH & LonM - Долгота градусы и минуты
LatH & LatM - Широта градусы и минуты
P.S. Алексей, DoReMi, Владимир и все, кому интересна эта тема. Большая просьба оставить заявки на интересные для вас функции, чтобы я мог их сразу включить в статью, над которой я сейчас работаю ))
Последний раз редактировалось LordWilex, 16.07.2008 в 15:31.
Отлично! Спасибо огромное, LordWilex! :)
Сразу видно, "дело мастера боится". :))
Цитата:
Я её не успел даже толком поотлаживать, так что не исключены ошибки, если таковые будут, - сообщите мне :))
Ежели какой баг выскочит - обязательно сообщу.
Если правильно понял, то логика такова:
-сначала вычисляются долготы куспидов
-затем, долготы куспидов относительно Асц
-затем, долгота планеты относительно Асц
-затем, в цикле последнее выполненное условие определяет номер дома
Если так, то все ОК!
Цитата:
Большая просьба оставить заявки на интересные для вас функции, чтобы я мог их сразу включить в статью, над которой я сейчас работаю ))
С радостью бы оставил, но пока даже не знаю, что может еще понадобиться в ходе исследования... :) Если только пакет аналитических функций?
Если правильно понял, то логика такова:
-сначала вычисляются долготы куспидов
-затем, долготы куспидов относительно Асц
-затем, долгота планеты относительно Асц
-затем, в цикле последнее выполненное условие определяет номер дома
Если так, то все ОК!
Да именно так )))
Цитата:
Сообщение от Алексей
С радостью бы оставил, но пока даже не знаю, что может еще понадобиться в ходе исследования... :) Если только пакет аналитических функций?
Ну с пакетом аналитических функций ориентированных на астрологию это пока в очень далекой перспективе, да и зачем, мне, на пример, пока хватает и того, что уже есть в эксель, ну еще могу посеветовать поставить пакет AtteStat там мнгого полезностей по статистике, и его можно использовать в эксель в связке с ШЭ ))
Уважаемый LordWilex. Нечеловеческое СПАСИБО за проделанный труд, ваш вклад в астрорасчеты весьма и весьма ощутим!
И сразу вопрос. Как Вы рассчитываете звездное время по эфемеридам и как можно использовать функции VB в делфи. Те формулы для расчета ST что предствлены на различных сайтах, приближенные, считают точно только на определенную дату (видимо подогнан коэффициен) поэтому мне не подходят.
Те формулы для расчета ST что предствлены на различных сайтах, приближенные, считают точно только на определенную дату (видимо подогнан коэффициен) поэтому мне не подходят.
Швейцарские эффемериды считают звездное время очень точно. Вам их нужно просто использовать и все. Если вы пишите на Delphi то VB вам не нужен - используйте dll
А можно попросить выложить *.txt файл со всем текстом, готовым к вставке в макрос, или вовсе сразу файл swe.xla?
Дак я ж вроде уже выкладывал в этой теме...
В общем тут:swe.zip в текстовом формате
А тут: SweNew.zip в формате .xla
P.S. Если у кого будут вопросы по ШЭ или нужно какую функцию добавить, - спрашивайте не стесняйтесь, думаю дней через 10 я закончю все дела и займусть этим проектом вплотную.
Цитата:
Сообщение от Rubin
как можно использовать функции VB в делфи.
В базовом "джентельтменском комплекте" ШЭ есть в том числе и декларация этих функций на дельфи и даже примеры дельфишных программ с исходниками. Скачать его можно тут: ftp://ftp.astro.com/pub/swisseph/sweph.zip
А сами ШЭ написанны не на VB, а на C++ , есть еще их неофициальная реализация на java.
VB в данном случае я использую из соображений доступности для рядовых пользователей не программистов.
Последний раз редактировалось LordWilex, 10.11.2008 в 10:07.