[Dashboard\!\NDM457C.cal]

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

Form 

{	Group("Пробег",5,5,150,50){Digit(Distance," ",5,20,90); Label(lbkm,"",110,20);}
	Group("Информация",5,110,310,45)	{Label(message," ",0,20);}
	Group ("Пересчет",5,55,170,50) {ComboBox(cbx1," ",5,20,150,"Вручную","Пересчитать Мили в Км","Пересчитать Км в Мили");}
	Group("Описание",5,155,310,80) 
    	{
	Label(lb1,"Калькулятор для Toyota\Lexus.",0,15);
        Label(lb2,"1991-1998 г.",0,30);
	Label(lb3,"EEPROM NDM457C, панель Nippondenso.",0,45);
        Label(lb4,"Выберите Вариант и Нажмите Кнопку <Применить>.",0,60);
    	}
    	Picture(Picture1,"Toyota.bmp",160,3,0,0);
	Picture(Picture2,"Lexus.bmp",240,2,0,0);
}

OnShow

{	cbx1=0;
	Message.Bold=1; Message.Alignment=1;
        Var0=((@0x41<<8)|(@0x40));
        Var1=((@0x51<<8)|(@0x50));
       	//Var2=0; // точное вычисление пробега, добавка
	if (Var0!=Var1)	{message.Color=0x0000FF; Message="Неверный дамп!";} 			// проверяем правильность дампа
	else {Distance=Var0*256; message.Color=0xFF0000; message="Дамп ОК. Введите пробег.";} 	// точность 256км, младшая часть пока не найдена
}

OnApply

{
	if(cbx1=0) {Var4=Distance;}
	if(cbx1=1) {Var4=(Distance*16093)/10000;}
	if(cbx1=2) {Var4=(Distance*1000000)/16093; Var14=Var4%100; if (Var14<50) {Var4=Var4/100;} else {Var4=(Var4/100)+1;}}
	Distance=Var4;
	if(Var4>999999)	{message.Color=0x0000FF; Message="Пробег должен быть не более 999999.";}
	else
	{
	Var3=Distance/256;
	@0x40=Var3;@0x41=Var3>>8;
	@0x50=Var3;@0x51=Var3>>8;
	message.Color=0xFF0000;	message="Дамп ОК. Новый пробег записан.";
	}
}

