![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с двумерным вариантным массивом
}|{yk © (2004-10-25 16:29:00)
with self.DataSource.DataSet do
begin
XLSArray := VarArrayCreate([0, RecordCount], varVariant);
First;
while not Eof do
begin
XLSArray[RecNo - 1] := VarArrayCreate([0, ColCount - 1], varVariant);
for IDX := 0 to ColCount - 1 do
XLSArray[RecNo - 1][IDX] := FieldByNumber(IDX).Value;
Next;
end;
end;
получаю ошибку Left side cannot be assigned to
А как правильно?
clickmaker (2004-10-25 17:56:00) [1]
> [5] }|{yk © (25.10.04 17:36)
> Мда... оказывается RecordCount показывает количество отфетченных
> записей :(
У некоторых потомков DataSet есть метод FetchAll. На крайняк - Last; First; или VarArrayRedim
}|{yk (2004-10-25 17:36:00) [2]Мда... оказывается RecordCount показывает количество отфетченных записей :(
clickmaker (2004-10-25 17:03:00) [3]XLSArray := VarArrayCreate([0, RecordCount-1], varVariant);
...
V := VarArrayCreate([0, ColCount - 1], varVariant);
for IDX := 0 to ColCount - 1 do
V[IDX] := Fields[IDX].Value;
XLSArray[RecNo - 1] := V;
}|{yk (2004-10-25 16:52:00) [4]Получаю Variant Array index out of bound, хотя обращаюсь вроде бы к XLSArray[0,0]
Pentium133 (2004-10-25 16:36:00) [5]может так прокатит? FieldByNumber(IDX).Value. AsVariant
jack128 (2004-10-25 16:32:00) [6]XLSArray[RecNo - 1, IDX] := FieldByNumber(IDX).Value ???