[Dashboard\Hyundai\Verna 93S56]

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

Form
{
    Group("Other info.",5,105,270,100) 
    {
        Label(lb5,"EEPROM: 93S56. Производитель панели: VDO",0,35);
        Label(lb4,"Dash Value Hyndai Verna.",0,20);
        Label(lb2,"Введите нужное значение в окне Value",0,55);
        Label(lb3,"и нажмите кнопку <Применить>.",0,70);
    }
    Group("Value",5,5,140,50)
    {
        Digit(Distance," ",5,18,90);
        Label(lb1,"KM",110,20);
    }
    Group("Operation info.",5,58,270,45)
    {
        Label(message," ",0,18);
    }
    Picture(Picture1,"Hyndai.bmp",170,13,0,0);
}

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

    Var0 = 0; Var1 = 0x01; Var2 = 0;
    while(Var0 != 0x20)
    {Var2 = Var2 + (((@Var0 & 0xFF)|(@Var1 << 8)) ^ 0xFFFF);
     Var0 = Var0 + 2; Var1 = Var1 + 2;}

    if(@0x01 != @0x11)
    {
        message.Color = 0x0000FF;
        Message = " No mileage found in the dump ";
        Distance = 0;
    }
    else
    {
	message.Color = 0xFF0000;
        message = "File contains binary data";
        Distance =  Var2 * 2;
    }
}

OnApply
{
    Var1 = Distance;

    Var0 = 0;
    if(Var1 < 100)      { Var0 = Var0 + 1; }
    if(Var1 > 999900)   { Var0 = Var0 + 1; }
    if(Var0 != 0)
    {
        message.Color = 0x0000FF;
        Message = "Value should be between 100-999900";
    }
    else
    {
        // переводим из двоично-десятичного в двоичный вид
        Var1 = (Distance / 32) ^ 0xFFFF;

	// заполняем дамп
        Var0 = 0x0;

	while(Var0 < 32) 
	{
		@Var0 = Var1;Var0 = Var0 + 1;
		@Var0 = Var1 >> 8;Var0 = Var0 + 1;
	}       
        message.Color = 0xFF0000;
        message = "All done.. Value adjusted.";
    }
}
