![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Массив 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]);
?