[US-Euro converter\Lexus\IS250\Lexus IS250 dash 93c56]


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

Form 
{
    Group("Пробег",5,5,150,80)
    {
        Digit(Distance," ",5,18,90);
        Label(lb1,"Miles ",110,20);
      }
        
     Group("Информация",5,88,270,45)
    {
        Label(message," ",0,18);
    }
    Group("Описание",5,135,270,100) 
    {
        Label(lb4,"Конвертер mil-km для Lexus IS250.",0,20);
        Label(lb5,"Панель EEPROM 93C56",0,35);
        Label(lb2,"Для перевода в европейскую систему измерения",0,55);
        Label(lb3,"нажмите кнопку <Применить>.",0,70);
    }

    Picture(Picture1,"Lexus.bmp",180,5,0,0);
}

OnShow
{
    Message.Bold = 1;
    Message.Alignment = 1;

    // --------------- проверяем правильность дампа
    Var0 = 0;
   Var1 = (@0x65 << 24) | (@0x64 << 16) | (@0x63 << 8) | @0x62;
    Var2 = (@0x69 << 24) | (@0x68<< 16) | (@0x67 << 8) | @0x66;
    Var3 = (@0x6d << 24) | (@0x6c << 16) | (@0x6b << 8) | @0x6A;


 
    Var4 =@0xD7;
    Var5 =@0xD8;
    Var6 =@0xD9;
    Var7 =@0xAE;
    Var8 =@0xAF;
    Var9 =@0xB0;


    if(Var4 = 0xFD)   	            { Var0 = Var0 + 1;}	
    if(Var5 = 0xFD) 		{ Var0 = Var0 + 1;}
    if(Var6 = 0xFD) 		{ Var0 = Var0 + 1;}
    if(Var7 = 0xBF)   	            { Var0 = Var0 + 1;}	
    if(Var8 = 0xBF) 		{ Var0 = Var0 + 1;}
    if(Var9 = 0xBF) 		{ Var0 = Var0 + 1;}


   
    if(Var0 != 6)
    {
        message.Color = 0x0000FF;
        Message = "Неверный дамп!";
        Distance = 0;
    }
    else
    {
	Var1 = 0xFFFFFFFF ^ Var1;
        // переводим в двоично-десятичный вид
	Var0 = ((Var1 >> 28) & 15) * 10000000;
	Var0 = Var0 + (((Var1 >> 24) & 15) * 1000000);
	Var0 = Var0 + (((Var1 >> 20) & 15) * 100000);
	Var0 = Var0 + (((Var1 >> 16) & 15) * 10000);
	Var0 = Var0 + (((Var1 >> 12) & 15) * 1000);
	Var0 = Var0 + (((Var1 >> 8) & 15) * 100);
	Var0 = Var0 + (((Var1 >> 4) & 15) * 10);
	Var0 = Var0 + (Var1 & 15);
        message.Color = 0xFF0000;
        message = "Дамп ОК, нажмите кнопку <Применить>";
        Distance =  Var0;
    }
}


OnApply
{
    Var1 = Distance;

    Var0=0;
    Var4 =0xD7;
    Var5 =0xD8;
    Var6 =0xD9;
    Var7 =0xAE;
    Var8 =0xAF;
    Var9 =0xB0;


    if(@Var4 = 0xFD)   	            { Var0 = Var0 + 1;}	
    if(@Var5 = 0xFD) 		{ Var0 = Var0 + 1;}
    if(@Var6 = 0xFD) 		{ Var0 = Var0 + 1;}
    if(@Var7 = 0xBF)   	            { Var0 = Var0 + 1;}	
    if(@Var8 = 0xBF) 		{ Var0 = Var0 + 1;}
    if(@Var9 = 0xBF) 		{ Var0 = Var0 + 1;}


     if(Var0 != 6)

    {
        message.Color = 0x0000FF;
        Message = "Дамп неверен запись прекращена";
    }
    else
    {
    @Var4=0xFB;
    @Var5=0xFB;
    @Var6=0xFB;
    @Var7=0x7F;
    @Var8=0x7F;
    @Var9=0x7F;


        message.Color = 0xFF0000;
        message = "Перевод в европу завершен.";
    }
}










