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

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

Массив array of variant [D6, WinXP]


Dezo ©   (2005-05-30 19:37:00) 

Здавствуйте!!!

Посоветуйте как можно решить нижеследующую проблемму:

имеется в модуле SysUtils процедура

procedure Format(str:string; Args: array of const);
begin
..
end;

Мне необходимо передать в качкстве параметра, так

procedure MyProc;
var f: array of variant;
   k:string;
begin
f:=['qw',97]; //например
k:=format('asdasd %s %d',f); //ощибка здесь - несоответсвие типов отмеченные жирным шрифтом
end;
end;

Заранее мпасибо


icWasya   (2005-05-30 21:43:00) [1]

во первых, описывать надо как
var
 f:array of TVarRec;

а во вторых это такой геморрой...

Нужно будет вручную
1) задать длину массива f - типа SetLength(f,2)
2) аккуратно заполнить все элементы массива

 f[0].VType:=vtPChar; // это самое простое
 f[0].VPChar:='qw';   // когда строка - константа

 f[1].VType:=vtInteger;
 f[1].VInteger:=97;

3)
потом можно и
 k:=format('asdasd %s %d',f);


VMcL   (2005-05-30 19:56:00) [2]

>> Dezo   (30.05.05 19:37)

Почему не написать сразу:
k := format('asdasd %s %d', ['qw',97]);
?


Наверх

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