Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Присвоение в вариантном многомерном массиве. [D6, Win2k, WinXP]


Kacnep ©   (2005-07-04 07:45:00) 

Привет мастерам. Опишу свой вопрос на примере из хелпа к дельфи.
Дельфи 6.

Тут все норально и работает ...

var
  S: string;
  Mas: Variant;
begin
  Mas:= VarArrayCreate([0, 3], varVariant);
  Mas[0]:= VarArrayHighBound(Mas, 1);
  Mas[1]:= 'Быть или не быть?';
  Mas[2]:= 12.34567;
  Mas[3]:= VarArrayOf( [7, 354, 0, 21, 66, 189] );
  S:= VarToStr( Mas[1] );       // S:= 'Быть или не быть?'
  S:= VarToStr( Mas[3][1] );  // S := 354
end;

А вот теперь делаем наоборот иии :(((

Mas[3][1]:=45763; Ругается что не может присвоить
Тоже и с VarArrayPut(Mas[3],457663,[1])

Вопрос 1 как присвоить?
Вопрос 2 Могули присвоить не 45763 а строку 'Не работает'
Спасибо заранее


Kacnep   (2005-07-04 08:39:00) [1]

Спасибо
Это я проверил -это работает. Виноват что сразу не написал.
А почему напрямую не хотит?
Mas[3][1]:=45763; ведь чтение идет напрямую???


VMcL   (2005-07-04 08:20:00) [2]

P.S.
Tmp: Variant;


VMcL   (2005-07-04 08:18:00) [3]

>> Kacnep ©   (04.07.05 07:45)

1.

Tmp := Mas[3];
Tmp[1] := 45763;
Mas[3] := Tmp;


2.
Да.


Наверх

Титульная страница Поиск, карта сайта Написать письмо