Показать полную графическую версию : Scripting Runtime: Ошибка ReadLine из пустого файла
Gamover jr
30-04-2008, 20:52
Как сначала проверить, есть ли в файле текст?
обычно, построчное чтение засовывают в цикл while по условию NOT EOF EOF - End Of File
соответственно для пустого файла программа не войдёт в этот цикл
Gamover jr
01-05-2008, 00:33
самое похожее на EOF что мне удалось найти - AtEndOfStream
По нажатию баттона выполняется примерно такой js код
f1 = fso.GetFile("c:\\textfile.txt");
ts = f1.OpenAsTextStream();
while (!(ts.AtEndOfStream))
{
s1 = ts.ReadLine();
alert (s1) ;
}
алерт не выполняется, баттон остаётся нажатый, IE зависает.
Если в файле есть >=1 символов всё ок.
Gamover jr
02-05-2008, 10:19
ts = fso.OpenTextFile("c:\\textfile.txt", 1, true);
while (!ts.AtEndOfStream)
{
s1 = ts.ReadLine();
alert ("s1") ;
}
тот же результат.
Приходится сначала дописывать в конец файла строку, чтобы исключить пустой файл.
Всё правильно - оно и есть.
Да нечему там зависать - ошибка в другом месте. Укажи явно тип кнопки и return обработчика.
Gamover jr
03-05-2008, 11:56
Да, ошибка в другом месте.
и тоже непонятно
var hd= '<html><head><meta http-equiv="Expires" content="Mon, 26 Jul 2010 05:00:00 GMT" /><title>Project</title><META http-equiv=Content-Type content="text/html; charset=windows-1251"><script type="text/javascript" charset="windows-1251" src = "localhost/PROJECT/scrpt.js"></script></head><body>'
var topbuttons = '<button onclick="acts( )">Доки</button>'
function acts()
{
var ts, s1 = "" ;
var fso = new ActiveXObject("Scripting.FileSystemObject");
document.writeln(hd); // <--------------------------------------------------- с этой строчкой виснет, без - нет.
document.writeln(topbuttons);
ts = fso.OpenTextFile("c:\\FileAkts.txt", 1, true);
while (!ts.AtEndOfStream)
{
s1 = s1 + ts.ReadLine();
}
ts.Close();
document.writeln(s1);
document.close();
}
естественно - в середину html документа пытаетесь вставить другой html-документ
Gamover jr
04-05-2008, 19:56
А как правильно?
В общем идея такая, в строке topbuttons много разных кнопок, все функции в одном js-файле, все функции первым делом пишут строки hd и topbuttons, а дальше по назначению нажатой кнопки.
Решение: поменял путь к скрипту на относительный.
Так неясно же, чего требуется добиться. "В общем идея такая" - это просто пересказ приведённого кода, а что он неправильный мы уже разобрались.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.