[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 = "Дамп ОК. Новый пробег записан.";
    }
}
