Выпуск Ваших карт на компакт-диске

Используя Christine-GIS Viewer 1.2 (build 1.050628), или более позднюю, вы имеете возможность выпускать Ваши карты и данные на компакт-диске. Пользователи смогут работать с Вашими картами без предварительной установки программ на компьютер. Эта статья описывает как создать такую презентацию с картами.

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

Содержание 5 шагов создания презентационного диска

  • Шаг первый: Скопируйте содержимое установленной папки Christine-GIS Viewer в папку cdrom;
  • Шаг второй: Скопируйте Ваши данные в папку cdrom;
  • Шаг третий: Создайте проект с презентацией карты;
  • Шаг четвёртый: Создайте файл autorun.inf;
  • Шаг пятый: Наконец, запишите содержимое папки cdrom на CD и протестируйте его.

    Шаг первый
    Установите Christine-GIS Viewer на жёсткий диск. Отыщите установочную папку (обычно C:\Program Files (x86)\Christine-GIS 1.5) и скопируйте ее содержимое в папку cdrom.

    Шаг второй
    В папке cdrom создайте подпапку в которой будут хранится Ваши данные. В нашем примере, мы назвали ее data. Скопируйте необходимые для создания карты данные в папку data. Для больших наборов данных рекомендуется создать индексы (*.six). После того, как Вы настроили легенду и отклассифицировали Ваши данные, вы можете сохранить эти данные в файл легенды (*.leg). Сохраните файлы индексов и легенд вместе с данными.

    Шаг третий
    Запустите Christine-GIS Viewer, создайте Вашу презентационную карту и сохраните файл проекта (project.cri) используя относительные пути к данным. Вы можете улучшить Ваш проект используя следующие 2 скрипта:

  • Используйте этот скрипт для показа баннера и изменения значка и названия Christine. Разумеется, для этого у Вас должен быть собственный файл (icon.ico) с маленьким (16×16 точек) и большим (32×32 точек) значками, и конечно же сам баннер (banner.bmp). Вставьте этот код в скрипт под названием “About Presentation”, проверьте ошибки и установите его как скрипт автозапуска (в диалоге Project Properties).

  • App application;
    application.SetName("My Presentation");
    
    MsgBox dlg;
    Number nValue;
    Bool bValue;
    
    ' full file name of icon file
    Project proj;
    String sProjDir;
    proj.GetProjDir(sProjDir);
    String sIconFN;
    sIconFN = sProjDir + "\\icon.ico";
    
    ' open dynamic linked library
    DLL myDll;
    myDll.Load("user32.dll", bValue);
    if (!(bValue)); exit; endif;
    
    ' find procedure for loading icon from file
    NumberList parameters;
    parameters.Add(2);
    parameters.Add(1);
    parameters.Add(2);
    parameters.Add(2);
    parameters.Add(2);
    parameters.Add(2);
    parameters.Add(-1);
    myDll.FindProc("LoadImageA", parameters, bValue);
    if (!(bValue)); exit; endif;
    
    ' call procedure for loading icons from file
    Number hBigIcon hSmallIcon;
    myDll.CallProcNumInt(hBigIcon, 0, sIconFN, 1, 32, 32, 16);
    if (hBigIcon == 0); exit; endif;
    myDll.CallProcNumInt(hSmallIcon, 0, sIconFN, 1, 16, 16, 16);
    if (hSmallIcon == 0); exit; endif;
    
    ' find procedure for sending message to a window
    parameters.Empty();
    parameters.Add(2);
    parameters.Add(2);
    parameters.Add(2);
    parameters.Add(2);
    parameters.Add(-1);
    myDll.FindProc("SendMessageA", parameters, bValue);
    if (!(bValue)); exit; endif;
    
    ' send message for setting application’s icon
    Number hWnd;
    application.GetMainWindowHWND(hWnd);
    myDll.CallProcNumInt(nValue, hWnd, 128, 0, hSmallIcon);
    myDll.CallProcNumInt(nValue, hWnd, 128, 1, hBigIcon);
    
    ' close library
    myDll.Unload();
    
    ' show startup banner for three seconds
    String sBannerFN;
    sBannerFN = sProjDir + "\\banner.bmp";
    dlg.ShowBmp(sBannerFN, 3, FALSE, 2);
    application.Sleep(3);
    
  • Если Вы желаете включить описание инструкций для пользователей Вашего проекта, создайте файл RTF с информацией (instructions.rtf) и вставьте следующий код в документ под названием “Instructions”.

  • ' full file name of file with instructions
    Project proj;
    String sFN;
    proj.GetProjDir(sFN);
    sFN = sFN + "\\instructions.rtf";
    ' read contents of the file
    File myFile;
    myFile.Open(sFN, OPEN_EXISTING);
    String sInstructions;
    myFile.Read(sInstructions);
    myFile.Close();
    ' show instructions
    MsgBox dialog;
    dialog.Report(sInstructions, 640, 480);
    
  • Мы рекомендуем Вам закрыть и заблокировать скрипты для избежания пользовательской правки кода. Пользователи могут запустить скрипт двойным щелчком по нему в окне проекта. Вставьте следующий код в документ скрипта, проверьте его и запустите. После этого удалите документ скрипта из проекта.

  • Script s;
    s.AttachDoc("About Presentation");
    s.CloseWithLock();
    s.AttachDoc("Instructions");
    s.CloseWithLock();
    
  • Совет: Вы можете отображать свои собственные «советы дня». Замените содержимое christine.tip в установочной папке Christine-GIS на собственные советы. Каждая строка – это один совет. Максимальная длина совета – 320 символов
  • Шаг четвёртый
    Создайте файл autorun.inf в папке cdrom. Windows определяет автоматически когда вставлен диск, и, посредством автозапуска, выполняет программы по списку в файле autorun.inf, который размещён на CD. Рекомендуемое содержимое файла autorun.inf приведено ниже.

    [autorun]
    open="Christine-GIS\Christine.exe project.cri"
    icon=icon.ico
    

    Шаг пятый
    Когда всё готово, запишите содержимое папки cdrom на диск и протестируйте его. Когда Вы вставляете диск, Christine-GIS будет автоматически запускать Ваш проект. Скрипт автозапуска отобразит баннер приветствия и изменит значок Christine.
    Примечание: Windows имеет возможность отключения автозапуска. В таком случае пользователи могут запускать презентацию двойным щелчком по файлу проекта.


    Приложения A – Содержимое презентационного диска

    Это изображение дерева каталогов отображает содержимое диска с картами. Все скрипты в этой статье настроены на работу с этим деревом каталогов.