[Dashboard\Ski-Doo\Bombardier 24C01]

Size(280,260); 

Form
{
	Group("Пробег",15,10,115,50)
	{
		Digit(Distance," ",5,18,60);
		Label(lb1,"KM",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.",0,20);
		Label(lb5,"EEPROM 24C01",0,35);
		Label(lb2,"Введите нужное значение в окне ПРОБЕГ",0,50);
		Label(lb3,"и нажмите кнопку <Применить>.",0,65);
	}
}

OnShow
{
	Var2 =  (@0x02 << 16) | (@0x01 << 8)| @0x00;

	Var0 = 0;
	Var0 =        ((Var2 >> 20) & 15) * 100000;
	Var0 = Var0 + ((Var2 >> 16) & 15) * 10000;
	Var0 = Var0 + ((Var2 >> 12) & 15) * 1000;
	Var0 = Var0 + ((Var2 >> 8) & 15) * 100;
	Var0 = Var0 + ((Var2 >> 4) & 15) * 10;
	Var0 = Var0 + (Var2 & 15);

	message.Color = 0xFF0000;
	message.Bold = 1;
	message = "Дамп ОК. Введите новый пробег.";
	Distance = Var0 / 10 ;
}

OnApply
{
	Var1 = Distance;

	Var0 = 0;
	if(Var1 > 99999)   { Var0 = Var0 + 1; }
	if(Var0 != 0)
	{
		message.Color = 0x0000FF;
		Message = "Пробег должен быт до 99999 км.";
	}
	else
	{
		Var1 = Var1 * 10;
		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;  
		Var2 = Var2 | ((Var1 % 10) << 16); Var1 = Var1 / 10;  
		Var2 = Var2 | ((Var1 % 10) << 20);
		@0x00 = Var2 & 0xFF;
		@0x01 = (Var2 >> 8) & 0xFF;
		@0x02 = (Var2 >> 16)& 0xFF;
	
		message.Color = 0xFF0000;
		message = "Дамп ОК. Новый пробег записан.";
	}
}
