[Dashboard\BYD\Flyer X5045]


Size(280,270); 
Form
{
    Group("Пробег",5,13,120,50)
    {
        Digit(Distance," ",5,18,70);
        Label(lbkm,"KM",90,20);
    }
    Group("Информация",5,80,270,45) 
    {
        Label(msg," ",0,18);
    }    
    Group("Описание",5,130,270,90) 
    {
        Label(lb1,"Калькулятор пробега для BYD Flyer.",0,20);
        Label(lb2,"EEPROM  X5045.",0,35);
        Label(lb3,"Введите нужное значение в окне <Пробег>.",0,50);
        Label(lb4,"Нажмите кнопку <Применить>.",0,65);
    }
     Picture(Logo,"Byd.bmp",170,10,0,0);
}

OnShow 
{
      Var0 = (@0x00 << 16) | (@0x01 << 8) | (@0x02 & 255); 
      Var0 = Var0 / 10;
      if (Var0 > 999999)
        {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Неверный дамп!";
        Distance = 0;
        }
       else
        {
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Дамп ОК. Введите пробег."; 
        Distance = var0;
        }
}

OnApply
 {
    Var5 = 0;
    Var2 = Distance;
    if(Var2 > 999900) {Var5 = 1;}
    if(Var5 != 0)
    {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Пробег должен быть до 999900";
    }
    else
    {
     Var2 = Var2 * 10;
     Var3 = (Var2 >> 16) & 255; Var4 = (Var2 >> 8) & 255; Var5 = Var2 & 255;
     Var6 = ((Var3 + Var4) + Var5) & 255; Var7 = (Var3 ^ Var4 ^ Var5 ^ Var6 ^ 0x55) & 255;
     Var8 = 0;
     while(Var8 != 0x0f)
     {
      @Var8 = Var3; Var8 = Var8 + 1;
      @Var8 = Var4; Var8 = Var8 + 1;
      @Var8 = Var5; Var8 = Var8 + 1;
      @Var8 = Var6; Var8 = Var8 + 1;
      @Var8 = Var7; Var8 = Var8 + 1;
     }      
     msg.Color = 0xFF0000;
     msg.Bold = 1;
     msg = "Новый пробег записан.";
   }
        
}
