[Dashboard\Mercedes\Sprinter\Sprinter W609 95640 V3]

Size(280,310); 

Form 
{
    Group("Пробег",5,13,165,50)
    {
        Digit(Distance," ",5,18,60);
        Label(lbkm,"КМ",80,20);
    }
    Group("Идентификация",5,80,270,45)
    {
        Label(VIN," ",0,18);   
    }
    Group("Информация",5,125,270,45) 
    {
        Label(Message," ",0,18);
    }    
    Group("Описание",5,175,270,90) 
    {
        Label(lb1,"Калькулятор пробега для Sprinter W609.",0,20);
        Label(lb2," VDO. EEPROM 95640.",0,35);
        Label(lb3,"Введите нужное значение в окне <Пробег>.",0,50);
        Label(lb4,"Нажмите кнопку <Применить>.",0,65);
    }
    Picture(Logo,"Mercedes.bmp",185,8,0,0);
}

OnShow 
{
    Message.Bold = 1;  
    Var0 = 1;
    if (Var0 = 0)
    {
        message.Color = 0x0000FF;
        Message = "Неверный дамп!";
        Distance = 0;
    }
    else
    {
    Var2 = ((@0x2c9 <<24) | (@0x2c6 <<16) | (@0x2c3 <<8) | @0X2c0)^ 0xFFFFFFFF;
    
    
    message.Color = 0xFF0000;
    message.Bold = 1;
    message = "Дамп ОК. Введите новый пробег.";
    Distance = Var2 / 1000;
    vin.Bold = 1;
    VIN = "VIN: "+#c.@0x378+#c.@0x379+#c.@0x37a+#c.@0x37b+#c.@0x37c+#c.@0x37d+#c.@0x37e
                 +#c.@0x380+#c.@0x381+#c.@0x382+#c.@0x383+#c.@0x384+#c.@0x385+#c.@0x386; 
    }
}
    
OnApply
{
   Var0 = 1;
   if (Var0 = 0)
    {
        message.Color = 0x0000FF;
        Message = "Неверный дамп! Запись прекращена!";
        Distance = 0;
    }
    else
    {
    
    Var1 = Distance;
    Var0 = 0;
    if(Var1 > 999900)   { Var0 = Var0 + 1; }
    if(Var0 != 0)
    {
       message.Color = 0x0000FF;
       message = "Пробег должен быть до 999900 км.";
    }
    else
    {
    Var1 = Var1 * 1000;
    Var2 = (Var1 >> 24) ^ 0xFF; Var3 = (Var1 >> 16) ^ 0xFF; Var4 = (Var1 >> 8) ^ 0xFF; Var5 = (Var1 & 0xFF) ^ 0xFF;
            Var6 = 0x2c0;
            @Var6 = Var5; Var6 = Var6 + 1;
            @Var6 = Var5 ^ 0x0F; Var6 = Var6 + 1;
            @Var6 = Var5 ^ 0xf0; Var6 = Var6 + 1;
            @Var6 = Var4; Var6 = Var6 + 1;
            @Var6 = Var4 ^ 0x0F; Var6 = Var6 + 1;
            @Var6 = Var4 ^ 0xf0; Var6 = Var6 + 1;
            @Var6 = Var3; Var6 = Var6 + 1;
            @Var6 = Var3 ^ 0x0F; Var6 = Var6 + 1;
            @Var6 = Var3 ^ 0xf0; Var6 = Var6 + 1;
            @Var6 = Var2; Var6 = Var6 + 1;
            @Var6 = Var2 ^ 0x0F; Var6 = Var6 + 1;
            @Var6 = Var2 ^ 0xf0; 
       
        message.Color = 0xFF0000;
        message.Bold = 1;
        message = "Дамп OK. Новый пробег записан.";
    }   
   }
}













