Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.06.2016, 00:47
Новичок на форуме
Отправить личное сообщение для TheSingleElk Посмотреть профиль Найти все сообщения от TheSingleElk
 
Регистрация: 16.06.2016
Сообщений: 2

Чтение данных из файла в массив
Доброго времени суток.
Имею проблему: пишу обработку данных для специализированного софта (это ПО поддерживает автоматизацию через написание скриптов на JavaScript). Хочу прочитать данные из файла в массив. обращение к файлу происходит так:
var oDmFile = new ActiveXObject("DmFile.DmTableADO");


далее в цикле идёт считывание данных в массив из файла, представляющего собой таблицу во внутреннем формате ПО. причём, каждый элемент создаваемого массива - сам по себе массив. делаю следующее:

var Source=[];//рабочий массив - сюда должны писаться данные из файла
var tmpArray=[0,0,0];//временный массив, нужен только для объяснения, что каждый член массива Source - массив
oDmFile.Open("tmp1.dm", true);//открываю файл
var num = oDmFile.GetRowCount();//определяю количество записей
for (i=1;i<=num;i++)
{
	Source[i]=tmpArray;//объясняю, что текущий элемент рабочего массва - массив
	Source[i][0]=oDmFile.GetNamedColumn(BodyName);//читаю из файла данных содержимое текущей строки и столбца BodyName
	Source[i][1]=oDmFile.GetNamedColumn(IndName);//читаю из файла данных содержимое текущей строки и столбца IndName
	Source[i][2]=oDmFile.GetNamedColumn("ABMSKO");//читаю из файла данных содержимое текущей строки и столбца ABMSKO
		if (i<num) {oDmFile.MoveNext()}//передвигаюсь на следующую строку в файле
	}
oDmFile.Close();//закрываю файл


проблема заключается в том, что при считывании второй записи и создании второго элемента массива первый элемент массива становится равным второму, при считывании третьей строки и создании третьего элемента массива первые два превращаются в третий и т.д. то есть, на выходе я имею массив идентичных элементов, равных последнему элементу массива. что я делаю не так?
Ответить с цитированием
  #2 (permalink)  
Старый 16.06.2016, 00:55
Аватар для pureJS
Аспирант
Отправить личное сообщение для pureJS Посмотреть профиль Найти все сообщения от pureJS
 
Регистрация: 04.06.2016
Сообщений: 70

TheSingleElk, попытайся так:
Source[i] = []; //объясняю, что текущий элемент рабочего массва - массив
Ответить с цитированием
  #3 (permalink)  
Старый 16.06.2016, 01:09
Новичок на форуме
Отправить личное сообщение для TheSingleElk Посмотреть профиль Найти все сообщения от TheSingleElk
 
Регистрация: 16.06.2016
Сообщений: 2

Сообщение от pureJS
попытайся так:
pureJS, огромное спасибо. помогло (хотя и похоже на шаманство )
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление данных в многомерный массив rneft Элементы интерфейса 11 28.03.2016 17:56
Чтение из тектового файла Jackky Общие вопросы Javascript 14 30.06.2012 01:00
как загрузить массив из файла satyr22 Internet Explorer 4 21.08.2011 21:04
Подкачка данных в массив simple Общие вопросы Javascript 6 01.10.2010 09:20
Загрузка файла в массив строк с помощью AJAX malcomoffice AJAX и COMET 2 08.06.2010 18:02