Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.14;
Скачать: CL | DM;

Вниз

Как преобразовать массив olevariant в array of word?   Найти похожие ветки 

 
Dead Stark ©   (2002-10-03 12:45) [0]

Как преобразовать массив olevariant в array of word, если известно, что в olevariant именно такой массив и запакован?


 
han_malign   (2002-10-03 13:03) [1]


..............
var array_of_word: array of word;
begin
SetLength(array_of_word,VarArrayHighBound(OleVar,1)-VarArrayLowBound(OleVar,1)+1);
for i:=VarArrayLowBound(OleVar,1) to VarArrayHighBound(OleVar,1)
do array_of_word[i-VarArrayLowBound(OleVar,1)]:=
VarAsType(OleVar[i],varSmallint);
.............

а боле ни как
З.Ы. Единственное отличие OleVariant от Varian что "OleVariants use WideStrings rather than Pascal strings."
З.З.Ы. Если массив многомерный то VarArrayDimCount вложенных циклов.


 
han_malign   (2002-10-03 13:07) [2]

а запакован он все равно в универсальную структуру
TVarRec = record { do not pack this record; it is compiler-generated }
case Byte of
vtInteger: (VInteger: Integer; VType: Byte);
vtBoolean: (VBoolean: Boolean);
vtChar: (VChar: Char);
vtExtended: (VExtended: PExtended);
vtString: (VString: PShortString);
vtPointer: (VPointer: Pointer);
vtPChar: (VPChar: PChar);
vtObject: (VObject: TObject);
vtClass: (VClass: TClass);
vtWideChar: (VWideChar: WideChar);
vtPWideChar: (VPWideChar: PWideChar);
vtAnsiString: (VAnsiString: Pointer);
vtCurrency: (VCurrency: PCurrency);
vtVariant: (VVariant: PVariant);
vtInterface: (VInterface: Pointer);
vtWideString: (VWideString: Pointer);
vtInt64: (VInt64: PInt64);
end;


 
Dead Stark ©   (2002-10-03 13:11) [3]

Спасибо! действительно помогло!



Страницы: 1 вся ветка

Текущий архив: 2002.10.14;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
4-45621
maxi
2002-08-30 09:50
2002.10.14
Как отследить изменение файла ? (на подобии с директорией)


4-45614
Константин
2002-08-28 10:33
2002.10.14
Поиск заданного процесса


1-45290
123000
2002-10-04 15:24
2002.10.14
Компоненты


6-45481
BizonWar
2002-08-02 12:29
2002.10.14
Мастера, помогите пробиться через прокси.


3-45205
Андрусь
2002-09-19 16:56
2002.10.14
Помогите разобраться с фильтром на Odac