Создание менеджера конфигурации Celestia
Обоснование и выбор программных средств обеспечения проектирования и разработки структуры классов. Математические методы и специальные алгоритмы решения задачи. Описание входной, выходной и промежуточной информации. Разработка экранного интерфейса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 18.05.2014 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Сумма отчислений на социальные нужды составляет 34% от суммы дополнительной и основной заработных плат:
ЗОТЧЗП = 0,34*(300000+180000) = 163200 руб.
Тогда годовые издержки на заработную плату обслуживающего персонала составят:
ЗЗП = 300000+180000+163200=643200 руб.
Полные затраты на эксплуатацию ЭВМ в течение года составят:
ЗЭВМ = 643200 +2062,5+1381,212+165+825+825 = 648 457,712 руб.
Тогда цена машино-часа арендуемого времени составит:
СЧАС = 648 451,712 /1784 = 363,48.
А затраты на оплату машинного времени составят:
ЗМЕСПП = 363,48*39,32= 14292 руб.
Расчёт общих расходов.
Общие расходы это расходы на освещение, отопление, коммунальные услуги и т.п.
Общие затраты на создание программного продукта составят:
ЗСПП= 389,8 +7191,6+2062,5+14292=23 935,9 руб.
Можно сделать следующие выводы:
В результате расчета, затраты на создание данного программного продукта составили 23 935,9 руб. Снизить затраты на создание можно, например, используя следующие методы: повысить эффективность работы программиста, путем использования более современных ЭВМ; при этом, а также при бережном и аккуратном отношении к компьютерной технике автоматически уменьшатся затраты на ремонт, а значит и необходимость привлечения дополнительного обслуживающего персонала будет гораздо реже. Можно сократить количество компьютерной техники, для работы программиста. В связи с тем, что три четверти расходов идут на оплату труда программиста, возможно, уменьшить его заработную плату, или уменьшить необходимое количество программистов, создающих программу. Можно сократить оклад инженера-электронщика и электрослесаря или объединить их обязанности в должности одного работника.
Заключение
В процессе дипломного проектирования было разработано программное обеспечение конфигурирующее космический симулятор Celestia, и ее дополнения. Данное ПО описано в проектной части и приложении данной работы.
Рассчитанные показатели экономической эффективности данной разработки говорят о целесообразности вложения денежных средств в ее реализацию и внедрение.
Внедрение данной программы призвано облегчить работу астрономов-любителей и обычных пользователей Celestia, а их количество во всем мире очень большое. Для реализации программной части информационной системы выбран язык программирования С++.
Итогом выполнения дипломной работы послужила разработка бксплатного программного продукта с открытым исходным кодом, позволяющего редактировать множество дополнительных параметров Celestia, Lua-инструментов, а также управлять отображением различных объектов, включая космические аппараты.
Для удобства также реализован импорт и экспорт всех параметров в специальный конфигурационный файл.
Список использованной литературы
1. Виснадул, Б.Д. Гагарина, Л. Г. Кокорева, Е.В. Технология разработки программных продуктов - 2008.
2. Рудаков, А.В. Технология разработки программных продуктов - 2006.
3. ГОСТ 19.202-78 - Требования к содержанию и оформлению - 1980.
4. ГОСТ 19.402-78 - Описание программы - 1980.
Приложение 1
Текст программы
Unit1.h
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ComCtrls.hpp>
#include <Buttons.hpp>
#include <ExtCtrls.hpp>
#include <jpeg.hpp>
#include <CheckLst.hpp>
#include <Vcl.Dialogs.hpp>
#include <IdBaseComponent.hpp>
#include <IdComponent.hpp>
#include <IdHTTP.hpp>
#include <IdTCPClient.hpp>
#include <IdTCPConnection.hpp>
#include <Vcl.Imaging.pngimage.hpp>
#include <Vcl.Menus.hpp>
//---------------------------------------------------------------------------
class TMainForm : public TForm
{
__published:// IDE-managed Components
TPageControl *PageControl1;
TTabSheet *MainTab;
TTabSheet *ObjectTab;
TTabSheet *LuaTab;
TTabSheet *AboutTab;
TGroupBox *GroupBox1;
TEdit *EditDir1;
TEdit *Edit3;
TBitBtn *BitBtn1;
TBitBtn *BitBtn2;
TGroupBox *GroupBox2;
TCheckBox *CheckBox1;
TCheckBox *CheckBox2;
TCheckBox *CheckBox4;
TGroupBox *GroupBox3;
TCheckBox *CheckBox5;
TCheckBox *CheckBox6;
TCheckBox *CheckBox7;
TCheckBox *CheckBox8;
TBitBtn *BitBtn3;
TEdit *Edit2;
TLabel *LabelCelestia;
TLabel *LabelLink2;
TLabel *LabelDirComment;
TLabel *Label5;
TLabel *Label6;
TLabel *Label7;
TLabel *LabelAbout;
TLabel *Label1;
TLabel *Label2;
TGroupBox *GroupBox4;
TImage *Image2;
TImage *Image3;
TImage *Image4;
TRadioButton *RadioButton1;
TRadioButton *RadioButton2;
TRadioButton *RadioButton3;
TEdit *EditDir2;
TEdit *EditDir3;
TTabSheet *SettingTab;
TGroupBox *GroupBox5;
TButton *ButtonDir1;
TButton *ButtonDir2;
TButton *ButtonDir3;
TLabel *LabelDir1;
TLabel *LabelDir2;
TLabel *LabelDir3;
TLabel *Label3;
TLabel *Label4;
TLabel *Label10;
TCheckBox *CheckBox10;
TLabel *Label11;
TLabel *Label12;
TLabel *Label14;
TLabel *Label16;
TLabel *Label19;
TEdit *Edit5;
TGroupBox *GroupBox7;
TButton *Button1;
TEdit *EditScreenDir;
TComboBox *ComboBox1;
TEdit *EditStartScript;
TLabel *Label22;
TEdit *EditDemoScript;
TLabel *Label23;
TLabel *Label21;
TLabel *Label20;
TLabel *Label24;
TLabel *Label25;
TCheckBox *CheckBox11;
TCheckBox *CheckBox12;
TCheckBox *CheckBox13;
TScrollBar *ScrollBar1;
TScrollBar *ScrollBar2;
TEdit *Edit1;
TLabel *Label26;
TLabel *Label27;
TGroupBox *GroupBox8;
TCheckBox *CheckBox14;
TLabel *Label28;
TEdit *Edit4;
TLabel *Label29;
TComboBox *ComboBox2;
TCheckBox *CheckBox15;
TCheckBox *CheckBox16;
TCheckBox *CheckBox17;
TRadioGroup *RadioGroup1;
TCheckBox *CheckBox18;
TCheckBox *CheckBox19;
TGroupBox *GroupBox6;
TCheckBox *CheckBox21;
TLabeledEdit *PlayerEdit;
TButton *Button2;
TGroupBox *GroupBox9;
TGroupBox *GroupBox10;
TGroupBox *GroupBox11;
TLabel *Label9;
TBitBtn *BitBtn4;
TLabel *Label17;
TButton *Button3;
TButton *Button4;
TLabel *Label18;
TOpenDialog *PlayerDialog;
TTabSheet *Page1;
TTabSheet *Page2;
TCheckBox *CheckBox9;
TCheckBox *CheckBox3;
TCheckBox *CheckBox22;
TPageControl *PageControl2;
TCheckBox *CheckBox20;
TCheckBox *CheckBox23;
TCheckBox *CheckBox24;
TCheckBox *CheckBox25;
TCheckBox *CheckBox26;
TCheckBox *CheckBox27;
TCheckBox *CheckBox28;
TCheckBox *CheckBox29;
TCheckBox *CheckBox30;
TCheckBox *CheckBox31;
TCheckBox *CheckBox32;
TLabel *Label30;
TCheckBox *CheckBox33;
TCheckBox *CheckBox34;
TCheckBox *CheckBox35;
TCheckBox *CheckBox36;
TCheckBox *CheckBox37;
TCheckBox *CheckBox38;
TCheckBox *CheckBox39;
TCheckBox *CheckBox40;
TCheckBox *CheckBox41;
TCheckBox *CheckBox42;
TCheckBox *CheckBox43;
TCheckBox *CheckBox44;
TCheckBox *CheckBox45;
TCheckBox *CheckBox46;
TCheckBox *CheckBox47;
TCheckBox *CheckBox48;
TCheckBox *CheckBox49;
TCheckBox *CheckBox50;
TCheckBox *CheckBox51;
TCheckBox *CheckBox52;
TCheckBox *CheckBox53;
TCheckBox *CheckBox54;
TCheckBox *CheckBox55;
TCheckBox *CheckBox56;
TLabel *Label31;
TCheckBox *CheckBox57;
TCheckBox *CheckBox58;
TCheckBox *CheckBox59;
TCheckBox *CheckBox60;
TCheckBox *CheckBox61;
TOpenDialog *ImportDialog;
TLabel *Label32;
TSaveDialog *ExportDialog;
TLabel *Label8;
TLabel *Label13;
TGroupBox *GroupBox12;
TLabel *Link1;
TLabel *Link2;
TLabel *Link3;
TLabel *Link4;
TIdHTTP *Web;
TImage *Image5;
TImage *Image6;
TImage *Image7;
TImage *Image8;
TLabel *Label15;
TLabel *Label33;
TCheckBox *CheckBox62;
TGroupBox *GroupBox13;
TCheckBox *CheckBox63;
TPopupMenu *PopMenu;
TMenuItem *Hlp;
void __fastcall LabelLink2Click(TObject *Sender);
void __fastcall LabelLink2MouseLeave(TObject *Sender);
void __fastcall BitBtn1Click(TObject *Sender);
void __fastcall BitBtn3Click(TObject *Sender);
void __fastcall BitBtn2Click(TObject *Sender);
void __fastcall Edit2KeyPress(TObject *Sender, char &Key);
void __fastcall Edit3KeyPress(TObject *Sender, char &Key);
void __fastcall Edit2Click(TObject *Sender);
void __fastcall Edit3Click(TObject *Sender);
void __fastcall BitBtn4Click(TObject *Sender);
void __fastcall FormShow(TObject *Sender);
void __fastcall RadioButton1Click(TObject *Sender);
void __fastcall RadioButton2Click(TObject *Sender);
void __fastcall RadioButton3Click(TObject *Sender);
void __fastcall Edit2Change(TObject *Sender);
void __fastcall Edit3Change(TObject *Sender);
void __fastcall ButtonDir1Click(TObject *Sender);
void __fastcall ButtonDir2Click(TObject *Sender);
void __fastcall ButtonDir3Click(TObject *Sender);
void __fastcall Image2Click(TObject *Sender);
void __fastcall Image3Click(TObject *Sender);
void __fastcall Image4Click(TObject *Sender);
void __fastcall Label10MouseLeave(TObject *Sender);
void __fastcall Label10Click(TObject *Sender);
void __fastcall Label14MouseLeave(TObject *Sender);
void __fastcall Label14Click(TObject *Sender);
void __fastcall Label16MouseLeave(TObject *Sender);
void __fastcall Label16Click(TObject *Sender);
void __fastcall Button1Click(TObject *Sender);
void __fastcall Edit5Change(TObject *Sender);
void __fastcall Edit5Click(TObject *Sender);
void __fastcall Edit5KeyPress(TObject *Sender, char &Key);
void __fastcall ScrollBar1Change(TObject *Sender);
void __fastcall ScrollBar2Change(TObject *Sender);
void __fastcall Edit1Change(TObject *Sender);
void __fastcall Edit1Click(TObject *Sender);
void __fastcall Edit4Change(TObject *Sender);
void __fastcall Edit4Click(TObject *Sender);
void __fastcall Edit4KeyPress(TObject *Sender, char &Key);
void __fastcall CheckBox16Click(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
void __fastcall CheckBox22Click(TObject *Sender);
void __fastcall Button3Click(TObject *Sender);
void __fastcall Label32MouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
void __fastcall Label32MouseLeave(TObject *Sender);
void __fastcall Label32Click(TObject *Sender);
void __fastcall Label16MouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
void __fastcall Label14MouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
void __fastcall LabelLink2MouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
void __fastcall Label10MouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
void __fastcall Button4Click(TObject *Sender);
void __fastcall Label8MouseLeave(TObject *Sender);
void __fastcall Label8MouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
void __fastcall Label8Click(TObject *Sender);
void __fastcall Label13MouseLeave(TObject *Sender);
void __fastcall Label13MouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
void __fastcall Label13Click(TObject *Sender);
void __fastcall Link1MouseLeave(TObject *Sender);
void __fastcall Link1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
void __fastcall Link1Click(TObject *Sender);
void __fastcall Link2MouseLeave(TObject *Sender);
void __fastcall Link2MouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
void __fastcall Link2Click(TObject *Sender);
void __fastcall Link3MouseLeave(TObject *Sender);
void __fastcall Link3MouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
void __fastcall Link3Click(TObject *Sender);
void __fastcall Link4MouseLeave(TObject *Sender);
void __fastcall Link4MouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
void __fastcall Link4Click(TObject *Sender);
void __fastcall Label15MouseLeave(TObject *Sender);
void __fastcall Label15MouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
void __fastcall Label15Click(TObject *Sender);
void __fastcall Label33MouseLeave(TObject *Sender);
void __fastcall Label33MouseMove(TObject *Sender, TShiftState Shift, int X, int Y);
void __fastcall Label33Click(TObject *Sender);
void __fastcall HlpClick(TObject *Sender);
private:// User declarations
public:// User declarations
__fastcall TMainForm(TComponent* Owner);
String __fastcall GetVer(String FileName);
void ObjectProv(String PodFolder, String Folder, String SSC, TCheckBox *Check);
void ObjectSave(String PodFolder, String Folder, TCheckBox *Check);
void ObjectVos(String PodFolder, String Folder, String SSC, TCheckBox *Check, bool extras);
void EndingProv(String Dir, String Folder, String SSC, TCheckBox *Check);
void EndingSave(String Dir, String Folder, String SSC, TCheckBox *Check);
void EndingVos(String Dir, String Folder, String SSC, TCheckBox *Check);
void CheckAll(bool checked);
void HSatRingsProv(String Path, TCheckBox *Check);
void HSatRingsSave(String Path, TCheckBox *Check);
};
//---------------------------------------------------------------------------
extern PACKAGE TMainForm *MainForm;
//---------------------------------------------------------------------------
#endif
Unit1.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "FileCtrl.hpp"
#include "IniFiles.hpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TIniFile* EP;
TIniFile* Settings;
TIniFile* Links;
TMemIniFile* Lang;
bool startfolder,AutoSave;
String S[7], sl;
String LuaAdr;
String Link[4];
String CelestiaVersion;
String Language,LanguageFile;
String LinkLocale[15];
String StringsLocale[15];
String MessegesLocale[15];
TMainForm *MainForm;
//---------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
// ПРОВЕРКИ ПРИ СТАРТЕ //
////////////////////////////////////////////////////////////////////////////////
__fastcall TMainForm::TMainForm(TComponent* Owner)
: TForm(Owner)
{
//ЗАГРУЗКА ЛОКАЛИЗАЦИИ
wchar_t charlang[255];
LCID lc = GetSystemDefaultLCID();
GetLocaleInfo(lc,LOCALE_SENGLANGUAGE,charlang,sizeof(charlang));
Language = charlang;
LanguageFile=ExtractFilePath(Application->ExeName)+"manager\\language\\"+Language+".lng";
Lang = new TMemIniFile(LanguageFile);
Application->Title=Lang->ReadString("Strings","AppName","Celestia Config Manager")+" v"+GetVer(Application->ExeName);
MainForm->Caption=Application->Title;
//Вкладка "Основные"
Label19->Caption=Lang->ReadString("Main","Label19","You are using:")+" ";
Label32->Caption=Lang->ReadString("Main","Label32","Download new version");
LinkLocale[1]=Lang->ReadString("Links","Link1","http://sourceforge.net/projects/celestia/files/Celestia-win32-bin/");
ExportDialog->Filter=Lang->ReadString("Strings","EIDialogFilter","Configuration files")+"|*.cfg";
ImportDialog->Filter=Lang->ReadString("Strings","EIDialogFilter","Configuration files")+"|*.cfg";
PlayerDialog->Filter=Lang->ReadString("Strings","PlayerDialogFilter","Executable files")+"|*.exe";
MainTab->Caption=Lang->ReadString("Main","MainTab","Main");
GroupBox1->Caption=Lang->ReadString("Main","GroupBox1","Extras directories");
LabelDir1->Caption=Lang->ReadString("Main","LabelDir1","Standard addons directory (default)");
LabelDir2->Caption=Lang->ReadString("Main","LabelDir2","Addons directory (default)");
LabelDir3->Caption=Lang->ReadString("Main","LabelDir3","Personal addons directory (optional)");
LabelDirComment->Caption=Lang->ReadString("Main","LabelDirComment","There are addons folders for the program. You can add or change folders which Celestia will look for installed addons.");
Label5->Caption=Lang->ReadString("Main","Label5","How many sample points use to render orbit paths:");
Label1->Caption=Lang->ReadString("Main","Label1","Allowed values: from 80 to 400");
Label6->Caption=Lang->ReadString("Main","Label6","Number of segments in which ring systems are rendered:");
Label2->Caption=Lang->ReadString("Main","Label2","Allowed values: from 100 to 2000");
GroupBox4->Caption=Lang->ReadString("Main","GroupBox4","Cursor in Celestia");
RadioButton1->Caption=Lang->ReadString("Main","RadioButton1","Crosshair");
RadioButton2->Caption=Lang->ReadString("Main","RadioButton2","Inverted crosshair");
RadioButton3->Caption=Lang->ReadString("Main","RadioButton3","Arrow");
GroupBox7->Caption=Lang->ReadString("Main","GroupBox7","Scripts");
Label20->Caption=Lang->ReadString("Main","Label20","Script screenshot directory");
Label21->Caption=Lang->ReadString("Main","Label21","Script system access policy");
ComboBox1->Items->Add(Lang->ReadString("Strings","ComboBox1Item1","Ask"));
ComboBox1->Items->Add(Lang->ReadString("Strings","ComboBox1Item2","Allow"));
ComboBox1->Items->Add(Lang->ReadString("Strings","ComboBox1Item3","Deny"));
Label22->Caption=Lang->ReadString("Main","Label22","Init script");
Label23->Caption=Lang->ReadString("Main","Label23","Demonstration script");
Label24->Caption=Lang->ReadString("Main","Label24","Speed of rotation of observer's camera, when holding keyboard arrows <- or ->");
Label26->Caption=Lang->ReadString("Main","Label26","Note: This parameter affects the camera rotation speed in 'Planetarium' mode, being near planet surface.");
Label25->Caption=Lang->ReadString("Main","Label25","Mouse rotation sensitivity:");
Label27->Caption=Lang->ReadString("Main","Label27","Note: The value 0.0 disables this function.");
GroupBox6->Caption=Lang->ReadString("Main","GroupBox6","Incidental music Celestia EP v2.0");
CheckBox21->Caption=Lang->ReadString("Main","CheckBox21","Enabled");
PlayerEdit->EditLabel->Caption=Lang->ReadString("Main","PlayerEdit","Path to your media player (required):");
Hlp->Caption=Lang->ReadString("Main","Help","Help");
BitBtn1->Caption=Lang->ReadString("Strings","SaveButton","Save");
//Вкладка "Объекты и время"
ObjectTab->Caption=Lang->ReadString("ObjectsTime","ObjectTab","Objects and time");
GroupBox2->Caption=Lang->ReadString("ObjectsTime","GroupBox2","Show");
CheckBox1->Caption=Lang->ReadString("ObjectsTime","CheckBox1","Sun flares");
CheckBox2->Caption=Lang->ReadString("ObjectsTime","CheckBox2","Jupiter rings");
CheckBox10->Caption=Lang->ReadString("ObjectsTime","CheckBox10","Mars Features (pack by Leserg)");
LinkLocale[2]=Lang->ReadString("Links","Link2","http://en.celestiaproject.ru/?p=82");
Label13->Caption=Lang->ReadString("Strings","Download","Download");
CheckBox17->Caption=Lang->ReadString("ObjectsTime","CheckBox17","Kuiper Belt");
LinkLocale[3]=Lang->ReadString("Links","Link3","http://en.celestiaproject.ru/?p=76");
Label33->Caption=Lang->ReadString("Strings","Download","Download");
CheckBox18->Caption=Lang->ReadString("ObjectsTime","CheckBox18","Dynamic clouds of Jupiter");
LinkLocale[4]=Lang->ReadString("Links","Link4","http://en.celestiaproject.ru/?p=53");
Label15->Caption=Lang->ReadString("Strings","Download","Download");
CheckBox19->Caption=Lang->ReadString("ObjectsTime","CheckBox19","Io 3D volcanoes");
CheckBox20->Caption=Lang->ReadString("ObjectsTime","CheckBox20","Space lift");
LinkLocale[5]=Lang->ReadString("Links","Link5","http://en.celestiaproject.ru/?p=89");
Label8->Caption=Lang->ReadString("Strings","Download","Download");
CheckBox61->Caption=Lang->ReadString("ObjectsTime","CheckBox61","Oort Cloud");
LinkLocale[6]=Lang->ReadString("Links","Link6","http://en.celestiaproject.ru/?p=85");
Label16->Caption=Lang->ReadString("Strings","Download","Download");
CheckBox62->Caption=Lang->ReadString("ObjectsTime","CheckBox62","Highlight the particles of Saturn rings (only Celestia EP v3.0)");
//Космические аппараты
GroupBox5->Caption=Lang->ReadString("ObjectsTime","GroupBox5","Spacecrafts, which doesn't exists anymore");
Page1->Caption=Lang->ReadString("ObjectsTime","Page1","Page 1");
Page2->Caption=Lang->ReadString("ObjectsTime","Page2","Page 2");
CheckBox9->Caption=Lang->ReadString("Spacecrafts","CheckBox9","Mir");
CheckBox3->Caption=Lang->ReadString("Spacecrafts","CheckBox3","Galileo");
CheckBox23->Caption=Lang->ReadString("Spacecrafts","CheckBox23","Cassini-Huygens");
CheckBox24->Caption=Lang->ReadString("Spacecrafts","CheckBox24","Satellite 1");
CheckBox25->Caption=Lang->ReadString("Spacecrafts","CheckBox25","Satellite 2");
CheckBox26->Caption=Lang->ReadString("Spacecrafts","CheckBox26","Satellite 3");
CheckBox27->Caption=Lang->ReadString("Spacecrafts","CheckBox27","Salyut 7");
CheckBox28->Caption=Lang->ReadString("Spacecrafts","CheckBox28","Mariner");
CheckBox29->Caption=Lang->ReadString("Spacecrafts","CheckBox29","Venus Express");
CheckBox30->Caption=Lang->ReadString("Spacecrafts","CheckBox30","Chandra X-Ray Observatory");
CheckBox31->Caption=Lang->ReadString("Spacecrafts","CheckBox31","Corot");
CheckBox32->Caption=Lang->ReadString("Spacecrafts","CheckBox32","Herschel");
CheckBox33->Caption=Lang->ReadString("Spacecrafts","CheckBox33","Voyager 1 and 2");
CheckBox34->Caption=Lang->ReadString("Spacecrafts","CheckBox34","New Horizons");
CheckBox35->Caption=Lang->ReadString("Spacecrafts","CheckBox35","Spitzer");
CheckBox36->Caption=Lang->ReadString("Spacecrafts","CheckBox36","ISO");
CheckBox37->Caption=Lang->ReadString("Spacecrafts","CheckBox37","Envisat");
CheckBox38->Caption=Lang->ReadString("Spacecrafts","CheckBox38","AMSAT-OSCAR 7");
CheckBox39->Caption=Lang->ReadString("Spacecrafts","CheckBox39","Apollo 10 and 11");
CheckBox40->Caption=Lang->ReadString("Spacecrafts","CheckBox40","Dawn");
CheckBox41->Caption=Lang->ReadString("Spacecrafts","CheckBox41","Deep Impact");
CheckBox42->Caption=Lang->ReadString("Spacecrafts","CheckBox42","Giotto");
CheckBox43->Caption=Lang->ReadString("Spacecrafts","CheckBox43","Helios 1 and 2");
CheckBox44->Caption=Lang->ReadString("Spacecrafts","CheckBox44","ICE");
CheckBox45->Caption=Lang->ReadString("Spacecrafts","CheckBox45","Luna and Lunokhod");
CheckBox46->Caption=Lang->ReadString("Spacecrafts","CheckBox46","LRO");
CheckBox47->Caption=Lang->ReadString("Spacecrafts","CheckBox47","Magellan");
CheckBox48->Caption=Lang->ReadString("Spacecrafts","CheckBox48","Mars Express");
CheckBox49->Caption=Lang->ReadString("Spacecrafts","CheckBox49","MGS");
CheckBox50->Caption=Lang->ReadString("Spacecrafts","CheckBox50","MRO");
CheckBox51->Caption=Lang->ReadString("Spacecrafts","CheckBox51","Messenger");
CheckBox52->Caption=Lang->ReadString("Spacecrafts","CheckBox52","Nozomi");
CheckBox53->Caption=Lang->ReadString("Spacecrafts","CheckBox53","Phoenix Lander");
CheckBox54->Caption=Lang->ReadString("Spacecrafts","CheckBox54","Pioneers");
CheckBox55->Caption=Lang->ReadString("Spacecrafts","CheckBox55","Planck");
CheckBox56->Caption=Lang->ReadString("Spacecrafts","CheckBox56","Rosetta");
CheckBox57->Caption=Lang->ReadString("Spacecrafts","CheckBox57","Ulysses");
CheckBox58->Caption=Lang->ReadString("Spacecrafts","CheckBox58","Venera");
CheckBox59->Caption=Lang->ReadString("Spacecrafts","CheckBox59","Viking");
CheckBox60->Caption=Lang->ReadString("Spacecrafts","CheckBox60","Zond 3");
CheckBox22->Caption=Lang->ReadString("Spacecrafts","CheckBox22","Select all");
BitBtn2->Caption=Lang->ReadString("Strings","SaveButton","Save");
//Вкладка "Lua-инструменты"
CheckBox4->Caption=Lang->ReadString("LuaTools","CheckBox4","Show at Celestia startup");
GroupBox3->Caption=Lang->ReadString("LuaTools","GroupBox3","Show automatically");
CheckBox5->Caption=Lang->ReadString("LuaTools","CheckBox5","Information about objects");
CheckBox6->Caption=Lang->ReadString("LuaTools","CheckBox6","Coordinates");
CheckBox11->Caption=Lang->ReadString("LuaTools","CheckBox11","Magnification mode");
CheckBox12->Caption=Lang->ReadString("LuaTools","CheckBox12","H-R Diagram");
CheckBox7->Caption=Lang->ReadString("LuaTools","CheckBox7","Keplerian params");
CheckBox13->Caption=Lang->ReadString("LuaTools","CheckBox13","Virtual pad");
CheckBox8->Caption=Lang->ReadString("LuaTools","CheckBox8","Compass");
GroupBox13->Caption=Lang->ReadString("LuaTools","GroupBox13","Objects from the addons catalog");
CheckBox63->Caption=Lang->ReadString("LuaTools","CheckBox63","Asteroid Belt");
GroupBox8->Caption=Lang->ReadString("LuaTools","GroupBox8","Advanced settings");
CheckBox14->Caption=Lang->ReadString("LuaTools","CheckBox14","Show local time");
CheckBox15->Caption=Lang->ReadString("LuaTools","CheckBox15","Center compass");
CheckBox16->Caption=Lang->ReadString("LuaTools","CheckBox16","Alt-azimuth mode disabled");
Label29->Caption=Lang->ReadString("LuaTools","Label29","Date format:");
ComboBox2->Items->Add(Lang->ReadString("Strings","ComboBox2Item1","Country default"));
ComboBox2->Items->Add(Lang->ReadString("Strings","ComboBox2Item2","dd/mm/yyyy"));
ComboBox2->Items->Add(Lang->ReadString("Strings","ComboBox2Item3","mm/dd/yyyy"));
ComboBox2->Items->Add(Lang->ReadString("Strings","ComboBox2Item4","yyyy/mm/dd"));
Label28->Caption=Lang->ReadString("LuaTools","Label28","Custom goto duration");
RadioGroup1->Caption=Lang->ReadString("LuaTools","RadioGroup1","Color scheme");
RadioGroup1->Items->Add(Lang->ReadString("Strings","RadioGroup1Item1","Colorless transparent"));
RadioGroup1->Items->Add(Lang->ReadString("Strings","RadioGroup1Item2","Translucent blue"));
RadioGroup1->Items->Add(Lang->ReadString("Strings","RadioGroup1Item3","Green translucent"));
RadioGroup1->Items->Add(Lang->ReadString("Strings","RadioGroup1Item4","Purple translucent"));
Label11->Caption=" "+Lang->ReadString("LuaTools","Label11","Lua Tools not found!");
Label12->Caption=Lang->ReadString("Strings","Download","Download")+":";
Label14->Caption=Lang->ReadString("Links","Link7","http://en.celestiaproject.ru/?cat=29");
LinkLocale[7]=Lang->ReadString("Links","Link7","http://en.celestiaproject.ru/?cat=29");
BitBtn3->Caption=Lang->ReadString("Strings","SaveButton","Save");
//Вкладка "Управление настройками"
SettingTab->Caption=Lang->ReadString("ManageSettings","SettingsTab","Manage settings");
GroupBox9->Caption=Lang->ReadString("ManageSettings","GroupBox9","Import settings");
Label17->Caption=Lang->ReadString("ManageSettings","Label17","It is possible to import a file with settings, which was exported earlier. You'll get the exact configuration, which was exported.");
Button3->Caption=Lang->ReadString("ManageSettings","Button3","Select file to import");
GroupBox10->Caption=Lang->ReadString("ManageSettings","GroupBox10","Export settings");
Label18->Caption=Lang->ReadString("ManageSettings","Label18","It is possible to export settings to a file. It's convenient, if you'd have to reinstall Celestia or the entire operating system, and the default settings are not for you.");
Button4->Caption=Lang->ReadString("ManageSettings","Button4","Export settings to file");
GroupBox11->Caption=Lang->ReadString("ManageSettings","GroupBox11","Restore default settings");
Label9->Caption=Lang->ReadString("ManageSettings","Label9","When restoring an original settings, default values are applied to all Celestia parameters, Lua-tools and addons.");
BitBtn4->Caption=Lang->ReadString("ManageSettings","BitBtn4","Perform recovery");
//Вкладка "О программе"
AboutTab->Caption=Lang->ReadString("About","AboutTab","About");
Label7->Caption=Lang->ReadString("About","Label7","Configuration manager was developed for Celestia 1.6.1, Celestia Educational and Celestia Extended Pack. It's designed to make Celestia configuration precise, and for managing its addons. It supports most of the spacecrafts, and following Lua-tools: Lua Edu Tools v1.2 beta 8, Lua Edu Tools v1.2 beta 9, Lua Universal Tools v1.0 and Lua Universal Tools v2.0.");
Label3->Caption=Lang->ReadString("About","Label3","Thanks to: Sergey Leonov a.k.a Leserg for testing of the first version and useful tips; Artyom Volgin a.k.a Zemlyanin for ideas on functionality and testing of all versions.");
LabelCelestia->Caption=Lang->ReadString("About","LabelCelestia","Celestia in Russia")+":";
Label4->Caption=Lang->ReadString("About","Label4","Discussion")+":";
Label10->Caption=Lang->ReadString("About","Label10","on shatters.net/forum");
LinkLocale[8]=Lang->ReadString("Links","Link8","#"); //ссылка на тему англоязычного форума (форум недоступен)
GroupBox12->Caption=Lang->ReadString("About","GroupBox12","Recommended downloads")+":";
//Оставшиеся строки
StringsLocale[1]=Lang->ReadString("Strings","Unknown","unknown");
StringsLocale[2]=" "+Lang->ReadString("Strings","Outdated","(outdated)");
StringsLocale[3]=Lang->ReadString("Strings","Version","Version");
StringsLocale[4]=Lang->ReadString("Strings","NoNetwork","No Internet connection");
StringsLocale[5]=" "+Lang->ReadString("Strings","LUT2Notice","In Lua Universal Tools v2.0 some parameters are not used.");
StringsLocale[6]=Lang->ReadString("Strings","LuaTools","Lua Tools");
StringsLocale[7]=Lang->ReadString("Strings","ExtrasDir","Choose folder with the addons for Celestia")+":";
StringsLocale[8]=Lang->ReadString("Strings","ScreenDir","Choose folder to save screenshots")+":";
StringsLocale[9]=Lang->ReadString("Strings","AltAzimuthOn","Alt-azimuth mode enabled");
StringsLocale[10]=Lang->ReadString("Strings","AltAzimuthOff","Alt-azimuth mode disabled");
StringsLocale[11]=Lang->ReadString("Strings","NoLocalizedHelp","Help file in your language not found. Open Help in English?");
//Сообщения
MessegesLocale[1]=Lang->ReadString("Messages","Message1","To run the utility, place it in the root directory of Celestia.");
MessegesLocale[2]=Lang->ReadString("Messages","Message2","Invalid value!");
MessegesLocale[3]=Lang->ReadString("Messages","Message3","Invalid addons folder! The first field must be specified.");
MessegesLocale[4]=Lang->ReadString("Messages","Message4","The 'Init script' must be specified!");
MessegesLocale[5]=Lang->ReadString("Messages","Message5","The 'Demo script' must be specified!");
MessegesLocale[6]=Lang->ReadString("Messages","Message6","Settings were saved successfully!");
MessegesLocale[7]=Lang->ReadString("Messages","Message7","Do you really want to restore default settings?");
MessegesLocale[8]=Lang->ReadString("Messages","Message8","Default settings were restored successfully!");
MessegesLocale[9]=Lang->ReadString("Messages","Message9","Settings were imported successfully!");
MessegesLocale[10]=Lang->ReadString("Messages","Message10","Settings were successfully exported to a file");
//ПРОВЕРКА РАСПОЛОЖЕНИЯ ПРОГРАММЫ
if (FileExists(ExtractFilePath(Application->ExeName)+"celestia.cfg") && FileExists(ExtractFilePath(Application->ExeName)+"celestia.exe") || FileExists(ExtractFilePath(Application->ExeName)+"celestia161-ED.exe") || FileExists(ExtractFilePath(Application->ExeName)+"Celestia EP.exe"))
{
startfolder = true;
MkDir(ExtractFilePath(Application->ExeName)+ "temp");
Label30->Caption="|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|";
Label31->Caption="|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|\n|";
}
else
{
if (Application->MessageBox(MessegesLocale[1].c_str(), Application->Title.c_str(), MB_OK | MB_ICONEXCLAMATION)==MB_OK)
{
startfolder = false;
}
}
}
//---------------------------------------------------------------------------
//Функция получения версии exe файла
String __fastcall TMainForm::GetVer(String FileName)
{
String Version;
DWORD h;
DWORD Size = GetFileVersionInfoSize(FileName.c_str(), &h);
if (Size == 0)
{
Version = StringsLocale[1].c_str();
return Version;
}
TCHAR *buf;
buf = (TCHAR *)GlobalAlloc(GMEM_FIXED, Size);
if (GetFileVersionInfo(FileName.c_str(), h, Size, buf) != 0)
{
PVSFixedFileInfo ValueBuf;
UINT Len;
if (VerQueryValue(buf, L"\\", &(void *)ValueBuf, &Len) != 0)
Version = String().sprintf(L"%d.%d.%d",
HIWORD(ValueBuf->dwFileVersionMS),
LOWORD(ValueBuf->dwFileVersionMS),
HIWORD(ValueBuf->dwFileVersionLS),
LOWORD(ValueBuf->dwFileVersionLS));
}
GlobalFree(buf);
return Version;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormShow(TObject *Sender)
{
if (!startfolder)
Application->Terminate();
else
{
//Включаем видимость формы
MainForm->AlphaBlend=false;
//Считывание версии Celestia
if (FileExists(ExtractFilePath(Application->ExeName)+"celestia161-ED.exe"))
CelestiaVersion="Celestia 1.6.1 Educational";
else
{
if (FileExists(ExtractFilePath(Application->ExeName)+"\\documents\\"+"Информация о Celestia EP v3.0.pdf"))
{
CelestiaVersion="Celestia Extended Pack v3.0";
CheckBox62->Enabled=true;
}
if (FileExists(ExtractFilePath(Application->ExeName)+"\\documents\\"+"Информация о Celestia EP v2.0.pdf"))
{
CelestiaVersion="Celestia Extended Pack v2.0";
GroupBox6->Visible=true;
}
if (FileExists(ExtractFilePath(Application->ExeName)+"Информация о Celestia EP v1.1.txt"))
CelestiaVersion="Celestia Extended Pack v1.1";
if (FileExists(ExtractFilePath(Application->ExeName)+"Информация о Celestia EP.txt"))
CelestiaVersion="Celestia Extended Pack v1.0";
}
if (CelestiaVersion!="")
Label19->Caption=Label19->Caption+CelestiaVersion;
else
{
//Проверка версии Celestia
Label19->Caption=Label19->Caption+"Celestia "+GetVer(ExtractFilePath(Application->ExeName)+"celestia.exe");
if(GetVer(ExtractFilePath(Application->ExeName)+"celestia.exe")!="1.6.1")
{
Label19->Caption=Label19->Caption+StringsLocale[2];
Label32->Visible=true;
}
}
//Авторская защита
LabelAbout->Caption="© Alexell\n"+StringsLocale[3]+": "+GetVer(Application->ExeName)+" (28.04.2014)";
LabelLink2->Caption="www.celestiaproject.ru";
//Установка прокси для режима Debug
#ifdef _DEBUG
Web->ProxyParams->BasicAuthentication=true;
Web->ProxyParams->ProxyServer="192.168.200.110";
Web->ProxyParams->ProxyPort=3128;
Web->ProxyParams->ProxyUsername="sunduk";
Web->ProxyParams->ProxyPassword="gbplf";
#endif
//Блок ссылок "Рекомендуем скачать"
TStringList *TMP = new TStringList;
try
{
if(Language=="Russian")
TMP->Text=Web->Get("http://files.celestiaproject.ru/config_manager/links_ru.ini");
else
TMP->Text=Web->Get("http://files.celestiaproject.ru/config_manager/links_en.ini");
TMP->SaveToFile(ExtractFilePath(Application->ExeName)+"manager\\"+"links.ini");
}
catch(...){}
delete TMP;
Links = new TIniFile(ExtractFilePath(Application->ExeName)+"manager\\"+"links.ini");
Link1->Caption=Links->ReadString("Link1","Caption",StringsLocale[4]);
Link2->Caption=Links->ReadString("Link2","Caption",StringsLocale[4]);
Link3->Caption=Links->ReadString("Link3","Caption",StringsLocale[4]);
Link4->Caption=Links->ReadString("Link4","Caption",StringsLocale[4]);
Link[1]=Links->ReadString("Link1","URL",StringsLocale[4]);
Link[2]=Links->ReadString("Link2","URL",StringsLocale[4]);
Link[3]=Links->ReadString("Link3","URL",StringsLocale[4]);
Link[4]=Links->ReadString("Link4","URL",StringsLocale[4]);
delete Links;
//ПРОВЕРКА ВКЛАДКИ "ОСНОВНЫЕ"
TStringList *MainProv=new TStringList;
TStringList *DirList=new TStringList;
String OrbitP="OrbitPathSamplePoints ";
String RingsP="RingSystemSections ";
int op;
int rp;
String OrbitDigit="";
String RingDigit="";
MainProv->LoadFromFile(ExtractFilePath(Application->ExeName) + "celestia.cfg");
//Считывание папок с дополнениями
S[3]=ExtractFilePath(Application->ExeName);
DirList->LoadFromFile(S[3]+"celestia.cfg");
for (int i=0;i<DirList->Count;i++)
if ((DirList->Strings[i].Pos("ExtrasDirectories")>0) && (DirList->Strings[i][1] != '#'))
{
S[0]=""; S[1]=""; S[2]="";
int cr, kaw=0 ;
sl=DirList->Strings[i];
if ((cr=sl.Pos("["))>0)
for (;cr<=sl.Length();cr++)
{
if (sl[cr]=='"') kaw++; else
if (kaw%2==1) S[3&(kaw/2)] += sl[cr] ;
if (sl[cr]==']') break ;
}
EditDir1->Text = S[0];
EditDir2->Text = S[1];
EditDir3->Text = S[2];
}
//Считывание точек орбит
for (int i=0;i<MainProv->Count;i++)
if ((op=MainProv->Strings[i].Pos(OrbitP))>0)
for (int k=op;k<=MainProv->Strings[i].Length();k++)
if (isdigit(MainProv->Strings[i][k]))
OrbitDigit+=MainProv->Strings[i][k];
Edit2->Text=OrbitDigit;
//Считывание сегментов колец
for (int i=0;i<MainProv->Count;i++)
if ((rp=MainProv->Strings[i].Pos(RingsP))>0)
for (int k=rp;k<=MainProv->Strings[i].Length();k++)
if (isdigit(MainProv->Strings[i][k]))
RingDigit+=MainProv->Strings[i][k];
Edit3->Text=RingDigit;
//Считывание курсора
for (int i=0;i<MainProv->Count;i++)
{
if(MainProv->Strings[i].Pos(" Cursor \""))
{
if(MainProv->Strings[i]==" Cursor \"crosshair\"")
{
RadioButton1->Checked=true;
RadioButton2->Checked=false;
RadioButton3->Checked=false;
}
if(MainProv->Strings[i]==" Cursor \"inverting crosshair\"")
{
RadioButton1->Checked=false;
RadioButton2->Checked=true;
RadioButton3->Checked=false;
}
if(MainProv->Strings[i]==" Cursor \"arrow\"")
{
RadioButton1->Checked=false;
RadioButton2->Checked=false;
RadioButton3->Checked=true;
}
}
}
//Проверка папки скриншотов
S[3]=ExtractFilePath(Application->ExeName);
DirList->LoadFromFile(S[3]+"celestia.cfg");
for (int i=0;i<DirList->Count;i++)
if ((DirList->Strings[i].Pos("ScriptScreenshotDirectory")>0) && (DirList->Strings[i][1] != '#'))
{
S[4]="";
if (DirList->Strings[i]==" ScriptScreenshotDirectory \"\"")
S[4]="";
else
{
int cr;
sl=DirList->Strings[i];
if ((cr=sl.Pos("\""))>0)
for (;cr<=sl.Length();cr++)
{
if (sl[cr]=='"')
S[4] += sl[cr+1];
else
{
if (sl[cr+1]=='"') break ;
else S[4] += sl[cr+1];
}
}
}
EditScreenDir->Text = S[4];
}
//Проверка параметра ScriptSystemAccessPolicy
for (int i=0;i<MainProv->Count;i++)
{
if(MainProv->Strings[i].Pos(" ScriptSystemAccessPolicy"))
{
if (MainProv->Strings[i]==" ScriptSystemAccessPolicy \"ask\"")
ComboBox1->ItemIndex=0;
if (MainProv->Strings[i]==" ScriptSystemAccessPolicy \"allow\"")
ComboBox1->ItemIndex=1;
if (MainProv->Strings[i]==" ScriptSystemAccessPolicy \"deny\"")
ComboBox1->ItemIndex=2;
}
}
//Проверка стартового скрипта
S[3]=ExtractFilePath(Application->ExeName);
S[5]="";
DirList->LoadFromFile(S[3]+"celestia.cfg");
for (int i=0;i<DirList->Count;i++)
if ((DirList->Strings[i].Pos("InitScript")>0) && (DirList->Strings[i][1] != '#'))
{
int cr;
sl=DirList->Strings[i];
if ((cr=sl.Pos("\""))>0)
for (;cr<=sl.Length();cr++)
{
if (sl[cr]=='"')
S[5] += sl[cr+1];
else
{
if (sl[cr+1]=='"') break ;
else S[5] += sl[cr+1];
}
}
EditStartScript->Text = S[5];
}
//Проверка Demo сценария
S[3]=ExtractFilePath(Application->ExeName);
S[6]="";
DirList->LoadFromFile(S[3]+"celestia.cfg");
for (int i=0;i<DirList->Count;i++)
if ((DirList->Strings[i].Pos("DemoScript")>0) && (DirList->Strings[i][1] != '#'))
{
int cr;
sl=DirList->Strings[i];
if ((cr=sl.Pos("\""))>0)
for (;cr<=sl.Length();cr++)
{
if (sl[cr]=='"')
S[6] += sl[cr+1];
else
{
if (sl[cr+1]=='"') break ;
else S[6] += sl[cr+1];
}
}
EditDemoScript->Text = S[6];
}
//Считывание скорости вращения
String RotateP=" RotateAcceleration ";
String RotateDigit="";
for (int i=0;i<MainProv->Count;i++)
if (op=MainProv->Strings[i].Pos(RotateP)>0)
for (int k=22;k<=MainProv->Strings[i].Length();k++)
if (MainProv->Strings[i][k]=='.')
break;
else
RotateDigit+=MainProv->Strings[i][k];
Edit5->Text=RotateDigit;
ScrollBar1->Position=StrToInt(Edit5->Text);
//Считывание чувствительности мыши
String MouseRotP=" MouseRotationSensitivity ";
String MouseDigit="";
float pos,postemp;
FormatSettings.DecimalSeparator='.';
for (int i=0;i<MainProv->Count;i++)
{
if (MainProv->Strings[i].Pos(MouseRotP)>0)
{
for (int k=27;k<=MainProv->Strings[i].Length();k++)
MouseDigit+=MainProv->Strings[i][k];
}
}
Edit1->Text=MouseDigit;
postemp=StrToFloat(MouseDigit);
pos=postemp*10;
ScrollBar2->Position=pos;
FormatSettings.DecimalSeparator=',';
//Проверка музыкального проигрывателя для Celestia EP v2.0
if(GroupBox6->Visible==true)
{
EP = new TIniFile(ExtractFilePath(Application->ExeName)+"celestia_ep.ini");
if(EP->ReadString("Settings","Music","")=="true")
CheckBox21->Checked=true;
else
CheckBox21->Checked=false;
PlayerEdit->Text=EP->ReadString("Settings","Player","");
delete EP;
}
delete MainProv;
delete DirList;
//-------------------------
//ПРОВЕРКА ВКЛАДКИ "ОБЪЕКТЫ И ВРЕМЯ"
//Проверка Солнечных вспышек
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
ObjectProv("data\\solar-system\\sun\\","sun_flares","sun flares.ssc",CheckBox1);
else
ObjectProv("extras\\","sun_flares","sun flares.ssc",CheckBox1);
//Проверка колец Юпитера
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
ObjectProv("data\\solar-system\\planets-&-moons\\jupiter-&-moons\\","Jupiter Rings","Jupiter.ssc",CheckBox2);
else
ObjectProv("extras\\","Jupiter Rings","Jupiter.ssc",CheckBox2);
//Проверка Достопримечательностей Марса
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
ObjectProv("data\\solar-system\\planets-&-moons\\mars\\","Mars Surface Features","Mars Features.ssc",CheckBox10);
else
ObjectProv("extras\\Solar System\\Planet\\Mars\\","Mars Surface Features","Mars Features.ssc",CheckBox10);
//Проверка Пояса Койпера
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
ObjectProv("data\\solar-system\\","kuiper-belt","Kuiper_Belt.ssc",CheckBox17);
else
ObjectProv("extras\\","Kuiper_Belt","Kuiper_Belt.ssc",CheckBox17);
//Проверка Динамической атмосферы Юпитера
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
ObjectProv("data\\solar-system\\planets-&-moons\\jupiter-&-moons\\","JupClouds","JupClouds.ssc",CheckBox18);
else
ObjectProv("extras\\","Jupiter_Clouds","JupClouds.ssc",CheckBox18);
//Проверка вулканов Ио
if(Label19->Caption.Pos("Celestia Extended Pack v1.0")) //недочет в самой сборке
ObjectProv("extras\\","iovolcanoes\\iovolcanoes","volcanoes.ssc",CheckBox19);
else
{
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
ObjectProv("data\\solar-system\\planets-&-moons\\jupiter-&-moons\\","iovolcanoes","volcanoes.ssc",CheckBox19);
else
ObjectProv("extras\\","iovolcanoes","volcanoes.ssc",CheckBox19);
}
//Космический лифт
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
ObjectProv("data\\fiction-objects\\","space-lift","Space Lift.ssc",CheckBox20);
else
ObjectProv("extras\\","Space Lift","Space Lift.ssc",CheckBox20);
//Облако Оорта
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
ObjectProv("data\\solar-system\\","oort-cloud","OC.dsc",CheckBox61);
else
ObjectProv("extras\\","Oort_Cloud","OC.dsc",CheckBox61);
//Подсветка частиц колец Сатурна
HSatRingsProv("data\\solar-system\\planets-&-moons\\saturn\\saturn-rings-model\\models\\saturn-ring-element.cmod", CheckBox62);
//Проверка Ending у космических аппаратов
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\near-earth-missions\\", "mir", "mir.ssc", CheckBox9);
else
EndingProv("extras-standard\\", "mir", "mir.ssc", CheckBox9);
//if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
//EndingProv("data\\spacecrafts\\jupiter-missions\\", "galileo", "galileo.ssc", CheckBox3);
//else
//EndingProv("extras-standard\\", "galileo", "galileo.ssc", CheckBox3);
//if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
//EndingProv("data\\spacecrafts\\saturn-missions\\", "cassini", "cassini.ssc", CheckBox23);
//else
//EndingProv("extras\\", "Cassini-Huygens", "cassini_huygens.ssc", CheckBox23);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\near-earth-missions\\", "Sputnik 1", "sputnik-1.ssc", CheckBox24);
else
EndingProv("extras\\", "Sputnik 1", "sputnik-1.ssc", CheckBox24);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\near-earth-missions\\", "Spoutnik 2", "Spoutnik.ssc", CheckBox25);
else
EndingProv("extras\\", "Spoutnik 2", "Spoutnik.ssc", CheckBox25);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\near-earth-missions\\", "Sputnik 3", "Spoutnik3.ssc", CheckBox26);
else
EndingProv("extras\\", "Sputnik 3", "Spoutnik3.ssc", CheckBox26);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\near-earth-missions\\", "Salyut7", "JACKsalyut7.ssc", CheckBox27);
else
EndingProv("extras\\", "", "JACKsalyut7.ssc", CheckBox27);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\venus-missions\\", "Mariner2", "JACKmariner2-xyz.ssc", CheckBox28);
else
EndingProv("extras\\", "Mariner2", "JACKmariner2-xyz.ssc", CheckBox28);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\mars-missions\\", "Mariner9", "mariner 9.ssc", CheckBox28);
else
EndingProv("extras\\", "Mariner9", "mariner 9.ssc", CheckBox28);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\venus-missions\\", "venus_express", "venus_express.ssc", CheckBox29);
else
EndingProv("extras\\", "venus_express", "venus_express.ssc", CheckBox29);
//EndingProv("extras\\", "Chandra X-Ray Observatory", "chandra.ssc", CheckBox30); нет информации об Ending'е
//EndingProv("extras\\", "Corot", "Corot.ssc", CheckBox31); нет информации об Ending'е
//if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
//EndingProv("data\\spacecrafts\\space-observatories\\", "herschel", "herschel.ssc", CheckBox32);
//else
//EndingProv("extras\\", "herschel", "herschel.ssc", CheckBox32);
//EndingProv("extras\\", "Voyager", "voyager.ssc", CheckBox33); нет информации об Ending'е
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\kuiper-belt-missions\\", "new_horizons_jpg_v2_small", "new_horizons.ssc", CheckBox34);
else
EndingProv("extras\\", "new_horizons_jpg_v2_small", "new_horizons.ssc", CheckBox34);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\near-earth-missions\\", "Spitzer", "JACKspitzer-xyz.ssc", CheckBox35);
else
EndingProv("extras\\", "Spitzer", "JACKspitzer-xyz.ssc", CheckBox35);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\space-observatories\\", "ISO", "JACKiso.ssc", CheckBox36);
else
EndingProv("extras\\", "ISO", "JACKiso.ssc", CheckBox36);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\near-earth-missions\\", "envisat", "envisat.ssc", CheckBox37);
else
EndingProv("extras\\", "envisat", "envisat.ssc", CheckBox37);
//EndingProv("extras\\", "ao7", "AO7.ssc", CheckBox38); нет информации об Ending'е
//if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
//EndingProv("data\\spacecrafts\\moon-missions\\", "apollo10", "apollo10.ssc", CheckBox39);
//else
//EndingProv("extras\\", "apollo10", "apollo10.ssc", CheckBox39);
//
//if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
//EndingProv("data\\spacecrafts\\moon-missions\\", "Apollo_11", "apollo.ssc", CheckBox39);
//else
//EndingProv("extras\\", "Apollo_11", "apollo.ssc", CheckBox39);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\main-belt-missions\\", "Dawn", "dawn.ssc", CheckBox40);
else
EndingProv("extras\\", "Dawn", "dawn.ssc", CheckBox40);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\cometary-missions\\", "DeepImpact", "DeepImpact.ssc", CheckBox41);
else
EndingProv("extras\\", "DeepImpact", "DeepImpact.ssc", CheckBox41);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\cometary-missions\\", "Giotto", "JACKgiottoflyby-xyz-ssc.ssc", CheckBox42);
else
EndingProv("extras\\", "Giotto", "JACKgiottoflyby-xyz-ssc.ssc", CheckBox42);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\sun-missions\\", "Helios", "JACKheliosSolarProbe-xyz.ssc", CheckBox43);
else
EndingProv("extras\\", "Helios", "JACKheliosSolarProbe-xyz.ssc", CheckBox43);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\cometary-missions\\", "ice", "ice-xyz.ssc", CheckBox44);
else
EndingProv("extras\\", "ice", "ice-xyz.ssc", CheckBox44);
//EndingProv("extras\\", "lunarlanders", "lunarlandingsites.ssc", CheckBox45); нет информации об Ending'е
//if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
//EndingProv("data\\spacecrafts\\moon-missions\\", "lro", "lro.ssc", CheckBox46);
//else
//EndingProv("extras\\", "lro", "lro.ssc", CheckBox46);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\venus-missions\\", "Magellan-full", "JACKmagellan_venus.ssc", CheckBox47);
else
EndingProv("extras\\", "Magellan-full", "JACKmagellan_venus.ssc", CheckBox47);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\mars-missions\\", "Mars Express", "mars express.ssc", CheckBox48);
else
EndingProv("extras\\", "Mars Express", "mars express.ssc", CheckBox48);
//EndingProv("extras\\", "EC_MGSf", "MGS.ssc", CheckBox49); нет информации об Ending'е
//EndingProv("extras\\", "Mars Reconaissance Orbiter", "MRO.ssc", CheckBox50); нет информации об Ending'е
//EndingProv("extras\\", "messenger", "messenger.ssc", CheckBox51); нет информации об Ending'е
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\mars-missions\\", "Nozomi", "JACKplanet-bfull-xyz.ssc", CheckBox52);
else
EndingProv("extras\\", "Nozomi", "JACKplanet-bfull-xyz.ssc", CheckBox52);
//EndingProv("extras\\", "phoenix_lander", "phoenix_lander.ssc", CheckBox53); нет информации об Ending'е
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\interplanetary-missions\\", "Pioneers", "JACKearly_pioneers-xyz.ssc", CheckBox54);
else
EndingProv("extras\\", "Pioneers", "JACKearly_pioneers-xyz.ssc", CheckBox54);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\space-observatories\\", "planck", "planck.ssc", CheckBox55);
else
EndingProv("extras\\", "planck", "planck.ssc", CheckBox55);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\space-observatories\\", "planck", "planck_fov.ssc", CheckBox55);
else
EndingProv("extras\\", "planck", "planck_fov.ssc", CheckBox55);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\cometary-missions\\", "rosetta_brianj", "rosetta.ssc", CheckBox56);
else
EndingProv("extras\\", "rosetta_brianj", "rosetta.ssc", CheckBox56);
if(Label19->Caption.Pos("Celestia Extended Pack v3.0"))
EndingProv("data\\spacecrafts\\space-observatories\\", "Ulysses-full", "JACKulysses-xyz.ssc", CheckBox57);
Подобные документы
Описание аппаратных и программных средств, операционной системы. Описание входной и выходной информации. Информационно-логическая модель данных. Схема взаимодействия входной и выходной информации. Расчет трудоемкости и стоимости обработки информации.
курсовая работа [2,4 M], добавлен 05.07.2015Формирование требований к системе. Описание входной и выходной информации. Концептуальное и логическое проектирование структуры и пользовательского интерфейса. Выбор средств реализации подсистемы. Реализация функциональности программного средства.
курсовая работа [1,3 M], добавлен 28.08.2012Анализ входной и выходной информации, особенности ее документационного обеспечения. Описание таблиц и их основное содержание. Методика и этапы разработки интерфейса программы и ее листинг, а также формирование инструкций пользователя и программиста.
курсовая работа [682,7 K], добавлен 30.07.2015Создание баз данных с использованием Database Desktop. Проведение автоматизации рабочего места кассира. Описание входной и выходной информации. Выбор среды реализации, состава и параметров технических средств. Проектирование интерфейса программы.
курсовая работа [1021,5 K], добавлен 22.01.2015Организационно-экономическая сущность задачи автоматизации библиотечной информационной системы. Режимы работы и информационная модель решения задачи, описание входной и выходной информации. Обоснование выбора языка программирования, алгоритм решения.
дипломная работа [448,5 K], добавлен 08.11.2010Анализ используемой системы обработки информации на предприятии, ее структура и анализ эффективности функционирования. Содержание и принципы организации входной и выходной информации. Аппаратные и программные средства обеспечения, описание интерфейса.
дипломная работа [1,1 M], добавлен 24.08.2016Создание Win-приложения для библиотеки, которое позволяло бы осуществлять операции выдачи и сдачи книг в соответствии со сроками. Выбор программных и технических средств реализации проекта. Разработка интерфейса системы, описание реализованных классов.
курсовая работа [3,1 M], добавлен 14.08.2015Создание официального сайта КРОО ПСЗЗ "Красштаб Здоровья". Основные требования к дизайну, интерфейсу и функциональности сайта. Состав технических средств, защита информации. Описание входной и выходной информации. Расчет себестоимости разработки.
дипломная работа [1,4 M], добавлен 11.05.2017Организационная структура предприятия. Функциональные задачи, подлежащие автоматизации. Выбор технических, программных средств и метода проектирования. Описание алгоритма решения задачи. Разработка технологического обеспечения. Инструкция пользователя.
дипломная работа [5,3 M], добавлен 31.03.2009Проектирование процесса автоматизации оформления продаж автомобилей в автосалоне. Описание бизнес-процессов учета автомобилей. Исследование информационных потоков. Анализ входной и выходной информации. Алгоритмы решения задачи и их машинная реализация.
курсовая работа [2,9 M], добавлен 11.03.2014