Показать полную графическую версию : Работа с файлами (Не считываются данные из файла)
Пожалуйста проконсультируйте.
При загрузки HTML-страницы два массива должны заполниться данными из двух файлов. Однако только один из них
(все равно какой!) загружает соответствующий массив. Ощущение такое, что функция обрабатывающая второй файл, после отработки первого просто игнорируется. Коллеги, в чем здесь особенность? ActiveXObject позволяет открывать (не одновременно, а после закрытия предыдущего) несколько файлов?
Заранее спасибо.
где код? может в коде ошибка?
Так выглядит страница .shtml:
<script type="text/javascript" src="func2.js"></script>
<script type="text/javascript">
...
<!--
// ========создаем массив записей групп каналов
var grp_arr = new Array(); var chn_arr = new Array();
var file = new ActiveXObject("Scripting.FileSystemObject");
loadGrp(); loadChn();
// ==========================================================
//-->
</script>
...
Функции loadGrp(); loadChn(); обращаются к файлу func2.js.
Вот их коды:
// Функция загрузки списка групп каналов
function loadGrp() {
var grpfile = file.OpenTextFile("groups.txt",1);
var flag="false"; var grplong=0;
for (i=0; flag="false"; i++){
grp_arr[i] = new Array();
grplong = parseInt(grpfile.readLine());
for (j=0; j<grplong; j++){
grp_arr[i][j] = new Array()
for (k=0; k<3; k++){
grp_arr[i][j][k] = grpfile.readLine();
flag=grpfile.atEndOfStream;
}
}
grp_arr[i][0][0]=parseInt(grp_arr[i][0][0]);
}
grpfile.Close();
}
// Функция загрузки списка всех каналов
function loadChn() {
var chnfile = file.OpenTextFile("chanels.txt",1);
var flag="false";
for (i=0; flag="false"; i++){
chn_arr[i] = new Array();
for (j=0; j<3; j++){
chn_arr[i][j] = chnfile.readLine();
flag=chnfile.atEndOfStream;
}
chn_arr[i][0]=parseInt(chn_arr[i][0]);
}
chnfile.Close();
}
Ошибка действительно в коде:function loadGrp() {
var grpfile = file.OpenTextFile("groups.txt",1);
var flag="false"; var grplong=0;
for (i=0; flag="false"; i++){
... »
Как видете flag="false" строковое значение, а должно быть булевое false, да и оператор for возможно у меня не к месту, а если уж использую, то желательно, чтобы было так:
for (i=0; false; i++). Рекомендуют вместо for использовать while.
Так как код заработал, тему можно считать закрытой.
Спасибо за внимание и помощь.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.