[Dashboard\Land Rover\Discovery 93C56]

Size(280,270);  

Form
{
    Group("Пробег",35,13,120,50)
    {
        Digit(Distance," ",5,18,70);
        Label(lbkm,"КМ",90,20);
    }
    Group("Информация",5,80,270,45) 
    {
        Label(msg," ",0,18);
    }    
    Group("Описание",5,130,270,90) 
    {
        Label(lb1,"Калькулятор пробега Discovery",0,20);
        Label(lb2,"EEPROM 93C56.",0,35);
        Label(lb3,"Введите нужное значение в окне ПРОБЕГ.",0,50);
        Label(lb4,"Нажмите кнопку <Применить>.",0,65);
    }
    Picture(Logo,"Lrover.bmp",175,15,0,0);
}

OnShow 
{   
     if (@0xc1 != 0xFF)
        {
        Var2 = 0xc0; Var3 = 0xc1; Var4 = 0xc2; Var5 = 0xc3; Var0 = 0;
        while (Var2 != 0x100)
        {
          Var0 = Var0 + (@Var2|(@Var3 << 8)); Var2 = Var2 + 4; Var3 = Var3 + 4;
          Var0 = Var0 + ((@Var4 ^ 0xff)|((@Var5 ^ 0xff) << 8)); Var4 = Var4 + 4; Var5 = Var5 + 4;
        }
        
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Дамп ОК. Введите пробег.";
        Distance = Var0;
        }
       else
        {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Неверный дамп!";
        Distance = 0;
        } 
}



OnApply {
  if (@0xcf = 0xFF)
   {msg.Color = 0x0000FF;
    msg.Bold = 1;
    msg = "Неверный дамп! Запись отменена!";
   }
   else
   {   
    Var5 = 0;
    Var3 = Distance;
    if(Var3 > 999900) {Var5 = 1;}
    if(Var5 != 0)
    {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Пробег должен быть до 999900 миль";
    }
    else
    {
        Var3 = Var3 / 32;
        Var2 = 0xc0;
        while (Var2 != 0x100)
        {
          @Var2 = Var3 & 0xff; Var2 = Var2 + 1;
          @Var2 = (Var3 >> 8) & 0xff; Var2 = Var2 + 1;
          @Var2 = Var3 ^ 0xff; Var2 = Var2 + 1;
          @Var2 = (Var3 >> 8) ^ 0xff; Var2 = Var2 + 1;
        }
            
            msg.Color = 0xFF0000;
            msg.Bold = 1;
            msg = "Новый пробег записан.";
        
       
    }
   }
}
