[Dashboard\Volkswagen\Golf3\Golf3 TRW 93C46]

Size(280,260); 

Form
{
    Group("Пробег",5,5,140,50)
    {
        Digit(Distance," ",5,18,90);
        Label(lb1,"KM",110,20);
    }
    Group("Информация",5,65,270,45)
    {
        Label(msg," ",0,18);
    }
    Group("Описание",5,115,270,95) 
    {
        Label(lb4,"Калькулятор пробега для Golf3 TRW.",0,20);
        Label(lb5,"EEPROM 93C46",0,35);
        Label(lb2,"Введите нужное значение в окне <Пробег>.",0,55);
        Label(lb3,"и нажмите кнопку <Применить>.",0,70);
    }
    Picture(Logo,"vw.bmp",190,12,0,0);
}



OnShow 
{
    Var0=0;
    Var1=(@0x03 << 16) | (@0x00 << 8) | @0x01;
    Var2=(@0x07 << 16) | (@0x04 << 8) | @0x05;
    Var3=(@0x03 ^ @0x00) ^ @0x01;
    Var4=(@0x07 ^ @0x04) ^ @0x05;
    Var5=@0x02;
    Var6=@0x06;
    if(Var1 = Var2) { Var0 = 1;}
    if(Var3 = Var5) { Var0 =Var0 + 1;}
    if(Var4 = Var6) { Var0 =Var0 + 1;}
    if(Var0 = 3)
    {
     Distance = Var1;
     msg.Color = 0xFF0000;
     msg.Bold = 1;
     msg = "Дамп ОК. Введите пробег.";
    }
    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
    {
      Var6 = Var2 >> 16; Var7 = Var2 >> 8; Var8 = Var2 & 255; Var9 = (Var6 ^ Var7) ^ Var8;
        Var1 = 0x00;
        while(Var1 != 0x08)
        {
            @Var1 = Var7;
            @Var1.mismatch = 1;
            Var1 = Var1 + 1;
            @Var1 = Var8;
            @Var1.mismatch = 1;
            Var1 = Var1 + 1;
            @Var1 = Var9;
            @Var1.mismatch = 1;
            Var1 = Var1 + 1;
            @Var1 = Var6;
            @Var1.mismatch = 1;
            Var1 = Var1 + 1;
        }
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Новый пробег записан.";
        
    }
}
