[Dashboard\Volkswagen\Passat\Passat B5+ from 2001 VDO 93C86]

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

Form
{
	Group("Пробег",5,5,140,50)
    {
        Digit(Distance," ",5,18,90);
        Label(lb1,"KM",110,20);
    }
    Group("VAG P/N.",5,95,270,50)
    {
        Label(pn," ",25,15);
        label(loginl,"LOGIN:",25,30);
        label(login," ",65,30);
    } 
    Group("Информация",5,145,270,45)
    {
        Label(msg," ",0,18);
    }
    Group("Описание",5,190,270,95) 
    {
        Label(lb4,"Калькулятор пробега для Passat B5+ from 2001 VDO.",0,20);
        Label(lb5,"EEPROM 93C86",0,35);
        Label(lb2,"Введите нужное значение в окне <Пробег>.",0,55);
        Label(lb3,"и нажмите кнопку <Применить>.",0,70);
    }
    Picture(Logo,"VW.bmp",141,1,0,0);
}

OnShow 
{
// проверяем правильность дампа
	Var0=0;
    Var1=(@0x0B0);
    Var2=(@0x0B1);
    if(Var1 = 0x56) { Var0 = 1;}
    if(Var2 = 0x57) { Var0 =Var0 + 1;}
    if(Var0 = 2)
	{
		pn = "P/N: "+#c.@0x11C+#c.@0x11D+#c.@0x11E+#c.@0x11F+#c.@0x120+#c.@0x121+#c.@0x122+#c.@0x123+#c.@0x124+"  "+#c.@0x128+#c.@0x129+"  "+#c.@0x12A+#c.@0x12B+#c.@0x12C;

		Var2 = ((@0xFC | (@0xFD << 8)) ^ 0xFFFF) << 4;
		Var3 = (@0xCD << 8) + @0xCC;
		login = "0"+#i.Var3;
		msg.Color = 0xFF0000;
		msg.Bold = 1;
		msg = "Дамп ОК. Введите новый пробег.";
		Distance = Var2;
	}
	else
	{
		msg.Color = 0x0000FF;
		msg.Bold = 1;
		msg = "Неверный дамп!";
		Distance = 0;     
	}
}

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
    {
        Var3 = 0xFC;
        while(Var3 != 0x10C)
        {
            @Var3 = ((Var2 >> 4) & 255) ^ 0xFF;
            Var3 = Var3 + 1;
            @Var3 = ((Var2 >> 12) & 255) ^ 0xFF;
            Var3 = Var3 + 1;
        }
    }
}
