[Dashboard\Peugeot\306\Dash 306 93C56 Var2]

Size(280,260); 

Form
{
    Group("Пробег",5,5,140,50)
    {
        Digit(Distance," ",5,18,90);
        Label(lb1,"KM",110,20);        
    }
    Group("Информация",5,70,270,40)
    {
        Label(msg," ",0,18);
    }
    Group("Описание",5,120,270,90) 
    {
        Label(lb4,"Калькулятор пробега для Dash 306.",0,20);
        Label(lb5,"VDO. EEPROM 93C56",0,35);
        Label(lb2,"Введите нужное значение в окне <Пробег>.",0,55);
        Label(lb3,"и нажмите кнопку <Применить>.",0,70);
    }
    Picture(Logo,"peugeot.bmp",190,5,0,0);
}
OnShow
{
    Var0 = 0;
    Var1 = ((@0x01 << 8) + @0x00)^0xFFFF;
    Var2 = ((@0x03 << 8) + @0x02)^0xFFFF;
    Var3 = ((@0x05 << 8) + @0x04)^0xFFFF;
    Var9 = Var1 + Var2 + Var3; Var9 = Var9 * 3;
    
    if(Var9 > 999000) {Var0 = 1;}
    if(Var0 = 0)
       {
        Distance = Var9;
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Дамп ОК. Введите пробег.";
        
       }
       else
       {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Неверный дамп!";
        Distance = 0;
       }
}

OnApply 
{
    Var5 = 0;
    Var2 = Distance;
    if(Var2 > 999900) {Var5 = 1;}
    if(Var2 < 100)   {Var5 = 1;}
    if(Var5 != 0)
    {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Пробег должен быть от 100 до 999900 км";
    }
    else
    {
        Var7 = Var2 / 9;
        Var3 = 0x00;
        while(Var3 != 0x06)
        {
            
            @Var3 = (Var7 & 255)^0xFF;
            @Var3.mismatch = 1;
            Var3 = Var3 + 1;
            @Var3 = (Var7 >> 8 & 255)^0xFF;
            @Var3.mismatch = 1;
            Var3 = Var3 + 1;
        }
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Новый пробег записан.";
    }
}
