Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.007 c
1-71144
robbit
2002-08-13 14:08
2002.08.22
on parent resize


1-71214
3asys
2002-08-09 22:05
2002.08.22
Потомки выбранного узла TTreeNode


3-71020
Andrushk
2002-07-25 14:58
2002.08.22
Научите пользоваться DBGridOnDrawColumnCell


1-71156
Nikolai_S
2002-08-09 15:52
2002.08.22
Как считать текстовый файл, хранимый в формате UNICODE?


14-71332
Hard
2002-07-26 15:08
2002.08.22
Почему драйвер видяхи слетает?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский