[Dashboard\VAZ\2110_2115 Schetmash new 24C02]

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

Form 
{
    Group("Пробег",5,13,130,50)
    {
        Digit(Distance," ",5,18,55);
        Label(lbkm,"КМ",80,20);
    }
    Group("Информация",5,80,270,45) 
    {
        Label(msg," ",0,18);
    }    
    Group("Описание",5,130,270,90) 
    {
        Label(lb1,"Калькулятор пробега для VAZ 2110-2115.",0,20);
        Label(lb2,"Счетмаш. С 2007г. EEPROM 24C02.",0,35);
        Label(lb3,"Введите нужное значение в окне <Пробег>.",0,50);
        Label(lb4,"Нажмите кнопку <Применить>.",0,65);
    }
    Picture(Logo,"Vaz.bmp",190,17,0,0);
}


OnShow 
{
  Var0 = 0; Var2 = 0;
  Var2 = (@0x02 << 16) | (@0x01 << 8) | @0x00;
  Var0 = Var0 + (((Var2 >> 20) & 15) * 100000;
  Var0 = Var0 + (((Var2 >> 16) & 15) * 10000;
  Var0 = Var0 + (((Var2 >> 12) & 15) * 1000;
  Var0 = Var0 + (((Var2 >> 8) & 15) * 100;
  Var0 = Var0 + (((Var2 >> 4) & 15) * 10;
  Var0 = Var0 + (Var2 & 15);
  
  if(@0x00 = 0xFF)
   {
    msg.Color = 0x0000FF;
    msg.Bold = 1;
    msg = "Неверный дамп!";
    Distance = 0;
   }
  else
   {
    msg.Color = 0xFF0000;
    msg.Bold = 1;
    msg = "Дамп ОК. Введите новый пробег.";
    Distance = Var0;
   }
}

OnApply 
{
    Var3 = 0;
    Var0 = Distance;
    if(Var0 > 999900) {Var3 = 1;}
    if(Var3 != 0)
    {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Пробег должен быть до 999900 км";
    }
    else
    {
        Var0 = Distance;
	Var2 = Var0 % 10; Var0 = Var0 / 10;
	Var2 = Var2 | ((Var0 % 10) << 4); Var0 = Var0 / 10;  
	Var2 = Var2 | ((Var0 % 10) << 8); Var0 = Var0 / 10;  
	Var2 = Var2 | ((Var0 % 10) << 12); Var0 = Var0 / 10;  
	Var2 = Var2 | ((Var0 % 10) << 16); Var0 = Var0 / 10;  
	Var2 = Var2 | ((Var0 % 10) << 20);  
	Var5 = Var2 & 255;
        Var6 = Var2 >> 8;
        Var7 = Var2 >> 16;
        @0x00 = Var5; @0x01 = Var6; @0x02 = Var7;  
        @0x03 = Var7 ^ 0xFF;
        @0x04 = var5 ^ Var6 ^ 0xFF;
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Дамп OK. Новый пробег записан.";
        
    }
}
