[Dashboard\VAZ\Kalina Schetmash 25040]

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 KALINA.",0,20);
        Label(lb2,"Производитель Счетмаш. EEPROM 25040.",0,35);
        Label(lb3,"Введите нужное значение в окне <Пробег>.",0,50);
        Label(lb4,"Нажмите кнопку <Применить>.",0,65);
    }
    Picture(Logo,"Vaz.bmp",190,17,0,0);
}


OnShow 
{
  Var0 = 0; Var1 = 0; Var2 = 0;
  Var2 = (((@0x36 << 24) | (@0x35 << 16)) | (@0x34 << 8)) | @0x33;
  
  Var1 = (((((@0x36 ^ @0x35) ^ @0x34) ^ @0x33) ^ @0x32) ^ @0x31) & 255;
  if(Var1 != @0x37)
   {
    msg.Color = 0x0000FF;
    msg.Bold = 1;
    msg = "Неверный дамп!";
    Distance = 0;
   }
  else
   {
    msg.Color = 0xFF0000;
    msg.Bold = 1;
    msg = "Дамп ОК. Введите новый пробег.";
    Distance = Var2;
   }
}

OnApply 
{
    Var3 = 0;
    Var0 = Distance;
    if(Var0 > 999900) {Var3 = 1;}
    if(Var0 < 100)   {Var3 = 1;}
    if(Var3 != 0)
    {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Пробег должен быть от 100 до 999900 км";
    }
    else
    {
        Var0 = Distance;
	 
	Var5 = Var0 & 255;
        Var6 = Var0 >> 8;
        Var7 = Var0 >> 16;
        Var8 = Var0 >> 24;
        @0x33 = Var5; @0x3A = var5; @0x34 = Var6; @0x3B = Var6; @0x35 = Var7; @0x3C = Var7; @0x36 = Var8; @0x3D = Var8;
        Var9 = ((((@0x36 ^ @0x35) ^ @0x34) ^ @0x33) ^ @0x32) ^ @0x31;
        @0x37 = var9; @0x3E = Var9; 
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Дамп OK. Новый пробег записан.";
        
    }
}
