[Dashboard\Chrysler\SRI\SRI 25080]

Size(280,295); 

Form 
{
    Group("Пробег",5,13,120,50)
    {
        Digit(Distance," ",5,18,60);
        Label(lbkm,"КМ",80,20);
    }
    Group("Идентификация",5,70,270,45)
    {
        Label(Vin," ",0,18);
    }
    Group("Информация",5,115,270,45) 
    {
        Label(Message," ",0,18);
    }    
    Group("Описание",5,160,270,90) 
    {
        Label(lb1,"Калькулятор пробега для SRI Chrysler.",0,20);
        Label(lb2,"EEPROM 25080.",0,35);
        Label(lb3,"Введите нужное значение в окне <Пробег>.",0,50);
        Label(lb4,"Нажмите кнопку <Применить>.",0,65);
    }
    Picture(Logo,"Chrys.bmp",160,15,0,0);
}

OnShow 
{
    Message.Bold = 1;  
    Var0 = 1;
    if (@0x62 = 0xFF) {Var0 = 0;}
    if (Var0 = 0)
    {
        message.Color = 0x0000FF;
        Message = "Неверный дамп!";
        Distance = 0;
    }
    else
    {
    Var21 = 0;
    Var2 = (@0x1bc <<8) | @0x1bd;
    Var3 = (@0x1be <<8) | @0x1bf;
    Var4 = (@0x1c0 <<8) | @0x1c1;
    Var5 = (@0x1c2 <<8) | @0x1c3;
    
    if(Var3 > Var21){Var21 = Var3;}
    if(Var4 > Var21){Var21 = Var4;}
    if(Var5 > Var21){Var21 = Var5;}
    if(Var2 > Var21){Var21 = Var2;}
    Var21 = Var21 * 13168;
    Var21 = Var21 / 1000;
    message.Color = 0xFF0000;
    message.Bold = 1;
    message = "Дамп ОК. Введите новый пробег.";
    Distance = Var21;
    vin.Bold = 1;
    vin = #c.@0x158+#c.@0x159+#c.@0x15a+#c.@0x15b+#c.@0x15c+#c.@0x15d+#c.@0x15e+#c.@0x15f+#c.@0x160+
          #c.@0x161+#c.@0x162+#c.@0x163+#c.@0x164+#c.@0x165+#c.@0x166+#c.@0x167+#c.@0x168;
    }
}
    
OnApply
{
    Var0 = 1;
    if (@0x62 = 0xFF) {Var0 = 0;}
    if (Var0 = 0)
    {
        message.Color = 0x0000FF;
        Message = "Неверный дамп! Запись прекращена!";
        Distance = 0;
    }
    else
    {
    Var1 = Distance;
    Var0 = 0;

    if(Var1 < 100)      { Var0 = Var0 + 1; }
    if(Var1 > 860000)   { Var0 = Var0 + 1; }

    if(Var0 != 0)
    {
       message.Color = 0x0000FF;
       message = "Пробег должен быть от 100 до 860000 км.";
    }
    else
    {
    Var1 = Var1 * 1000;
    Var1 = Var1 / 13168; Var1 = Var1 - 2;
    Var3 = 0x1bc;
    while(Var3 != 0x1c4)
        {
            @Var3 = (Var1 >> 8 & 255);	Var3 = Var3 + 1;
            @Var3 = (Var1 & 255);	Var3 = Var3 + 1;
            Var1 = Var1 + 1;
        }   

        message.Color = 0xFF0000;
        message.Bold = 1;
        message = "Дамп OK. Новый пробег записан.";
    }   
   }
}













