[Dashboard\Citroen\C4\Dash C4 93C46 v2]

Size(280,275); 

Form 
{
    Group("Пробег",15,10,120,50)
    {
        Digit(Distance," ",5,18,70);
        Label(lbkm,"КМ",90,20);
    }
    Group("Информация",5,70,270,60) 
    {
        Label(msg," ",0,18);
        Label(msg1," ",0,33);
    }    
    Group("Описание",5,130,270,90) 
    {
        Label(lb1,"Калькулятор пробега для Citroen C4.",0,20);
        Label(lb2,"EEPROM 93C46 .",0,35);
        Label(lb3,"Введите нужное значение в окне <Пробег>.",0,50);
        Label(lb4,"Нажмите кнопку <Применить>.",0,65);
    }
    Picture(Logo,"Citroen.bmp",180,8,0,0);
}



OnShow 
{
	Var0 = 0;
        Var1 = (@0x52  << 24) |(@0x53  << 16) |(@0x50  << 8)| @0x51 ;
        Var2 = (@0x58  << 24) |(@0x59  << 16) |(@0x56  << 8)| @0x57 ;
        Var3 = (@0x5e  << 24) |(@0x5f  << 16) |(@0x5c  << 8)| @0x5d ;
        Var4 = (@0x64  << 24) |(@0x65  << 16) |(@0x62  << 8)| @0x63 ;        
        
        if(Var2 > Var1) {Var0 = Var2;} if(Var2 = Var1) {Var0 = Var2;}
        if(Var3 > Var0) {Var0 = Var3;} if(Var3 = Var0) {Var0 = Var3;}
        if(Var4 > Var0) {Var0 = Var4;} if(Var4 = Var0) {Var0 = Var4;}
        if(Var1 > Var0) {Var0 = Var1;} if(Var1 = Var0) {Var0 = Var1;}
        Var0 = Var0 /10;
        Var5 = 0;
	if(Var0 > 999000) {Var5 = 1;}
        
        if(Var5 = 0)
        {
         
         
                msg.Color = 0xFF0000;
                msg.Bold = 1;
                Distance = Var0;
                msg = "Дамп ОК. Введите новый пробег.";
                
        }
	else
	{
		msg.Color = 0x0000FF;
		msg.Bold = 1;
		msg = "Неверный дамп!";
                msg1.Color = 0x0000FF;
		msg1.Bold = 1;
//                msg1 = "Возможно, необходим SWAP.";
		Distance = 0;
	}
}

OnApply 
{
    Var1 = Distance;
    Var5 = 0;
    if(Var1 > 999900) {Var5 = 1;}
   
    if(Var5 != 0)
    {
        msg.Color = 0x0000FF;
        msg.Bold = 1;
        msg = "Пробег должен быть от 100 до 999900 км";
    }
    else
    { 
       Var1 = Var1 * 10;  
       Var2 = Var1 >> 24; Var3 = Var1 >> 16; Var4 = Var1 >> 8; Var5 = Var1 & 255; 

       Var9 = 0x4f;
          @Var9 = ((((((@0x4e + Var2)+ Var3)+ Var4)+ Var5)+ 1) & 255) ^0xff; Var9 = Var9 + 1;
          @Var9 = Var4; Var9 = Var9 + 1;
          @Var9 = Var5; Var9 = Var9 + 1;
          @Var9 = Var2; Var9 = Var9 + 1;
          @Var9 = Var3; Var9 = Var9 + 1;
          
       Var9 = 0x55;
          @Var9 = ((((((@0x54 + Var2)+ Var3)+ Var4)+ Var5)+ 1) & 255) ^0xff; Var9 = Var9 + 1;
          @Var9 = Var4; Var9 = Var9 + 1;
          @Var9 = Var5; Var9 = Var9 + 1;
          @Var9 = Var2; Var9 = Var9 + 1;
          @Var9 = Var3; Var9 = Var9 + 1;

       Var9 = 0x5b;
          @Var9 = ((((((@0x5a + Var2)+ Var3)+ Var4)+ Var5)+ 1) & 255) ^0xff; Var9 = Var9 + 1;
          @Var9 = Var4; Var9 = Var9 + 1;
          @Var9 = Var5; Var9 = Var9 + 1;
          @Var9 = Var2; Var9 = Var9 + 1;
          @Var9 = Var3; Var9 = Var9 + 1;
    
       Var9 = 0x61;
          @Var9 = ((((((@0x60 + Var2)+ Var3)+ Var4)+ Var5)+ 1) & 255) ^0xff; Var9 = Var9 + 1;
          @Var9 = Var4; Var9 = Var9 + 1;
          @Var9 = Var5; Var9 = Var9 + 1;
          @Var9 = Var2; Var9 = Var9 + 1;
          @Var9 = Var3; Var9 = Var9 + 1;

     
        msg.Color = 0xFF0000;
        msg.Bold = 1;
        msg = "Дамп OK. Новый пробег записан.";
        
    }
}
