Показать сообщение отдельно
  #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();//закрываю файл


проблема заключается в том, что при считывании второй записи и создании второго элемента массива первый элемент массива становится равным второму, при считывании третьей строки и создании третьего элемента массива первые два превращаются в третий и т.д. то есть, на выходе я имею массив идентичных элементов, равных последнему элементу массива. что я делаю не так?
Ответить с цитированием