[Dashboard\Alfa Romeo\146 ST6249]

Size(280,270);

Form
{
Form {
    Group("Пробег",35,13,120,50)
    {
        Digit(Distance," ",5,18,70);
        Label(lbkm,"КМ",90,20);
    }
    Group("Информация",5,80,270,45) 
    {
        Label(msg," ",0,18);
    }    
    Group("Описание",5,130,270,90) 
    {
        Label(lb1,"Калькулятор пробега для Alfa Romeo 146.",0,20);
        Label(lb2,"M.Marelli. ST6249 internal EEPROM",0,35);
        Label(lb3,"Введите нужное значение в окне <Пробег>.",0,50);
        Label(lb4,"Нажмите кнопку <Применить>.",0,65);
    }
     Picture(Logo,"alfa.bmp",190,10,0,0);
}

OnShow 
{
      Var0 = 0;
      
      
      if(Var0 = 0)
       {
        Var1 = (@0x03 <<24)|(@0x02 <<16)|(@0x01 <<8)|@0x00;
        Var2 = (@0x0b <<24)|(@0x0a <<16)|(@0x09 <<8)|@0x08;
        Var3 = (@0x13 <<24)|(@0x12 <<16)|(@0x11 <<8)|@0x10;
        Var4 = (@0x1b <<24)|(@0x1a <<16)|(@0x19 <<8)|@0x18;
               
        
        if(Var2 > Var1) {Var21 = Var2;}
        if(Var2 = Var1) {Var21 = Var2;}
        if(Var3 > Var21){Var21 = Var3;}
        if(Var3 = Var21){Var21 = Var3;}
        if(Var4 > Var21){Var21 = Var4;}
        if(Var4 = Var21){Var21 = Var4;} 
        if(Var1 > Var21){Var21 = Var1;}
        if(Var1 = Var21){Var21 = Var1;} 
           
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Дамп ОК. Введите пробег.";
        Distance = Var21;
        }
       else
        {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Неверный дамп!";
        Distance = 0;
        } 
}

OnApply {
    Var5 = 0;
    Var2 = Distance;
    
    if(Var2 > 999900) {Var5 = 1;}
    if(Var5 != 0)
    {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Пробег должен быть до 999900 км";
    }
    else
    {
        Var3 = 0x00;
        while(Var3 != 0x20)
        {
            
            @Var3 = Var2 & 255;
            @Var3.mismatch = 1;
            Var3 = Var3 + 1;
            @Var3 = Var2 >> 8 & 255;
            @Var3.mismatch = 1;
            Var3 = Var3 + 1;
            @Var3 = Var2 >> 16 & 255;
            @Var3.mismatch = 1;
            Var3 = Var3 + 1;
            @Var3 = Var2 >> 24 & 255;
            @Var3.mismatch = 1;
            Var3 = Var3 + 5;
        }
        
            
            msg.Color = 0xFF0000;
            msg.Bold = 1;
            msg = "Новый пробег записан.";
        
        }
    }
}
