[Dashboard\Volkswagen\Gol\Gol 25040]

Size(280,250); 

Form
{
	Group("Пробег",5,5,140,50)
    {
        Digit(Distance," ",5,18,90);
        Label(lb1,"KM",110,20);
    }
    Group("Информация",5,75,270,45)
    {
        Label(message," ",0,18);
    }
    Group("Описание",5,120,270,80) 
    {
        Label(lb4,"Калькулятор пробега для VW Gol.",0,15);
        Label(lb5,"MAGNETI MARELLI. EEPROM 25040",0,30);
        Label(lb2,"Введите нужное значение в окне <Пробег>.",0,45);
        Label(lb3,"и нажмите кнопку <Применить>.",0,60);
    }
    Picture(Logo,"vw.bmp",170,5,0,0);
}

OnShow 
{
	Var1 = 0;
	Var5 = 0; //  Error
	Var8 = 0; // Maximum ODO
	Var10 = 0x00;
	Var20 = 0x04;
	Var7 = Var1 + Var20;
	while(Var10 < Var20)
	{
		Var3 = 0;
		Var6 = 0;
		while(Var1 < Var7)
		{
			Var2 = (@Var1) & 0xFF; Var22 = (@(Var1 + 4) ^ 0xFF) & 0xFF;
			if(Var2 != Var22) {Var5 = 1;}
			if(Var5 != 0) {Var1 = Var7; Var10 = 0x20;} // Выход из цикла
			else
			{
				Var3 = Var3 | (Var2 << Var6);
				Var1 = Var1 + 1;
				Var6 = Var6 + 8;
			}
		}
		if(Var3 > Var8) {Var8 = Var3;}
		Var1 = Var1 + 0x04;
		Var7 = Var1 + Var20;
		Var10 = Var10 + 1;
	}
	if(Var5 != 0)
	{
		message.Color = 0x0000FF;
		message.Bold = 1;
		message = "Неверный дамп!";
		Distance = 0;
	}
	else
	{
      	message.Color = 0xFF0000;
       	message.Bold = 1;
       	message = "Дамп ОК. Введите новый пробег.";
       	Distance = Var8 / 10;
	}
}

OnApply 
{
    Var5 = 0;
    Var2 = Distance;
    if(Var2 > 999900) {Var5 = 1;}
    if(Var2 < 100)   {Var5 = 1;}
    if(Var5 != 0)
    {
        message.Color = 0x0000FF;
        message.Bold = 1;
        message = "Пробег должен быть от 100 до 999900 км";
    }
    else
    {
        Var2 = Var2 * 10;
        Var3 = 0x00;
        while(Var3 != 0x20)
        {
            @Var3 = Var2 & 255;
            Var3 = Var3 + 1;
            @Var3 = (Var2 >> 8 & 255);
            Var3 = Var3 + 1;
            @Var3 = (Var2 >> 16 & 255);
            Var3 = Var3 + 1;
            @Var3 = (Var2 >> 24 & 255);
            Var3 = Var3 + 1;
            @Var3 = (Var2 & 255)^0xff;
            Var3 = Var3 + 1;
            @Var3 = (Var2 >> 8 & 255)^0xff;
            Var3 = Var3 + 1;
            @Var3 = (Var2 >> 16 & 255)^0xff;
            Var3 = Var3 + 1;
            @Var3 = (Var2 >> 24 & 255)^0xff;
            Var3 = Var3 + 1;
        }   
    }
}