[Dashboard\Ford\Cargo 95040 km]

//puhovick 20.04.2011

Size(280,250); 

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

OnShow

{
	Var0=((@0x60)<<24)|((@0x61)<<16)|((@0x62)<<8)|@0x63; 
	Var1=(((@0x64)<<24)|((@0x65)<<16)|((@0x66)<<8)|@0x67)^0xFFFFFFFF; 
	if(Var0!=Var1) 
	{
		Message.Color=0x0000FF;
		Message.Bold=1;
		Message="Неверный дамп!";
		Distance=Var1;
	}
	else
	{
	Message.Color=0xFF0000;
	Message.Bold=1;
	Message.Alignment=1;
	Distance=Var0;
	Message="Введите пробег";
	}
}

OnApply

{
	Var5=0;       // Счетчик групп
	Var6=0x20;    // Адрес первой группы
	Var10=Distance;
    if(Var10>9999999) 
	{
    Message.Color=0x0000FF; 
	Message.Bold=1;
	Message="Пробег должен быть не более 999999 км";        
	}
	else
	{
	Var1=(Var10>>24)&0xFF;
	Var2=(Var10>>16)&0xFF;
	Var3=(Var10>>8)&0xFF;
	Var4=Var10&0xFF;
	while (Var5!=9)
	{
		@Var6=Var1;
		Var6=Var6+1;
		@Var6=Var2;
		Var6=Var6+1;
		@Var6=Var3;
		Var6=Var6+1;
		@Var6=Var4;
		Var6=Var6+1;
		@Var6=Var1^0xFF;
		Var6=Var6+1;
		@Var6=Var2^0xFF;
		Var6=Var6+1;
		@Var6=Var3^0xFF;
		Var6=Var6+1;
		@Var6=Var4^0xFF;
		Var6=Var6+1;
		Var5=Var5+1;
	}	
	Message.Color=0xFF0000;
	Message.Bold=1;
	Message.Alignment=1;
	Message="Дамп OK";
	}
}