[Dashboard\Ford\Tranzit\Tranzit 93C66]

Size(280,250); 

Form 
{
    Group("Пробег",15,13,120,50)
    {
        Digit(Distance," ",5,18,70);
        Label(lbkm,"КМ",90,20);
    }
    Group("Информация",5,70,270,45) 
    {
        Label(msg," ",0,18);
    }    
    Group("Описание",5,120,270,85) 
    {
        Label(lb1,"Калькулятор пробега для Ford Tranzit.",0,20);
        Label(lb2,"EEPROM 93C66",0,35);
        Label(lb3,"Введите нужное значение в окне <Пробег>.",0,50);
        Label(lb4,"Нажмите кнопку <Применить>.",0,65);
    }
    Picture(Logo,"Ford.bmp",170,17,0,0);
}


OnShow 
{
	Var0 = 0x00; // Начальный адрес
	Var5 = 0x00; // Индикатор ошибки
	Var6 = 0x00; 

	while(Var0 < 0x0A)
	{
		Var1 = (@(Var0 + 0)) | (@(Var0 + 1) << 8) | (@(Var0 + 2) << 16) | (@(Var0 + 3) << 24);
		Var1 = Var1 / 200;
		Var2 = (@(Var0 + 0)) + (@(Var0 + 1)) + (@(Var0 + 2)) + (@(Var0 + 3));
		if(Var2 > 0xFF) {
			Var3 = (Var2 >> 8) & 0xFF;
			Var2 = (Var2 & 0xFF) - Var3;
		}
		Var3 = (@(Var0 + 4)) ^ 0xFF;
		if(Var2 != Var3) {Var5 = 1;}
		Var0 = Var0 + 5;
	}
	if(Var1 > 999900) {Var5 = 1;}
	
	if(Var5 != 0)
	{
		msg.Color = 0x0000FF;
		msg.Bold = 1;
		msg = "Неверный дамп!";
		Distance = Var6;
	}
	else
	{
		msg.Color = 0xFF0000;
		msg.Bold = 1;
		msg = "Дамп ОК. Введите новый пробег.";
		Distance = Var1;
	}
}

OnApply 
{
	Var5 = 0;
	Var2 = Distance;
	if(Var2 > 999900) {Var5 = 1;}
	if(Var2 < 100)   {Var5 = 1;}
	if(Var5 != 0)
	{
		msg.Color = 0x0000FF;
		msg.Bold = 1;
		msg = "Пробег должен быть от 100 до 999900 км";
	}
	else
	{
		Var1 = Distance;
		Var1 = Var1 * 200;
		Var3 = 0x00;
		while(Var3 != 0x0A)
		{
			@Var3 = Var1 & 255;			Var3 = Var3 + 1;
			@Var3 = Var1 >> 8 & 255; 	Var3 = Var3 + 1;
			@Var3 = Var1 >> 16 & 255; 	Var3 = Var3 + 1;
			@Var3 = Var1 >> 24 & 255; 	Var3 = Var3 + 2;
		}
		Var6 = (((@0x00 + @0x01) + @0x02) + @0x03);
		if(Var6 > 0xFF) {
			Var3 = (Var6 >> 8) & 0xFF;
			Var6 = (Var6 & 0xFF) - Var3;
		}
		Var6 = Var6 ^ 0xFF;
		@0x04 = Var6;
		@0x09 = Var6;
		msg.Color = 0xFF0000;
		msg.Bold = 1;
		msg = "Дамп OK. Новый пробег записан.";
    }
}

