Вывод форматированных переменных с заданными координатами

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

Ответить
Юрон
Сообщения: 2
Зарегистрирован: 07 фев 2005, 13:02

В файле Par.asp :shock: данные обновляются с помощью refresh раз в минуту. Фоном страницы является ParTable.gif.
При обновлении страница мигает.
:idea: Чтобы страница не мигала надо как-то строки
<div style = "position:absolute; top:41px; left:114px; font-family:Arial;font-size5"><%Response.Write(calValues(100, sT201A21))%></div>
……………………..
<div style = "position:absolute; top:225px; left:691px; font-family:Arial;font-size5"><%Response.Write(calValues(1, sT109A18))%></div>
запихнуть в функцию function OutDates() вместо строчек
xxxxxxxxxxxxx
………….
Yyyyyyyyy

И строку <meta http-equiv="refresh" content="60"> потом убрать
Облазил весь инет похожих примеров не нашел.

Ниже представлен файл Par.asp с небольшими сокращениями

<%@ Language=JavaScript %>

<%
Response.Expires = -10000
Response.AddHeader("pragma", "no-cache")
var c = Server.CreateObject("ADODB.Connection")
c.Open("TSC_SQL")
var RS = c.Execute("select INS,sredneeMin, DateSignal from Signal_5min")
%>

<DOCTYPE HTML PUBLIC "//IETF//DTD HTML//EN">
<HTML>
<HEAD>
<meta http-equiv="refresh" content="60">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<%
function calValues(koff, chislo)
{
num = Math.round(chislo*koff)/koff;
return(num)
}
%>
<script type="text/javascript">

/*
function OutDates()
{
xxxxxxxxxxxxx
………….
yyyyyyyyy
}
*/

</script>

<title> таблица по ПАРУ =</title>

</HEAD>

<BODY onload="setInterval(OutDates, 60000); window.moveTo(2, 2)" bgcolor=silver style="background-attachment: fixed" >
<form name= "form1" method="POST" action="--WEBBOT-SELF--">

<%
var sT201A21 = "", sT201A22 = "", sT201A23 = "", sT201A11 = "", sT201A12 = "", sT201A13 = ""
…………………..
var sT105A11 = "", sT105A14 = "", sT105A13 = "", sT105A12 = "", sT105A16 = "", sT105A18 = ""

while(!RS.EOF)
{
if("T201A21" == INS1) sT201A21 = RS("sredneeMin").Value
……………….
if("T106A28" == INS1) sT106A28 = RS("sredneeMin").Value
RS.MoveNext()
}
RS.Close()
%>


<font color="blue">
<div style = "position:absolute; top:41px; left:114px; font-family:Arial;font-size5"><%Response.Write(calValues(100, sT201A21))%></div>
……………………..
<div style = "position:absolute; top:225px; left:691px; font-family:Arial;font-size5"><%Response.Write(calValues(10, sT109A18))%></div>

</form>

</BODY>
</HTML>
:?:
Юрон
Сообщения: 2
Зарегистрирован: 07 фев 2005, 13:02

Вопрос упрощается
:shock: Функцию function calValues(koff, chislo) заменил
На
<%
function calValues00(koff, chislo)
{
var num ='';
num = Math.round(chislo*koff)/koff+'';
if(koff == 100)
{
num = (num.charAt(0)=='.' ? '0'+num:num);
if(num.charAt(num.length-3)=='.') { num+=''; }
else if(num.charAt(num.length-2)=='.') { num+='0'; }
else num+='.00';
}
else if(koff == 10)
{
num = (num.charAt(0)=='.' ? '0'+num:num);
if(num.charAt(num.length-2)=='.') { num+=''; }
else if(num.charAt(num.length-1)=='.') { num+='0'; }
else num+='.0';
}
else if(koff == 1) { num = Math.round(chislo); }
return num;
}

%>
и вызываю теперь ее так
<%

var sT201A21 = "", sT201A22 = "", sT201A23 = "", sT201A11 = "", sT201A12 = "", sT201A13 = ""
var sT105A11 = "", sT105A14 = "", sT105A13 = "", sT105A12 = "", sT105A16 = "", sT105A18 = ""
…………………….
var sT109A12 = "", sT109A13 = "", sT109A14 = "", sT109A18 = ""

var sDateSignal = ""
while(!RS.EOF)
{
if("T201A21" == INS1) sT201A21 = calValues00(100, RS("sredneeMin").Value)
if("T201A22" == INS1) sT201A22 = calValues00(10, RS("sredneeMin").Value)
…………………..
if("T109A18" == INS1) sT109A18 = calValues00(1, RS("sredneeMin").Value)
RS.MoveNext()
}
RS.Close()
%>
На экран пытаюсь вывести так
…………….

<font color="blue">
<div id="idT201A21" style="position:absolute; top:41px; left:114px; color:blue; font-family:Arial;font-size5"></div>
<div id="idT201A22" style="position:absolute; top:65px; left:114px; color:red; font-family:Arial;font-size5"></div>
………..
<div id="idT109A18" style="position:absolute; top:65px; left:114px; color:red; font-family:Arial;font-size5"></div

</font>
</form>
</BODY>
</HTML>

Функцию
<script type="text/javascript">



function OutDates()
{

srt = 27.667 ;
var ploho = <%=sT201A21%>;

document.getElementById("idT201A22").innerHTML = srt; // выводится число 27.667 в нужном месте


//-- document.getElementById("idT201A21").innerHTML = <%=sT201A21%>; // ошибка
//-- document.getElementById("idT201A21").innerHTML = '<%=sT201A21%>'; // пусто
//--document.getElementById("idT201A21").innerHTML = '<%Response.Write(sT201A23)%>';

//-- document.getElementById("idT201A22").innerHTML = ploho; //
// document.getElementById("idT201A21").innerHTML = <%Response.Write(sT201A23)%>; // ошибка
}

</script>
вызываю в
<BODY onload="setInterval(OutDates, 6000); window.moveTo(2, 2)" bgcolor=silver style="background-attachment: fixed" >

Не получается загнать серверные переменные в функцию OutDates()

Жду конкретных ответов на обычную проблему - необходимо данные с БД SQL server 2000 отобразить у клиента средствами Web
Читатель
Сообщения: 24
Зарегистрирован: 13 янв 2005, 14:01

Вы кажется закрываете RS раньше чем вызываете функцию OutDates
и к тому же она по описанию не принимает никаких аргументов
Перепишите ей в виде OutDates(переменная1, переменная2)
Читатель
Сообщения: 24
Зарегистрирован: 13 янв 2005, 14:01

Беру свои слова обратно.
Все действительно не так просто
Ответить