Примеры использования в коде
Запись класса:
mCls1: TTestClass; // создаеться позднее в кодеСчитывание класса:
......
procedure TForm1.btnExportClick(Sender: TObject);
var
se:TStrgExport;
begin
se := TStrgExport.Create;
mCls1.OnExport1(0, se);
se.mStrg.SaveToFile('Test.stg');
se.Free;
end;
////////////
procedure TTestClass.OnExport1(iFieldID: word; iExp: TStrgExport);
begin
iExp.StartData(iFieldID, wtpFields);
iExp.WriteInt (0, mInt);
iExp.WriteCard (1, mCard);
iExp.WriteString (2, mStr);
iExp.WriteSingle (3, mSingle);
iExp.WriteBool (4, mBool);
iExp.WriteData (5, mRec, SizeOf(mRec));
iExp.EndData;
end;
procedure TForm1.btnImportClick(Sender: TObject);
var
si:TStrgImport;
begin
si := TStrgImport.Create;
si.LoadFromFile('Test.stg');
si.ReadFields(@mCls1.OnImport1);
si.Free;
end;
procedure TTestClass.OnImport1(iField: PRImportField);
begin
case iField^.mFieldID of
0: mInt := iField^.ReadInt;
1: mCard := iField^.ReadCard;
2: mStr := iField^.ReadString;
3: mSingle := iField^.ReadSingle;
4: mBool := iField^.ReadBool;
5: iField^.ReadData(mRec);
else
assert(false);
end;
end;
Больше примеров и сами исходники можно найти в проекте под Lazarus:
http://yadi.sk/d/bp7QY91hLm7dT
Привет, ответь на почту пожалуйста
ОтветитьУдалить