OLE дастурига мисол
Қуйидаги дастур TOLEContainerнинг барча асосий имкониятларини намойиш
қилади ва қуйидагилар имконини беради:
- дастур бажарилиш вақтида янги OLE контейнер яратиш;
- OLE объектни Windowsнинг стандарт “Insert Object” ойнаси ёрдамида, ёки
Clipboard ёрдамида, ёки “олиб ташлаш” (drag-and-drop) технологияси ёрдамида
ўрнатиш;
- OLE объектни файлда сақлаш ва уни қайта тиклаш;
OLE объектларни drag-and-drop технологияси ёрдамида ўрнатиш анча
қизиқарли. MS Wordни юкланг (унинг ойнаси ва дастур ойнасини экранда ёнма-ён
ўрнатинг), ихтиёрий матнни теринг, уни белгиланг ва сичқон ёрдамида тортиб
дастурнинг бош ойеасига ташланг. Энди дастурда шу матнни сақловчи янги ички
OLE контейнер ҳосил бўлади. Бу имкониятни дастурий йўл билан бажариш анча
мушкул.
OLE объектини маълумотлар омборида сақлаш
Баъзан OLE объектини файлларда эмас, маълумотлар омборларида сақлаш
зарурати туғилади (жадвалнинг BLOB типли майдонида). Бу ҳолда OLE объект
албатта ўрнатилган бўлиши керак. Афсуски, Delphiнинг стандарт тўпламида
TDBOLEContainer типидаги объект мавжуд эмас, бунинг учун биз OLE объектни
SaveToStream ва LoadFromStream усуллари билан маълумотлар омборига
жойлаштирамиз ва унга мурожаат қиламиз. Масалан:
procedure TOLEForm.SaveOLE(Sender: TObject);
var
BlSt : TBlobStream;
begin
With Table1 do BlSt:=TBlobStream.Create(BlobField(FieldByName('OLE')),
bmReadWrite);
OLEContainer.SaveToStream(BlSt as TStream);
BlSt.Free; end;
63
Назорат саволлари:
1.
OLE тушунчасига изоҳ беринг.
2.
TOLEContainer компонентидан нима мақсадда фойдаланилади?
3.
OLE объектларга мисоллар келтиринг.
4.
OLE объектларнинг типлари қанақа бўлади?
Таянч иборалар:
OLEContainer
OLE объекти
OLE серверлар
OLE ҳужжат
SaveToStream
LoadFromStream
64
Do'stlaringiz bilan baham: |