[Dashboard\Ford\Ka D780973]

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

Form 
{
	Group("Пробег",10,13,120,80)
	{
		Digit(Distance," ",5,18,70);
		Label(lbkm,"КМ",90,20);
	}
	Group("Информация",5,100,270,45) 
	{
		Label(msg," ",0,18);
	}    
	Group("Описание",5,150,270,90) 
	{
		Label(lb1,"Калькулятор пробега для Ford Ka.",0,20);
		Label(lb2,"D780973 internal EEPROM",0,40);
    }
    Picture(Logo,"Ford.bmp",170,24,0,0);
    
}

OnShow 
{
	if(@0xe0 != @0xe2)
	{
		msg.Color = 0x0000FF;
		msg.Bold = 1;
		msg = "Неверный дамп.";
		Distance = 0;
	}
	else
	{
		Var0 = 0; Var1 = 0xC0; Var2 = 0xC1; Var3 = 0; Var4 = 0;
		while(Var1 != 0xe0)
		{
			Var3 = (@Var1 << 8) | @Var2;
			if(Var3 > Var0) {Var0 = Var3;}
			Var1 = Var1 + 2; Var2 = Var2 + 2;
		}
		Var4= (@0xE0 << 16)|Var0;
		msg.Color = 0xFF0000;
		msg.Bold = 1;
		msg = "Дамп ОК. Введите новый пробег.";
		Distance = (Var4 * 10000) / 163667;
	}
}

OnApply
{
	Var0 = Distance;
	Var1 = 0;					// индикатор ошибки
	if(Var0 < 100) {Var1 = 1;}
	if(Var0 > 999900) {Var1 = 1;}
	if(Var1 != 0)
	{
		msg.Color = 0x0000FF;
		msg.Bold = 1;
		msg = "Пробег должен быть от 100 до 999900 км";
	}
	else
    {
		Var0 = (Var0 * 163667) / 10000;
		Var10 = (Var0 >> 16) & 0xFF;
		Var11 = 0xE0;
		while(Var11 != 0x100)
		{
			@Var11 = Var10; Var11 = Var11 + 2;}
		}
		Var12 = Var0 & 0xFFFF; Var12 = Var12 - 16;
		Var13 = 0xC0; Var14 = 0xC1;
	
		while(Var13 != 0xE0)
		{
			@Var13 = (Var12 >> 8)& 0xFF; @Var14 = Var12 & 0xFF;
			Var12 = Var12 + 1; Var13 = Var13 + 2; Var14 = Var14 + 2; 
		}
		msg.Color = 0xff0000;
		msg.Bold = 1;
		msg = "Новый пробег записан. Дамп ОК.";	
	}
}