[Dashboard\Ski-Doo\Bombardier GTX550F 24C01]

Size(280,260); 

Form
{
	Group("Пробег",15,10,115,50)
	{
		Digit(Distance," ",5,18,60);
		Label(lb1,"ML",80,20);
	}
	Picture(Picture1,"Bombardier.bmp",185,15,0,0);
	
	Group("Информация",5,65,270,45)
	{
		Label(message," ",0,18);
	}
	Group("Описание",5,115,270,90) 
	{
		Label(lb4,"Калькулятор пробега для Ski-Doo Bombardier GTX550F.",0,20);
		Label(lb5,"EEPROM 24C01",0,35);
		Label(lb2,"Введите нужное значение в окне ПРОБЕГ",0,50);
		Label(lb3,"и нажмите кнопку <Применить>.",0,65);
	}
}

OnShow
{
	Var2 =  (@0x0A << 8) | @0x09;
	Var0 = 0;
	Var0 = Var0 + ((Var2 >> 12) & 15) * 1000;
	Var0 = Var0 + ((Var2 >> 8) & 15) * 100;
	Var0 = Var0 + ((Var2 >> 4) & 15) * 10;
	Var0 = Var0 + (Var2 & 15);

	if(Var0 > 9999)
	{
		message.Color = 0x0000FF;
		Message = "Ошибка в дампе!!";
	}
	else
	{
		message.Color = 0xFF0000;
		message.Bold = 1;
		message = "Дамп ОК. Введите новый пробег.";
		Distance = Var0 ;
	}
}

OnApply
{
	Var1 = Distance;

	Var0 = 0;
	if(Var1 > 9999)   { Var0 = Var0 + 1; }
	if(Var0 != 0)
	{
		message.Color = 0x0000FF;
		Message = "Пробег должен быть от 0 до 9999км.";
	}
	else
	{
		Var2 = Var1 % 10; Var1 = Var1 / 10;
		Var2 = Var2 | ((Var1 % 10) << 4); Var1 = Var1 / 10;  
		Var2 = Var2 | ((Var1 % 10) << 8); Var1 = Var1 / 10;  
		Var2 = Var2 | ((Var1 % 10) << 12); Var1 = Var1 / 10;  
		@0x09 = Var2 & 0xFF;
		@0x0A = (Var2 >> 8) & 0xFF;
	
		message.Color = 0xFF0000;
		message = "Дамп ОК. Новый пробег записан.";
	}
}
