[Dashboard\Cadillac\SRX\SRX 93C66 miles]


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

Form
{
    Group("Пробег",35,13,120,50)
    {
        Digit(Distance," ",5,18,60);
        Label(lbkm,"MILES",75,20);
    }
    Group("Информация",5,80,270,45) 
    {
        Label(msg," ",0,18);
    }    
    Group("Описание",5,130,270,90) 
    {
        Label(lb1,"Калькулятор пробега для Cadillac SRX.",0,20);
        Label(lb2,"93C66 VDO 2003г.",0,35);
        Label(lb3,"Введите нужное значение в окне <Пробег>.",0,50);
        Label(lb4,"Нажмите кнопку <Применить>.",0,65);
    }
     Picture(Logo,"cadil.bmp",190,15,0,0);
}

OnShow 
{
    Var0 = 0;
        Var20 = 0x03;Var21 = 0x02;         
        Var1 = ((@0x01 << 8)+@0x00);
        Var10 = 1;Var11 = 0;Var12 = 0;
        while(Var10 != 15)
        {
            Var1 = Var1 << 1; if ((Var1 & 0x10000) != 0) { Var1 = Var1 | 1; }
            Var1 = Var1 & 0xFFFF;
            Var11 = (@Var20 << 8) | @Var21;
            if(Var1 != Var11) 
            {
                Var12 = Var10;
                Var10 = 14;   
            } 
            Var10 = Var10 + 1;Var20 = Var20 + 2;Var21 = Var21 + 2;
        }

        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Дамп ОК. Введите пробег.";
         Var22 = (((((@0x01 << 8)+@0x00) ^ 0xFFFF) - 1) << 5) + (Var12 * 2);
        Distance = Var22/2;
     
}

OnApply {
    Var5 = 0;
    Var2 = Distance;
    Var7 = (Var2 >> 4) ^ 0xFFFF;
    if(Var2 > 999900) {Var5 = 1;}
    if(Var2 < 100)   {Var5 = 1;}
    if(Var5 != 0)
    {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Пробег должен быть от 100 до 999900 км";
    }
    else
    {
        Var3 = 0x000;
        while(Var3 != 0x020)
        {
            
            @Var3 = Var7 & 255;
            Var3 = Var3 + 1;
            @Var3 = (Var7 >> 8) & 255;
            Var3 = Var3 + 1;
            Var6 = Var7 * 2;
            Var7 = ((Var6 >> 16) + Var6) & 65535;
            msg.Color = 0xFF0000;
            msg.Bold = 1;
            msg = "Новый пробег записан.";
        }
        Var10 = 0x020;
        while(Var10 != 0x040)
        {
            
            @Var10 = Var7 & 255;
            Var10 = Var10 + 1;
            @Var10 = (Var7 >> 8) & 255;
            Var10 = Var10 + 1;
            Var6 = Var7 * 2;
            Var7 = ((Var6 >> 16) + Var6) & 65535;
            msg.Color = 0xFF0000;
            msg.Bold = 1;
            msg = "Новый пробег записан.";
        }
    }
}
