[Dashboard\China\Admiral\Admiral 24C01]

Size(280,250); 

Form
{
    Group("Пробег",5,5,140,50)
    {
        Digit(Distance," ",5,18,90);
        Label(lb1,"KM",110,20);
    }
        
     Group("Информация",5,58,270,45)
    {
        Label(message," ",0,18);
    }
    Group("Описание",5,105,270,100) 
    {
        Label(lb4,"Калькулятор пробега для Admiral.",0,20);
        Label(lb5,"EEPROM 24C01",0,35);
        Label(lb2,"Введите нужное значение в окне ПРОБЕГ",0,55);
        Label(lb3,"и нажмите кнопку <Применить>.",0,70);
    }
}

OnShow 
{
    Message.Bold = 1;

    Var0 = 0;

    Var1 = (@0x2 << 16) | (@0x3 << 8) | @0x4;

    Var2 = (@0xA << 16) | (@0xB << 8) | @0xC;

    Var3 = (@0x12 << 16) | (@0x13 << 8) | @0x14;

    // if(Var1 = 0xFFFFFFFF) 	{ Var0 = Var0 + 1;}	
    // if(Var1 != Var2) 		{ Var0 = Var0 + 1;}
    // if(Var1 != Var3) 		{ Var0 = Var0 + 1;}
    // if(Var3 != Var2) 		{ Var0 = Var0 + 1;}

    if(Var0 != 0)
    {
        message.Color = 0x0000FF; 	
        Message = "Неверный дамп!";    
        Distance = 0;                   
    }
    else
    {
                Var0 =         ((Var1 >> 20) & 15) * 100000;
		Var0 = Var0 + (((Var1 >> 16) & 15) * 10000);
		Var0 = Var0 + (((Var1 >> 12) & 15) * 1000);
		Var0 = Var0 +  (((Var1 >> 8) & 15) * 100);
		Var0 = Var0 +  (((Var1 >> 4) & 15) * 10);
		Var0 = Var0 + (Var1 & 15);

        message.Color = 0xFF0000;                    // синий цвет надписи
        message = "Дамп ОК. Введите новый пробег.";  // сама надпись
        Distance =  Var0;                            // рассчитанное значение пробега
    }
  
        
}

OnApply
{
    Var1 = Distance;
    
    Var0 = 0;

    if(Var1 < 100)      { Var0 = Var0 + 1; }
    if(Var1 > 999900)   { Var0 = Var0 + 1; }

    if(Var0 != 0)
    {
        message.Color = 0x0000FF; 
        Message = "Пробег должен быть от 100 до 999900 км.";
    }
    else
    {
                Var0 = Distance;
		Var2 = Var0 % 10; Var0 = Var0 / 10;
		Var2 = Var2 | ((Var0 % 10) << 4); Var0 = Var0 / 10;  
		Var2 = Var2 | ((Var0 % 10) << 8); Var0 = Var0 / 10;  
		Var2 = Var2 | ((Var0 % 10) << 12); Var0 = Var0 / 10;  
		Var2 = Var2 | ((Var0 % 10) << 16); Var0 = Var0 / 10;  
		Var2 = Var2 | ((Var0 % 10) << 20); Var0 = Var0 / 10;  
		
        Var0 = 0x02;
        
		@Var0 = Var2 >> 16;Var0 = Var0 + 1;
		@Var0 = Var2 >> 8; Var0 = Var0 + 1;
		@Var0 = Var2 & 255;Var0 = Var0 + 1;

        Var0 = 0x0A;
        
		@Var0 = Var2 >> 16;Var0 = Var0 + 1;
		@Var0 = Var2 >> 8; Var0 = Var0 + 1;
		@Var0 = Var2 & 255;Var0 = Var0 + 1;

        Var0 = 0x12;
        
		@Var0 = Var2 >> 16;Var0 = Var0 + 1;
		@Var0 = Var2 >> 8; Var0 = Var0 + 1;
		@Var0 = Var2 & 255;Var0 = Var0 + 1;


        message.Color = 0xFF0000;  
        message = "Новый пробег записан. Дамп ОК.";
    }
}





















