[Dashboard\Cadillac\Deville\Deville 93C46]


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

OnShow 
{
      Var0 = (@0x29 << 24) | (@0x28 << 16) |(@0x27 << 8) | @0x26;
      Var1 = (@0x2d << 24) | (@0x2c << 16) |(@0x2b << 8) | @0x2a;
      if(Var0 = Var1)
       {
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Дамп ОК. Введите пробег.";
        Distance = Var0 ^0xffffffff;
        }
       else
        {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Неверный дамп!";
        Distance = 0;
        } 
}

OnApply
 {
    Var5 = 0;
    Var2 = Distance;
    if(Var2 > 999900) {Var5 = 1;}
    if(Var2 < 100)   {Var5 = 1;}
    if(Var5 != 0)
    {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Пробег должен быть от 100 до 999900 ml";
    }
    else
    {
      Var2 = Var2 ^ 0xFFFFFFFF;
        Var3 = 0x26;
        while (Var3 != 0x32)
        {
        @Var3 = Var2 & 255; Var3 = Var3 + 1;
        @Var3 = Var2 >> 8 & 255; Var3 = Var3 + 1;
        @Var3 = Var2 >> 16 & 255;Var3 = Var3 + 1;
        @Var3 = Var2 >> 24 & 255;Var3 = Var3 + 1;    
        }      
      msg.Color = 0xFF0000;
      msg.Bold = 1;
      msg = "Новый пробег записан.";
   }
        
}
