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

Вниз

GetCurrentRecord(PChar), обратное преобразование   Найти похожие ветки 

 
XAdmin   (2005-01-09 10:01) [0]

Есть данные в виде Pchar полученные с помощью метода GetCurrentRecord (возвращает запись целиком).
var
 P: PChar;
begin
 GetMem(P, FIBDataSet.RecordSize);
 FIBDataSet.GetCurrentRecord(P)

Как из переменной P выделить конкретные поля?


 
sniknik ©   (2005-01-09 12:28) [1]

элементарно... расчитываеш по размерам полей до записи начало поля и копируеш кусок равный размеру поля, преобразовываеш к нужному типу (если есть нужда)... обламываешся с полями типа текст, блов, и  аналогичными. ;о)) бо нет в них данных, в рекордсете.
копируеш (выделяеш) так move(P[расчитаная точка начала записи], буфер приемник, размер записи)
в общем все так же как и сам копмонент делает.

чем не подходит fieldbyname(?)/fields[?] ???


 
DSKalugin ©   (2005-01-10 15:14) [2]

Все гениальное просто

var Nafiga: Variant;
  fi,fc:Byte;
begin
fc:=Table666.FieldCount-1;
//объявляю переменную для хранения значений полей записи
Nafiga:=VarArrayCreate([0,fc], varVariant);
//копирую запись в переменную
for fi:=0 to fc do Nafiga[fi]:=Table666.fields[fi].Value;
//обратное действие
Table666.Insert/Edit;
for fi:=0 to fc do Table666.fields[fi].Value:=Nafiga[fi];
Table666.Post;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.057 c
6-1101274782
leonidus
2004-11-24 08:39
2005.02.06
Переход с Indy 8 на Indy 9


1-1106718408
Atomic
2005-01-26 08:46
2005.02.06
Кнопки


1-1106318220
Eraser
2005-01-21 17:37
2005.02.06
TJvRichEdit и распознавание смайликов.


3-1105394356
Quiii
2005-01-11 00:59
2005.02.06
informacija v bazii danih nesohranjaetsja pri viklju4enii program


1-1106497009
tazik
2005-01-23 19:16
2005.02.06
Запись текста к файлу программы