Rozpowszechnianie własnych map na CD

Poczynając od wersji 1.2 (build 1.050628) przeglądarki Krystyna-GIS, możliwe jest umieszczanie map na dysku CD-ROM wraz z przeglądarką Krystyna-GIS. Użytkownicy mogą korzystać z map zawartych na dysku CD bez konieczności instalowania czegokolwiek na swoim komputerze. Ten artykuł opisuje jak to zrobić.

Przed rozpoczęciem tworzenia prezentacji należy utworzyć katalog na dysku twardym. W tym katalogu będzie umieszczona zawartość dysku CD. Na końcu procesu zawartość tego katalogu zostanie nagrana na płytę. W dalszej części artykułu katalog ten będzie nazywany cdrom.

5 kroków które należy wykonać aby utworzyć dysk CD:

  • Skopiowanie zawartości katalogu z zainstalowaną przeglądarką Krystyna-GIS do katalogu cdrom
  • Skopiowanie danych do katalogu cdrom
  • Utworzenie projektu zawierającego prezentację map
  • Utworzenie pliku autorun.inf
  • Nagranie zawartości katalogu cdrom na dysk CD
  • Krok pierwszy
    Zainstaluj przeglądarkę Krystyna-GIS na twardym dysku. Znajdź katalog instalacyjny (najczęściej jest to C:\C:\Program Files (x86)\Christine-GIS 1.5) i skopiuj jego zawartość do katalogu cdrom.

    Krok drugi
    W katalogu cdrom utwórz podkatalog gdzie będą przechowywane dane. W dalszej części artykułu podkatalog będzie nosił nazwę data. Skopiuj wszystkie potrzebne dane do katalogu data. Dla dużych zbiorów danych zalecane jest utworzenie indeksu przestrzennego (plik *.six). Po edycji legendy lub dokonaniu klasyfikacji danych parametry te można zapisać do pliku legendy (*.leg). Zapisz indeksy przestrzenne i pliki legendy wraz z danymi.

    Krok trzeci
    Uruchom przeglądarkę Krystyna-GIS, stwórz prezentację map i zapisz ją jako projekt (plik *.cri) używając względnych odniesień do danych. Możesz wzbogacić swój projekt używając poniższych dwóch skryptów.

  • Użyj poniższego skryptu aby pokazać baner startowy i zmienić ikonę oraz tytuł aplikacji. Oczywiście należy w tym celu przygotować plik z ikoną (icon.ico) zawierający wersję małą (16×16 pikseli) oraz dużą (32×32 pikseli) i plik z banerem startowym (banner.bmp). Następnie należy w dokumencie typu script umieścić następujący kod źródłowy nazywając go “About Presentation”, sprawdzić poprawność syntaktyczną oraz ustawić skrypt jako skrypt startowy (w dialogu Właściwości Projektu).

  • 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);
    
  • Jeśli chcesz zawrzeć w prezentacji opis lub instrukcje dla użytkowników, utwórz plik RTF z odpowiednimi informacjami (instructions.rtf) i umieść następujący kod źródłowy w kolejnym skrypcie nazwanym “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);
    
  • Zalecane jest zamknięcie i zablokowanie powyższych skryptów tak aby uniknąć ich modyfikacji przez użytkowników. Skrypty można uruchamiać przez podwójne kliknięcie w skrypt w oknie projektu. Dlatego umieść następujący kod w skrypcie, uruchom go, a następnie usuń skrypt z projektu.

  • Script s;
    s.AttachDoc("About Presentation");
    s.CloseWithLock();
    s.AttachDoc("Instructions");
    s.CloseWithLock();
    
  • Podpowiedź: Możesz pokazywać twoje własne Porady Dnia. Zamień zawartość pliku christine.tip w katalogu instalacyjnym aplikacji na plik z twoimi poradami. Każda linia w tym pliku to jedna porada. Maksymalna długość porady to 320 znaków.

    Krok czwarty
    Utwórz plik autorun.inf w katalogu cdrom. Dzięki temu system Windows po wykryciu obecności płyty CD w napędzie CD-ROM uruchomi odpowiednią aplikację na podstawie zawartości pliku autorun.inf. Zalecana zawartość pliku autorun.inf przedstawiona jest poniżej.

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

    Krok piąty
    Wreszcie czas na nagranie zawartości katalogu cdrom na płytę CD i weryfikację poprawności wykonania wszystkich kroków. Po włożeniu nagranej płyty do napędu powinna się automatycznie uruchomić przeglądarka Krystyna-GIS, a następnie załadować projekt z prezentacją. Skrypt startowy powinien zaprezentować baner startowy i zmienić ikonę oraz tytuł aplikacji.
    Uwaga: System Windows posiada opcję pozwalającą na wyłączenie trybu automatycznego uruchamiania wkładanych płyt CD. W takim wypadku należy aplikację uruchomić ręcznie.


    Appendix A – Zawartość dysku CD-ROM

    Na poniższym obrazku przedstawiono zawartość katalogu głównego płyty CD. Wszystkie skrypty w artykule są zgodne z prezentowaną strukturą katalogów.