Главная страница
    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.45 MB
Время: 0.007 c
3-71029
Vlad2
2002-08-01 06:46
2002.08.22
Проектирование БД


6-71280
newbie1
2002-06-11 14:35
2002.08.22
немогу получить сообщение от сервера


1-71073
VID
2002-08-07 21:02
2002.08.22
Задний фон строки, в RichEdit


3-70996
Ruslan_55
2002-07-31 13:58
2002.08.22
Помогите


4-71411
Izyum
2002-06-17 11:49
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский