[Dashboard\Dodge\Stratus BCM 912B32]

Size(280,260); 

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

OnShow 
{
    Message.Bold = 1;  
    Var0 = 1;
    
    if (Var0 = 0)
    {
        message.Color = 0x0000FF;
        Message = "Неверный дамп!";
        Distance = 0;
    }
    else
    {
    Var2 = (@0x20 <<8) | @0x21;
    Var3 = (@0x22 <<8) | @0x23;
    Var4 = (@0x24 <<8) | @0x25;
    Var5 = (@0x26 <<8) | @0x27;
    Var6 = (@0x28 <<8) | @0x29;
    Var7 = (@0x2a <<8) | @0x2b;
    Var8 = (@0x2c <<8) | @0x2d;
    Var9 = (@0x2e <<8) | @0x2f;
    Var10 = (@0x30 <<8) | @0x31;
    Var11 = (@0x32 <<8) | @0x33;
    Var12 = (@0x34 <<8) | @0x35;
    Var13 = (@0x36 <<8) | @0x37;
    Var14 = (@0x38 <<8) | @0x39;
    Var15 = (@0x3a <<8) | @0x3b;
    Var16 = (@0x3c <<8) | @0x3d;
    Var17 = (@0x3e <<8) | @0x3f;
    if(Var3 > Var2) {Var21 = Var3;}
    if(Var3 = Var2) {Var21 = Var3;}
    if(Var4 > Var21){Var21 = Var4;}
    if(Var4 = Var21){Var21 = Var4;} 
    if(Var5 > Var21){Var21 = Var5;}
    if(Var5 = Var21){Var21 = Var5;} 
    if(Var6 > Var21){Var21 = Var6;}
    if(Var6 = Var21){Var21 = Var6;} 
    if(Var7 > Var21){Var21 = Var7;}
    if(Var7 = Var21){Var21 = Var7;}
    if(Var8 > Var21){Var21 = Var8;}
    if(Var8 = Var21){Var21 = Var8;}
    if(Var9 > Var21){Var21 = Var9;}
    if(Var9 = Var21){Var21 = Var9;} 
    if(Var10 > Var21){Var21 = Var10;}
    if(Var10 = Var21){Var21 = Var10;} 
    if(Var11 > Var21){Var21 = Var11;}
    if(Var11 = Var21){Var21 = Var11;} 
    if(Var12 > Var21){Var21 = Var12;}
    if(Var12 = Var21){Var21 = Var12;} 
    if(Var13 > Var21){Var21 = Var13;}
    if(Var13 = Var21){Var21 = Var13;}
    if(Var14 > Var21){Var21 = Var14;}
    if(Var14 = Var21){Var21 = Var14;} 
    if(Var15 > Var21){Var21 = Var15;}
    if(Var15 = Var21){Var21 = Var15;} 
    if(Var16 > Var21){Var21 = Var16;}
    if(Var16 = Var21){Var21 = Var16;} 
    if(Var17 > Var21){Var21 = Var17;}
    if(Var17 = Var21){Var21 = Var17;}
    if(Var2 > Var21) {Var21 = Var2;}
    if(Var2 = Var21) {Var21 = Var2;} 
    Var21 = Var21 * 13182;
    Var21 = Var21 / 1000;
 //   Var21 = (Var21 / 161) * 100;
    message.Color = 0xFF0000;
    message.Bold = 1;
    message = "Дамп ОК. Введите новый пробег.";
    Distance = Var21;
    
    }
}
    
OnApply
{
    Var0 = 1;
   
    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 * 161) / 100;
    Var1 = Var1 * 1000;
    Var1 = Var1 / 13182;
    
    Var3 = 0x3f;
    while(Var3 != 0x1f)
        {
            @Var3 = (Var1 & 255);	Var3 = Var3 - 1;
            @Var3 = (Var1 >> 8 & 255);	Var3 = Var3 - 1;
            Var1 = Var1 - 1;
        }   

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













