Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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);

Условие в конце цикла - не выполняеться. В общем эта часть и не работает. Долго над этим бился - так и не понял что тут не так!?
Помогите пожалуйста разобраться с этим циклом?!
Заранее благодарен.
Ответить с цитированием
  #2 (permalink)  
Старый 31.03.2013, 09:46
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

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

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


P.S.
Имена переменных просто ппц!
Ответить с цитированием
  #3 (permalink)  
Старый 31.03.2013, 11:41
Новичок на форуме
Отправить личное сообщение для Kront Посмотреть профиль Найти все сообщения от Kront
 
Регистрация: 04.05.2009
Сообщений: 2

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

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста вычислить общую сумму katalizator Общие вопросы Javascript 15 22.03.2013 16:26
Помогите новичку! Анатолий Саратовцев Events/DOM/Window 7 04.08.2012 17:46
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50
помогите задать селектор! mkrylov jQuery 2 28.06.2009 20:34