[Dashboard\Volkswagen\Golf5\Golf5 25160 crypto]



Size(280,300); 

Form
{
       Group("Пробег",5,5,140,50)
    {
        Digit(Distance," ",5,18,90);
        Label(lb1,"KM",110,20);
        
    }
    Group("VAG P/N. DATE",5,70,270,40)
    {
        Label(pn," ",0,15);
	
    } 
    Group("Информация",5,110,270,45)
    {
        Label(msg," ",0,18);
    }
    Group("Описание",5,155,270,95) 
    {
        Label(lb4,"Калькулятор пробега для Golf5.",0,20);
        Label(lb5,"Visteon crypto.EEPROM 25160",0,35);
        Label(lb2,"Введите нужное значение в окне <Пробег>.",0,55);
        Label(lb3,"и нажмите кнопку <Применить>.",0,70);
    }
    Picture(Logo,"vw.bmp",190,12,0,0);
}

OnShow
{
    Var0=0;
    Var1=(@0x10);
    Var2=(@0x11);
    if(Var1 = 0x31) { Var0 = 1;}
    if(Var2 = 0x4B) { Var0 =Var0 + 1;}
    if(Var0 = 2)
      {
        Var5 = (@0x00 << 16) | (@0x01 << 8) | @0x02;
        Distance = Var5;
        pn = "P/N: "+#c.@0x10+#c.@0x11+#c.@0x12+#c.@0x13+#c.@0x14+#c.@0x15+#c.@0x16+#c.@0x17+#c.@0x18+#c.@0x19+#c.@0x1a;
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Дамп ОК. Введите пробег.";
        
       }
       else
       {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Неверный дамп!";
        Distance = 0;
       }
}

OnApply 
{
     Var4 = 0; Var5 = 0; Var6 = 0; Var7 = 0;
     Var2 = Distance;
     Var5 = Var2 >> 16; Var6 = Var2 >> 8; Var7 = Var2 & 255; Var8 = Var5 + Var6 + Var7;
     Var12 = Distance;
     Var17 = (Var12 >> 4)/2 ;

    if(Var2 > 999900) {Var4 = 1;}
    if(Var4 != 0)
    {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Пробег должен быть до 999900 км";
    }
    else
    {
        Var3 = 0x00;
        while(Var3 != 0x10)
        {
            
            @Var3 = Var5;
            Var3 = Var3 + 1;
            @Var3 = Var6;
            Var3 = Var3 + 1;
            @Var3 = Var7;
            Var3 = Var3 + 5;
            @Var3 = Var8;
            Var3 = Var3 + 1;            
        }

	Var13 = 0x50C;
        	while(Var13 != 0x51C)
                     {            
            @Var13 = Var17 & 255;
            Var13 = Var13 + 1;
            @Var13 = (Var17 >> 8) & 255;
            Var13 = Var13 + 1;
            Var16 = Var17 * 2;
            Var17 = ((Var16 >> 16) + Var16) & 65535;
                     }



	msg.Color = 0xFF0000;
            msg.Bold = 1;
            msg = "Новый пробег записан.";

       
    }
}
