[Dashboard\Aston Martin\DB9 9S12DG128]

Size(280,270);
Form 
{
    Group("Пробег",12,10,120,45)
    {
        Digit(Distance," ",5,18,50);
        Label(lbkm,"MILES",70,20);
    }
    Group("Информация",5,80,270,45) 
    {
        Label(msg," ",0,18);
    }    
    Group("Описание",5,130,270,90) 
    {
        Label(lb1,"Калькулятор пробега для Aston Martin DB9.",0,20);
        Label(lb2,"9S12DG128 internal EEPROM.",0,35);
        Label(lb3,"Введите нужное значение в окне <Пробег>.",0,50);
        Label(lb4,"Нажмите кнопку <Применить>.",0,65);
    }
    Picture(Logo,"AMartin.bmp",140,20,0,0);
}
OnShow 
{
    Var0 = 0; Var1 = 0x200; Var2 = 0x201; Var3 = 0x202; Var4 = 0x203;
    while(Var4 != 0x2CF)
    {
     Var0 = Var0 + (@Var1 << 24)|(@Var2 << 16)|(@Var3 << 8)|@Var4;
     Var1 = Var1 + 4; Var2 = Var2 + 4; Var3 = Var3 + 4; Var4 = Var4 + 4;
    }
    Distance = (Var0 * 25) / 10;    
    if(Distance > 999999)
    {
     msg.Color = 0x0000FF;
     msg.Bold = 1;
     msg = "Неверный дамп";
    }
    else     
    {
     msg.Color = 0xFF0000;
     msg.Bold = 1;
     msg = "Дамп ОК! Введите новый пробег!"; 
    }
}
OnApply 
{
	Var9 = Distance;
	Var0 = 0; Var1 = 0;			
	if(Var1 > 999900) {Var1 = 1;}
	if(Var0 != 0)
	{
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Пробег должен быть до 999900 км";
    }
    else
    {
        Var1 = ((Var9 * 10) / 25) / 51;
        Var2 = 0x200; Var3 = 0x201; Var4 = 0x202; Var5 = 0x203;
        while(Var5 != 0x2CF)
        {
         @Var2 = (Var1 >> 24) & 255; Var2 = Var2 + 4;
         @Var3 = (Var1 >> 16) & 255; Var3 = Var3 + 4;
         @Var4 = (Var1 >> 8) & 255; Var4 = Var4 + 4;
         @Var5 = Var1 & 255; Var5 = Var5 + 4;
        }
       		msg.Color = 0xff0000;
                msg.Bold = 1;
		msg = "Новый пробег записан. Дамп ОК.";	
    }
}

