[Dashboard\Porsche\991 93C86]

Size(280,310); 

Form 
{
    Group("Пробег",5,13,165,50)
    {
        Digit(Distance," ",5,18,60);
        Label(lbkm,"КМ",80,20);
       
    }
    Group("Идентификация",5,80,270,45)
    {
        Label(partmb," ",0,18);
    }
    Group("Информация",5,125,270,45) 
    {
        Label(Message," ",0,18);
    }    
    Group("Описание",5,175,270,90) 
    {
        Label(lb1,"Калькулятор пробега для Porsche.",0,20);
        Label(lb2,"991. EEPROM 93C86.",0,35);
        Label(lb3,"Введите нужное значение в окне <Пробег>.",0,50);
        Label(lb4,"Нажмите кнопку <Применить>.",0,65);
    }
    Picture(Logo,"Porsche.bmp",185,8,0,0);
}

OnShow 
{
    Message.Bold = 1;  
    Var0 = 1;
    	
    if (Var0 = 0)
    {
        message.Color = 0x0000FF;
        Message = "Неверный дамп!";
        Distance = 0;
    }
    else
    {
    Var5 = (((@0x301 << 8)|@0x300) ^ 0xFFFF) << 5;
     
    message.Color = 0xFF0000;
    message.Bold = 1;
    message = "Дамп ОК. Введите новый пробег.";
    Distance = Var5;
    partmb = "VIN: "+#c.@0x00+#c.@0x01+#c.@0x02+#c.@0x03+#c.@0x04+#c.@0x05+#c.@0x06+#c.@0x07+#c.@0x08+#c.@0x09+#c.@0x0a+#c.@0x0b+#c.@0x0c+#c.@0x0d+#c.@0x0e+#c.@0x0f+#c.@0x10;
    }
}
    
OnApply
{
   
    Var5 = 0;
    Var2 = Distance;
    Var7 = Var2 >> 5 & 65535 ^ 0xFFFF;
    if(Var2 > 999900) {Var5 = 1;}
    if(Var2 < 100)   {Var5 = 1;}
    if(Var5 != 0)
    {
        message.Color = 0x0000FF;
        message.Bold = 1;
        message = "Пробег должен быть от 100 до 999900 км";
    }
    else
    {
        Var3 = 0x300;
        while(Var3 != 0x320)
        {
            
            @Var3 = Var7 & 255;
            @Var3.mismatch = 1;
            Var3 = Var3 + 1;
            @Var3 = Var7 >> 8 & 255;
            @Var3.mismatch = 1;
            Var3 = Var3 + 1;
            Var6 = Var7 * 2;
            Var7 = (Var6 >> 16 + Var6) & 65535;
            message.Color = 0xFF0000;
            message.Bold = 1;
            message = "Новый пробег записан.";
        }
        Var3 = 0x500;
        while(Var3 != 0x520)
        {
            
            @Var3 = Var7 & 255;
            @Var3.mismatch = 1;
            Var3 = Var3 + 1;
            @Var3 = Var7 >> 8 & 255;
            @Var3.mismatch = 1;
            Var3 = Var3 + 1;
            Var6 = Var7 * 2;
            Var7 = (Var6 >> 16 + Var6) & 65535;
            message.Color = 0xFF0000;
            message.Bold = 1;
            message = "Новый пробег записан.";
        }
    }
   }
}













