Показать сообщение отдельно
  #1 (permalink)  
Старый 30.03.2013, 23:13
Новичок на форуме
Отправить личное сообщение для Kront Посмотреть профиль Найти все сообщения от Kront
 
Регистрация: 04.05.2009
Сообщений: 2

do....while - помогите
Всем привет.
Создал функцию:
function readf () {
	var strsplit1=pr1.value+" "+pr2.value+" "+pr3.value+" "+bet.value+" "+und.value+" "+ovr.value+" "+prg.value;
	var tmp2;
	var tmp3;
	var rf1=[];
	var rf=[];
	var fr=[];
	var i=0;
	var k=0;
	var r=0;
	fso = new ActiveXObject("Scripting.FileSystemObject");
	var f1 = "..//sp.txt";
	var f2 = "..//itg.txt";
	if (fso.FileExists(f1) && fso.FileExists(f2)) {
		tmp2 = fso.OpenTextFile(f1, 1, true);
		do {
			rf[i]=tmp2.Readline();
			i++;
		}
		while (!tmp2.atendofStream); 
		tmp2.Close();
				tmp3 = fso.OpenTextFile(f2, 1, true);
		do {
			rf1[k]=tmp3.Readline();
			k++;
		}
		while (!tmp3.atendofStream); 
		tmp3.Close();
		do {
		if(rf[r]==strsplit1){
			fr[r]=rf[r]+" "+rf1[r];
			r++;
}
else{
		r++;
}
}
while(r == rf.length);
for (var d=0;d<fr.length;d++){
	document.writeln(fr[d]+"<br>");
	}
	}
			else {
		alert("Не найден Файл с данными");
	}
		}

Функция открывает файлы, копирует данные по-строчно в массивы, затем проходит по массиву первого файла (sp.txt) и сравнивает с введенными данными в форму, если есть совпадение - записывает в другой массив, который потом и выводится.
Все работает, кроме вот этой части:
do {
		if(rf[r]==strsplit1){
			fr[r]=rf[r]+" "+rf1[r];
			r++;
}
else{
		r++;
}
}
while(r == rf.length);

Условие в конце цикла - не выполняеться. В общем эта часть и не работает. Долго над этим бился - так и не понял что тут не так!?
Помогите пожалуйста разобраться с этим циклом?!
Заранее благодарен.
Ответить с цитированием