procedure TDualListForm.MoveRec(Select: Boolean);
begin
if Select then begin
if (SourceDS.Active) and (not SourceDS.IsEmpty) then begin
TargetDS.CacheRefreshByArrMap(SourceDS, frklnsert,
['CUST_NO'], ['CUST_NO']);
SourceDS.CacheDelete;
end;
end
else begin
if (TargetDS.Active) and (not TargetDS.IsEmpty) then begin
SourceDS.CacheRefresh(TargetDS, frklnsert, nil);
TargetDS.CacheDelete;
end;
end;
end;
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Select ΡΠ°Π²Π΅Π½ True, ΡΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈΠ· Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π² ΠΏΡΠ°Π²ΡΠΉ, Ρ. Π΅. ΠΈΠ· SourceDS Π² TargetDS. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΌΠ΅ΡΠΎΠ΄ CacheRefreshByArrMap.
procedure CacheRefreshByArrMap(FromDataSet: TDataSet; Kind:
TCachRefreshKind; const SourceFields, DestFields: array of
String);
ΠΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΡ Π·Π°ΠΏΠΈΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π±ΡΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°, Ρ. Π΅. Π±Π΅Π· Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΡΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ FromDataSet ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΠΈΠ· ΠΊΠ°ΠΊΠΎΠ³ΠΎ TpFIBDataSet ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π°ΠΏΠΈΡΡ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ Kind ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ: frkEdit ΠΈΠ»ΠΈ frklnsert. Frklnsert ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²ΡΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ, a frkEdit - ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ SourceFields ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°, Π° ΡΠΏΠΈΡΠΎΠΊ DestFields - ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»Π΅ΠΉ Π² TpFIBDataSet-ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ΅. Π€ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Π² ΡΠΏΠΈΡΠΊΠ°Ρ ΠΌΠΎΠ³ΡΡ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π»ΠΈ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ , ΠΈΠ½Π°ΡΠ΅ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ Π±ΡΠ΄Π΅Ρ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΠΌΡ Π²ΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π² TargetDS ΡΠ΅ΠΊΡΡΡΡ Π·Π°ΠΏΠΈΡΡ ΠΈΠ· SourceDS. ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π·Π΄Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ CacheRefresh, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠΎΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎΡΠ»Π΅ Π²ΡΡΠ°Π²ΠΊΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π΅Π΅ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° CacheDelete, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ (DeleteSQL), Π° ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° Π² ΠΏΠ°ΠΌΡΡΠΈ. Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ CacheRefreshByArrMap, CacheRefresh ΠΈ CacheDelete, ΠΊΠΎΠ΄ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½: ΠΌΡ ΠΊΠΎΠΏΠΈΡΡΠ΅ΠΌ Π·Π°ΠΏΠΈΡΡ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°-ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ-ΠΏΡΠΈΠ΅ΠΌΠ½ΠΈΠΊ ΠΈ ΡΠ΄Π°Π»ΡΠ΅ΠΌ Π΅Π΅ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°-ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°.
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² ΡΠΈΠΊΠ»Π΅, Π΅ΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΡΡΠ°Π·Ρ:
procedure TDualListForm.MoveAll(Select: Boolean);
var TmpDataSet: TpFIBDataSet;
begin
if Select then TmpDataSet := SourceDS else
TmpDataSet := TargetDS;
with TmpDataSet do begin
try
DisableControls;
First;
while not Eof do MoveRec(Select);
finally
EnableControls;
end;
end;
end;
ΠΡΡΠ°Π΅ΡΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΡ OnClick Π΄Π»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ:
procedure TDualListForm.ButtonlClick(Sender: TObject);
begin
MoveRec(True); // SourceDS -> TargetDS
end;
procedure TDualListForm.Button2Click(Sender: TObject);
begin
MoveRec(False); // TargetDS -> SourceDS
end;
procedure TDualListForm.Button3Click(Sender: TObnect);
begin
MoveAll(True), // SourceDS -> TargetDS
end;
procedure TDualListForm. Button4Click (Sender : TObject) ;
begin
MoveAll(False); // TargetDS -> SourceDS
end;
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΡΠΈΡ 2.76)
ΠΡΠ»ΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π½Π°ΠΆΠΈΠΌΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Button 1, ΡΠΎ Π·Π°ΠΏΠΈΡΠΈ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΡΡΡΡ ΠΈΠ· Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π² ΠΏΡΠ°Π²ΡΠΉ (ΡΠΈΡ. 2 77).
ΠΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π²Π½ΡΡΡΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π±ΡΡΠ΅ΡΠΎΠ², Π½Π΅ Π·Π°ΡΡΠ°ΠΆΠ²Π°ΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π±Π°Π·Π΅ ΠΠ°ΡΡΠ΄Ρ Ρ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ Π²ΡΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
OpenAsCIone - ΠΎΡΠΊΡΡΡΡ DataSet ΠΈ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ DataSet
CacheAppend - Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΠΊΠΎΠ½Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ°.
SwapRecords - ΠΎΠ±ΠΌΠ΅Π½ΡΡΡ Π·Π°ΠΏΠΈΡΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Π±ΡΡΠ΅ΡΠ΅.
CacheEdit - Π·Π°Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Ρ Π·Π°ΠΏΠΈΡΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Π±ΡΡΠ΅ΡΠ΅.
Cachelnsert - Π²ΡΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π±ΡΡΠ΅Ρ
CacheModify - ΠΎΠ±ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ Π±ΡΡΠ΅ΡΠ΅
LoadFromFile - Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π±ΡΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π°.
LoadFromStream - Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π±ΡΡΠ΅Ρ Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ°.
SaveToFile - ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π±ΡΡΠ΅Ρ Π² ΡΠ°ΠΉΠ».
SaveToStream - ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π±ΡΡΠ΅Ρ Π² ΠΏΠΎΡΠΎΠΊΠ΅
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ Π±ΡΡΠ΅ΡΠΎΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΎΠ΅ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠ»ΡΡΡΠ°ΡΡ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π±Π΅Π· Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
Π ΠΈΡ 2.76. ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π ΠΈΡ 2.77. ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π‘Π£ΠΠ InterBase Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Microsoft OLE DB
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠΈΠΈ
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ Π·Π°Π±Π»ΡΠΆΠ΄Π΅Π½ΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΡΡΠ»Ρ, ΡΡΠΎ Π‘Π£ΠΠ InterBase ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π° ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π° ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Borland. Π ΡΡΠΎΠΌΡ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΠΎΠ²Π°Π»ΠΎ ΡΠΎ, ΡΡΠΎ Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠΎΠΌΡ ΡΠ΅ΡΠ²Π΅ΡΡ Π±Π°Π· Π΄Π°Π½Π½ΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Delphi, C++ Builder ΠΈΠ»ΠΈ Kylix. ΠΠ»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ InterBase API ΠΈΠ»ΠΈ ODBC. Π Ρ ΠΎΡΡ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π° Π²ΡΠΎΡΠΎΠ΅ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΏΡΠ΅ΡΠ΅Π½Π·ΠΈΡΠΌΠΈ Π½Π° ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ, ΠΎΠ±Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° Π½Π΅ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅ΡΠ΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ, Π±Π°Π·ΠΈΡΡΡΡΠΈΡ ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡ . ΠΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ InterBase, ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π±ΡΠ»Π°. Π Π²ΠΎΠΏΡΠΎΡ ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ: ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΠΊΡΠΎ ΡΠ΅ΡΠΈΡΡΡ Π½Π°ΡΠ°ΡΡ ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ.
ΠΡΠ²Π΅Ρ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΠΎΠΏΡΠΎΡ Π΄Π°ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈ ΠΈΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΡ Π² ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ. ΠΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ, ΡΠ°ΠΊ ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ . Π ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Component Object Model (COM) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. ΠΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΡΡΠΏΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ InterBase ΠΎΡΠ»ΠΎΠΆΠ½ΡΠ»ΠΎΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ΠΌ Π³ΠΎΡΠΎΠ²ΠΎΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π‘ΠΠ-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠΎΠΉ Π‘Π£ΠΠ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄ InterBase Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Ρ Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π² ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π»ΠΈΠ±ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π‘Π£ΠΠ ΠΌΠ°Π»ΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠΎΠ·Π½Π°Π½Π½ΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ Π²ΡΠ΅ΠΌΡ. ΠΠΎ Π²ΡΠΎΡΠΎΠΌ, ΠΎΠΏΡΡΠΊΠ°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ΄ΠΎΠ·Π°ΡΡΠ°ΡΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΠ°ΡΡΡ Π² Π»ΠΎΠ²ΡΡΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² Π»ΡΡΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π² Ρ ΡΠ΄ΡΠ΅ΠΌ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΊΡΠ°Ρ Ρ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΠΎ ΠΎΡΠΎΠ·Π½Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ·Π΄Π½ΠΎ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ ΠΌΠ΅Π½ΡΡΡ.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠΏΡΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π‘ΠΠ-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ InterBase Π±ΡΠ»ΠΈ ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΠΏΠΎΠΏΡΡΠΊΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Visual Database Tools ΠΎΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Borland (VDBT). ΠΡΠΎ VCL-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ Visual Basic, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Ρ InterBase ΡΠ΅ΡΠ΅Π· Borland Database Engine. ΠΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° VDBT Π±ΡΠ»Π° Π³ΠΎΡΠΎΠ²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π‘ΠΠ-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ InterBase, Π° Π½Π΅ ΠΎΡΠΊΡΡΡΠΎΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Π»Π°.
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ OLE Database (OLE DB), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ , Π²ΡΠΏΡΡΡΠΈΠ»Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Microsoft, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΊΡΡΠΈΡΡΠ΅Ρ ΠΈ ΡΠ°ΠΌΡ Π‘ΠΠ-ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ. ΠΠΎ Open Source InterBase 6 Π½Π΅ ΠΈΠΌΠ΅Π» ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ OLE DB-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΎΡΡΠ°Π²Π°Π»ΠΎΡΡ, ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ OLE DB for InterBase, ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π½ΡΠ½Π΅ ΠΊΠ°ΠΊ IBProvider.
ΠΠ±Π·ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ IBProvider
* ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠΎ Π²ΡΠ΅ΠΉ Π»ΠΈΠ½Π΅ΠΉΠΊΠΎΠΉ Π‘Π£ΠΠ InterBase, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΠΈ 4 Ρ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΠΊΠ»ΠΎΠ½Π°ΠΌΠΈ InieiBase 6 - Firebird ΠΈ Yattil ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΡΠ°Π±ΠΎΡΡ IBProvider ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ GDS32.dll ΠΎΡ InterBase 4 (ΡΠΌ. Π³Π»Π°Π²Ρ "Π‘ΠΎΡΡΠ°Π² ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ InterBase" (Ρ. 4)). IBProvider ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠΎΠ²Π΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ° (ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ base level) ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ (Ρ Π΅. Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ GDS32.dll). Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΈΠ°Π»Π΅ΠΊΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
* ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΠ΅Ρ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ InterBase. ΠΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° BLOB-ΠΏΠΎΠ»Π΅ΠΉ (Π±ΠΈΠ½Π°ΡΠ½ΡΡ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ), ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΠΈ ΡΠΈΠΏΠΎΠ² DECIMAL/NUMERIC (ΡΠΌ. Π³Π»Π°Π²Ρ " Π’ΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ " (Ρ. 1)).
* ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° storage-ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ BLOB-ΠΏΠΎΠ»ΡΠΌΠΈ. ΠΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
* ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²Π΅ΡΡ ΡΠΏΠ΅ΠΊΡΡ OLE DB-ΡΠΈΠΏΠΎΠ². ΠΠΎΠΌΠΈΠΌΠΎ ΡΠΈΠΏΠΎΠ², Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ InterBase, IBProvider ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°, Π±ΡΠ»Π΅Π²Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΡΡΠΎΠΊΠΈ UNICODE ΠΈ Ρ. Π΄.
* ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² Π΄ΡΡΠ³ΠΎΠΉ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², Π±ΠΈΠ½Π°ΡΠ½ΠΎΠ³ΠΎ ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ BLOB-ΠΏΠΎΠ»Π΅ΠΉ. ΠΠ»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ NUMERIC ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΠ΅Π»ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ 64-Π±ΠΈΡΠΎΠ²ΡΡ ΡΠ΅Π»ΡΡ .
* ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ²ΠΎΠΈΠΌ ΡΠ΅ΡΡΡΡΠ°ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
* ΠΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ. ΠΠ»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π² ΡΠΎΡΡΠ°Π²Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π°ΠΆΠ½Π° Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ. ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ° ΠΏΠΎΠ²ΡΠ΅ΠΌΠ΅ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΌΠΎΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ° Π‘ΠΈ++ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΉ.