Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.07.2012, 16:31
Новичок на форуме
Отправить личное сообщение для Rock877 Посмотреть профиль Найти все сообщения от Rock877
 
Регистрация: 05.07.2012
Сообщений: 4

математические вычисления
К сожалению не силен в 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>
Ответить с цитированием
  #2 (permalink)  
Старый 05.07.2012, 16:43
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Rock877,
Лучше ссылку на тестовую страницу - тут XMLHttpRequest не сработает ни разу
Ответить с цитированием
  #3 (permalink)  
Старый 05.07.2012, 17:15
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

ИМХО чтобы не заморачиваться проще брать по одному символу из строки полученной от устройства и переводить его в привычный десятиричный вид (A - 10, B - 11,...)
функции для работы со строками
Ответить с цитированием
  #4 (permalink)  
Старый 05.07.2012, 17:26
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

lord2kim,
Да вродь c переводoм нет затруднений

var  input= 'ff';
alert(parseInt(input,16))

Последний раз редактировалось Deff, 05.07.2012 в 17:28.
Ответить с цитированием
  #5 (permalink)  
Старый 05.07.2012, 18:49
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Сообщение от Deff Посмотреть сообщение
lord2kim,
Да вродь c переводoм нет затруднений

var  input= 'ff';
alert(parseInt(input,16))
O_о буду знать) ниразу подобным не занимался, разве что проверял такой вещью на "является ли числом"
Ответить с цитированием
  #6 (permalink)  
Старый 08.07.2012, 22:50
Новичок на форуме
Отправить личное сообщение для Rock877 Посмотреть профиль Найти все сообщения от Rock877
 
Регистрация: 05.07.2012
Сообщений: 4

К сожалению так и не смог разобраться .
Поэтому прошу помощи . Само собой не бесплатно.
Прошу обсуждать через почту: Rock87@yandex.ru
или форум. Форум предпочтительнее.

Последний раз редактировалось Rock877, 08.07.2012 в 22:53.
Ответить с цитированием
  #7 (permalink)  
Старый 08.07.2012, 23:00
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Rock877,
alert( 0xff );
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #8 (permalink)  
Старый 08.07.2012, 23:01
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Rock877,

1. Создайте у себя реально работающую тестовую страницу - выложите ссылку, - тогда сможем преобразовать в десятичный вид в самих input...

*Сейчас там Аякс - который на любой странице , кроме вашей будет лежать безполезным кодом
Ответить с цитированием
  #9 (permalink)  
Старый 09.07.2012, 08:09
Новичок на форуме
Отправить личное сообщение для Rock877 Посмотреть профиль Найти все сообщения от Rock877
 
Регистрация: 05.07.2012
Сообщений: 4

Сообщение от Deff Посмотреть сообщение
1. Создайте у себя реально работающую тестовую страницу - выложите ссылку, - тогда сможем преобразовать в десятичный вид в самих input...

*Сейчас там Аякс - который на любой странице , кроме вашей будет лежать безполезным кодом
Что-то я не пойму. Исходный код реально работающей страницы я привел.
Еще раз поясню. Страничка нужна для считывания информации с устройства. Устройство - это черная коробочка с проводами, подключенными к сети (компьютерной). Оно же выступает в качестве сервера в рассматриваемой системе. Т. е. речь не идет о создании сайта.
Куда мне выложить страничку?
Ответить с цитированием
  #10 (permalink)  
Старый 09.07.2012, 21:20
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

Rock877,
может у вас железка сдохла и не отвечает?
http://192.168.0.30/ молчит.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт вычисления координат объекта banderasantonio197555 Events/DOM/Window 4 16.08.2011 17:37
Вычисления десятичных!? sergiocharm Элементы интерфейса 21 12.08.2011 17:34
Отложенные вычисления в JavaScript Kolyaj Общие вопросы Javascript 16 28.09.2010 09:43
вычисления с пикселями starostin13 Общие вопросы Javascript 4 13.03.2010 01:02
Точность вычисления чисел с плавающей запятой Mihas2 Общие вопросы Javascript 2 19.01.2010 16:32