Detailed Description
			
			This is an example of how to convert an ASCII database into the WinProp binary format. The full example is distributed with the installation. 
		
		
			
#include <stdio.h>
#include <string>
#include <iostream>
#include "convert_database.h"
#ifndef API_DATA_FOLDER
#define API_DATA_FOLDER "../../api/winprop/data/"
#endif // !API_DATA_FOLDER
int main(int argc, char** argv)
{
	
    WinProp_Callback Callback;
    WinProp_Structure_Init_Callback(&Callback);
	Callback.Percentage = CallbackProgress;
	Callback.Message = CallbackMessage;
	Callback.Error = CallbackError;
	
	WinProp_Converter WinPropConverter;
	WinProp_Structure_Init_Converter(&WinPropConverter);
	WinPropConverter.databaseNameSource = API_DATA_FOLDER "outdoor/City.oda"; 
	WinPropConverter.databaseNameDest = API_DATA_FOLDER "outdoor/City_odb";
	WinPropConverter.measurementUnit = "Meter";
	WinPropConverter.ConverterID = 201; 
	WinPropConverter.SaveAsciiFormat = 0; 
	
	
	if (WinProp_Convert(&WinPropConverter, &Callback) != 0)
		std::cout << "Error during conversion" << std::endl;
	return 0;
}
int _STD_CALL CallbackMessage(const char * Text)
{
	if (Text == nullptr)
		return 0;
	std::cout << "\n" << Text;
	return(0);
}
int _STD_CALL CallbackError(const char * Text, int Error)
{
	if (Text == nullptr)
		return 0;
	std::cout << "\n";
#ifdef __LINUX
	std::cout << "\033[31m" << "Error (" << Error << "): "; 
#else
	HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(hConsole, FOREGROUND_RED);
	std::cout << "Error (" << Error << "): ";
#endif // __LINUX
	std::cout << Text;
#ifdef __LINUX
	std::cout << "\033[0m"; 
#else
	SetConsoleTextAttribute(hConsole, FOREGROUND_RED | FOREGROUND_BLUE | FOREGROUND_GREEN);
#endif // __LINUX
	return 0;
}
int _STD_CALL CallbackProgress(int value, const char* text)
{
	char Line[200];
	sprintf(Line, "\n%d%% %s", value, text);
	std::cout << Line;
	return(0);
}