[Dashboard\Subaru\Tribeka - 93C66]


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

Form 
{
    Group("Пробег",5,5,150,80)
    {
        Digit(Distance," ",5,18,90);
        Label(lb1,"MILES",110,20);
     //   Digit(Miles," ",5,48,90);
     //   Label(lb6,"KM",110,50);
    }
        
     Group("Информация",5,88,270,45)
    {
        Label(message," ",0,18);
    }
    Group("Описание",5,135,270,100) 
    {
        Label(lb4,"Калькулятор для Subaru Tribeka.",0,20);
        Label(lb5,"EEPROM 93C66",0,35);
        Label(lb2,"Введите нужное значение в окне ПРОБЕГ",0,55);
        Label(lb3,"и нажмите кнопку <Применить>.",0,70);
    }

    Picture(Picture1,"Subaru.bmp",180,5,0,0);
}



OnShow 
{
    Message.Bold = 1;
    
   Var0 = 0;
   
     if(Var0 != 0)
    {
        message.Color = 0x0000FF; 	
        Message = "Неверный дамп!";     
        Distance = 0;
        Miles = 0;                   
    }
    else
    {

    Var10 = ((@0xE2 | (@0xE3 << 8)) ^ 0xFFFF) << 4;

        message.Color = 0xFF0000;                    
        message = "Дамп ОК. Введите новый пробег.";  
        Distance =  Var10;
  
    }                          
}


OnApply
{
    Var0 = 0;
    Var10 = Distance;

    if(Var10 < 0)      { Var0 = Var0 + 1; }
    if(Var10 > 999900)   { Var0 = Var0 + 1; }
    
    if(Var0 != 0)
    {
        message.Color = 0x0000FF; 
        Message = "Пробег должен быть от 0 до 999900 км.";
    }
    else
    {
        Var10 = Var10 / 16;
                
        Var2 = 0xe0;
        Var3 = 0xe1;
        Var4 = Var10 ^ 0xFFFF;
        while(Var2 != 0x100)
        {                
		@Var2 = Var10;
		@Var3 = Var10 >> 8;
		Var2 = Var2 + 2;
		Var3 = Var3 + 2;
		@Var2 = Var4;
		@Var3 = Var4 >> 8;
		Var2 = Var2 + 2;
		Var3 = Var3 + 2;
        }

        
        message.Color = 0xFF0000;
        message.Bold = 1;
        message = "Дамп OK. Новый пробег записан.";
        Distance = Distance;

    }



       
    }
}






















