Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   do....while - помогите (https://javascript.ru/forum/misc/36894-do-while-pomogite.html)

Kront 30.03.2013 23:13

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);

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

ksa 31.03.2013 09:46

Цитата:

Сообщение от Kront
Помогите пожалуйста разобраться с этим циклом?

Каково назначение этого цикла? Если пройтись по элементам массива rf, так это делается не так...
А вот как

var rf=[1,2,3,4,5];
var r=0;
do {
   alert(rf[r]);
   r++;
} while(r < rf.length);


P.S.
Имена переменных просто ппц! :lol:

Kront 31.03.2013 11:41

Спасибо за помощь - я сам разобрался - все заработало! Заменил на цикл
for

Цитата:

P.S.
Имена переменных просто ппц!
Рад что вам понравилось:yes:


Часовой пояс GMT +3, время: 17:21.