[Dashboard\BMW\CAS2\CAS2 9S12DG128 0K51E]

Size(280,330); // ширина и высота

Form
{
    Group("Пробег",5,10,120,50)
    {
        Digit(Distance," ",5,18,60);
        Label(lb1,"KM",90,20);
     }
    Group("Идентификация",5,65,270,60)
    {
        Label(fg," ",0,25);
    }
    Group("Информация",5,130,270,45)
    {
        Label(message," ",0,18);
    }
    Group("Описание",5,180,270,100)
    {
        Label(lb4,"Калькулятор пробега для BMW CAS.",0,20);
        Label(lb5,"MCU: 9S12DG128",0,35);
        Label(lb2,"Для установки пробега 0 ",0,55);
        Label(lb3,"нажмите кнопку <Применить>.",0,70);
    }
    Picture(Picture1,"BMW.bmp",170,6,0,0);
}

OnShow
{
    Message.Bold = 1;
    if(@0x036F = 0x57) { Var0 = 1;}
    if(@0x0370 = 0x42) { Var0 = Var0 + 1;}
    if(Var0 = 2)
    {
        Var0 = 0;
        
        fg.Bold = 1;
       fg = "VIN: "+#c.@0x36f+#c.@0x370+#c.@0x371+#c.@0x372+#c.@0x373+#c.@0x374+#c.@0x375+#c.@0x376+
        #c.@0x377+#c.@0x378+#c.@0x379+#c.@0x37A+#c.@0x37B+#c.@0x37C+#c.@0x37D+#c.@0x37E+#c.@0x37F;
        Distance =(@0x5a5 << 16) | (@0x5a4 << 8) |@0x5a3;
        
        message.Color = 0xFF0000;
        message = "Дамп ОК. Введите новый пробег.";
    }
    else
    {
        message.Color = 0x0000FF;
        Message = "Неверный дамп!";
        Distance = 0;
    }
}

OnApply
{
    Var5 = 0;
    if(Distance > 999900) {Var5 = 1;}
    if(Distance < 100)   {Var5 = 1;}
    if(Var5 != 0)
    {
        message.Color = 0x0000FF;
        message.Bold = 1;
        message = "Пробег должен быть от 100 до 999900 км";
    }
    else
    {
        if(@0x036F = 0x57) { Var0 = 1;}
        if(@0x0370 = 0x42) { Var0 = Var0 + 1;}
        if(Var0 = 2)
        {
            @0x5a3 = Distance & 0xFF; 
            @0x5a4 = Distance >> 8; 
            @0x5a5 = Distance >> 16; 
	
            message.Color = 0xFF0000;
            message = "Новый прообег записан. Дамп ОК.";
        }
        else
        {
            message.Color = 0x0000FF;
            message.Bold = 1;
            message = "Неверный дамп!";
            Distance = 0;
        } 
    }
}
