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

Вниз

Variant -> binary и binary -> Variant   Найти похожие ветки 

 
Daniil ©   (2002-07-30 10:33) [0]

var
P: Pointer;
V: Variant;
begin
V := VarArrayOf(["Name", 1, 1, 1]);
P := VarArrayLock(V);
// Запись P^ в БД, и соответственно ошибка строка "Name"
// не запишится
...
...
// Считывание из БД двоичных данных и преобразование к variant
// А иммено как преобразовать набор байтов в variant
end;

Важно именно сохранение массивов типа вариант с различными типами элементов (строки например и целые) и их преобразование обратно в вариант из бинарного поля.


 
AlexSam   (2002-07-30 10:57) [1]

Я привел кусок реально работающей процедуры.
Я считывал из байтового поля размером 240 байт таблицы Paradox данные, состоящие из 10 значений Extended.

procedure ImportDataHour(_Id_Meas : integer; _Date : TDate; _NObj : integer; _NDev : integer; _NChan : integer);
var
e1 : array of Extended;
BufExt : Extended;
BufStr : string;
i : integer;
Buf : string;
begin
with F_Menu00 do
begin
SetLength(e1,24);

with Table_paradox_hour do
begin
Open;

fieldbyname("M1").GetData(e1,True);



 
Daniil ©   (2002-07-31 04:28) [2]

Всё было бы просто если бы не строки!!!
Здесь длина поля заранее не известна :(
Сложность состовляет иммено момент преобразования следующей переменной
V := VarArrayOf(["Name", 1, 1, 1.666]);
в нечно типа набора байтов с известной длиной и обратно соответственно.



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
3-71064
АСУ-Антон
2002-08-01 11:27
2002.08.22
Удаление большого числа записей из БД


6-71279
nikk
2002-06-09 01:26
2002.08.22
NmSmtp


3-71029
Vlad2
2002-08-01 06:46
2002.08.22
Проектирование БД


1-71133
Cr@sh
2002-08-13 12:58
2002.08.22
Повтрение изображения в TImage (расположение плиткой).


7-71391
Alexander
2002-06-09 01:39
2002.08.22
Как изменить иконку для какого-либо диска в проводнике?