[Dashboard\Chevrolet\Lumina\Lumina D780826]

Size(280,250); 
Form
{
       Group("Пробег",5,5,150,50)
    {
        Digit(Distance," ",5,18,80);
        Label(lb1,"KM",110,20);
       
    }
    
    Group("Информация",5,60,270,45)
    {
        Label(msg," ",0,18);
    }
    Group("Описание",5,105,270,95) 
    {
        Label(lb4,"Калькулятор пробега для Chevrolet Lumina.",0,20);
        Label(lb5,"D780826 Internal EEPROM",0,35);
        Label(lb2,"Введите нужное значение в окне <Пробег>.",0,55);
        Label(lb3,"и нажмите кнопку <Применить>.",0,70);
    }
    Picture(Logo,"Chevrolet.bmp",160,10,0,0);
}


OnShow 
{   
     Var0 = 0;
     // if(@0x00 != 0xFF)
      //  {   
        Var1 = (@0x01 << 8) | @0x00; Var1 = Var1 ^ 0xFFFF; 
        Var2 = (@0x03 << 8) | @0x02; Var2 = Var2 ^ 0xFFFF;
        Var3 = (@0x05 << 8) | @0x04; Var3 = Var3 ^ 0xFFFF;
        Var4 = (@0x07 << 8) | @0x06; Var4 = Var4 ^ 0xFFFF;
        Var5 = (@0x09 << 8) | @0x08; Var5 = Var5 ^ 0xFFFF;
        Var6 = (@0x0b << 8) | @0x0a; Var6 = Var6 ^ 0xFFFF;
        Var7 = (@0x0d << 8) | @0x0c; Var7 = Var7 ^ 0xFFFF;
        Var8 = (@0x0f << 8) | @0x0e; Var8 = Var8 ^ 0xFFFF;
        Var9 = (@0x11 << 8) | @0x10; Var9 = Var9 ^ 0xFFFF;
        Var10 = (@0x13 << 8) | @0x12; Var10 = Var10 ^ 0xFFFF;
        Var11 = (@0x15 << 8) | @0x14; Var11 = Var11 ^ 0xFFFF;
        Var12 = (@0x17 << 8) | @0x16; Var12 = Var12 ^ 0xFFFF;
        Var13 = (@0x19 << 8) | @0x18; Var13 = Var13 ^ 0xFFFF;
        Var14 = (@0x1b << 8) | @0x1a; Var14 = Var14 ^ 0xFFFF;
        Var15 = (@0x1d << 8) | @0x1c; Var15 = Var15 ^ 0xFFFF;
        Var16 = (@0x1f << 8) | @0x1e; Var16 = Var16 ^ 0xFFFF;
        
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Дамп ОК. Введите пробег.";
        Distance = Var1 + Var2 + Var3 + Var4 + Var5 + Var6 + Var7 + Var8 + Var9 + Var10 + Var11 + Var12 + Var13 + Var14 + Var15 + Var16;
        // }
       // 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 km";
    }
    else
    {
         Var2 = Var2 / 16; Var2 = Var2 ^ 0xFFFF;
         Var3 = 0x00;
         while(Var3 != 0x20)
        {
            @Var3 = Var2 & 255;
            @Var3.mismatch = 1;
            Var3 = Var3 + 1;
            @Var3 = (Var2 >> 8) & 255;
            @Var3.mismatch = 1;
            Var3 = Var3 + 1;
        }
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Новый пробег записан.";
        

    }
   }
}
