Следующая статья: Паскалевский эквивалент StrTok.
Пример:
var db: TDatabase; Desc: CRTblDesc; begin db:=Table1.OpenDatabase; FillChar(Desc, SizeOf(Desc), #0); StrCopy(Desc.szTblName,PChar(Table1.TableName)); StrCopy(Desc.szTblType, szParadox); StrCopy(Desc.szpassword,'password'); Desc.bProtected:=TRUE; Check(DbiDoRestructure(db.Handle, 1, @Desc, nil, nil, nil, FALSE)); end;
Чтение OLE из BLOB-поля Paradox Говорят, что выполнить чтение OLE из BLOB-поля Paradox невозможно. Как поступать в данном случае?
Предлагаемое решение:
procedure TForm1.Button1Click(Sender: TObject);
var b: TBlobStream;
begin
try
b:=TBlobStream.Create((Table1.FieldByName('OLE') as TBlobField),bmRead);
OLEContainer1.LoadFromStream(b);
finally
b.free;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var b: TBlobStream;
begin
try
Table1.Insert;
b:=TBlobstream.Create((Table1.FieldByName('OLE') as TBlobField),bmReadWrite);
OLEContainer1.SaveToStream(b); Table1.Post;
finally
b.free;
end;
end;
Примечание: Предварительно на форму помещаем OleContainer со страницы SYSTEM палитры компонентов.