Математические Вычисления

  • Автор темы Автор темы Rock87
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
R

Rock87

К сожалению не силен в JavaScript, поэтому надеюсь на Вашу помощь.
Суть проблемы следующая. Есть устройство, с которого мы хотим получать данные посредством сети интернет и протокола НТТР. Для этого была создана НТМL страничка, исходный код которой представлен. На устройство при нажатии кнопки «Обновить» посылается запрос вида:
GET/pXX
где ХХ – код/номер датчика.
В ответ от устройства приходит ответ:
ХХхУУУУ
где х – разделитель;
УУУУ – значение датчика в шестнадцатеричном виде (к примеру FFFF).
Это значение отображается в соответствующих INPUT боксах. До сих пор все было хорошо и прекрасно работало.
Проблема возникла, когда встала необходимость перевести значение датчика УУУУ из шестнадцатиричного вида в десятичный и провести над этим числом элементарные математические операции (сложить, умножить, разделить).
Я не разрабатывал страницу и не имел дело с JavaScript, поэтому прошу помочь. Как это можно осуществить? Может быть есть какие примеры?
Исходный код страницы прилагаю.
Код:

Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0020)http://192.168.0.30/ -->
<HTML><HEAD><TITLE>6u</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1251">
<script type=text/javascript> 
url='http://192.168.0.30/';

jx = {
getHTTPObject : function() {
var http = false;
if(typeof ActiveXObject != 'undefined') {
try {http = new ActiveXObject("Msxml2.XMLHTTP");}
catch (e) {
try {http = new ActiveXObject("Microsoft.XMLHTTP");}
catch (E) {http = false;}
}
} else if (window.XMLHttpRequest) {
try {http = new XMLHttpRequest();}
catch (e) {http = false;}
}
return http;
},
load : function (url,callback,format) {
var http = this.init();
if(!http||!url) return;
if (http.overrideMimeType) http.overrideMimeType('text/xml');
if(!format) var format = "text";
format = format.toLowerCase();

http.open("GET", url, true);
http.onreadystatechange = function () {
if (http.readyState == 4){
if(http.status == 200) {
var result = "";
if(http.responseText) result = http.responseText;
if(format.charAt(0) == "j") {
result = result.replace(/[\n\r]/g,"");
result = eval('('+result+')'); 
}
if(callback) callback(result);
} else {
if(error) error(http.status);
}
}
}
http.send(null);
},
init : function() {return this.getHTTPObject();}
}
lastRequestId = -1;
function ask_wrap(id)
{
ask(id);
}
function ask(id)
{
jx.load(url+'p'+id, update);
}

function update(ans)
{
(document.getElementById('p'+ans.charAt(0))).value= ans.slice(3);
}

</SCRIPT>

<META content="MSHTML 6.00.6000.20973" name=GENERATOR></HEAD>
<BODY>
<TABLE width="60%" border=1>
<TR>
<TH colspan="2">Датчики</TH>
</TR>
<TR>
<TD width="30%">Датчик1</TD>
<TD width="30%"><INPUT id=p0 value=-----> <INPUT onclick="ask_wrap('0')" type=button value=Обновить></TD></TR>
<TR>
<TD>Датчик2</TD>
<TD><INPUT id=p1 value=-----> <INPUT onclick="ask_wrap('1')" type=button value=Обновить></TD></TR>
<TR>
<TD>Датчик3</TD>
<TD><INPUT id=p2 value=-----> <INPUT onclick="ask_wrap('2')" type=button value=Обновить></TD></TR>
</TABLE>
</BODY></HTML>
 
Вот что выдал Google по запросу javascript hex to decimal:





То есть где-то в java script коде страницы надо сделать так:

Код:
parameter_in_dec = parseInt(parameter_in_hex, 16);
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!