home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2001 October
/
Chip_2001-10_cd1.bin
/
zkuste
/
delphi
/
kompon
/
d45
/
ARDOCI.ZIP
/
dOCI_README.rus
< prev
next >
Wrap
Text File
|
2001-07-13
|
19KB
|
436 lines
dOCI 1.10 stable
=================
========================== ┬═╚╠└═╚┼! =============================
╙ Ωε∞∩εφσφ≥ ±∞σφΦδ± αΓ≥ε≡. ╥σ∩σ≡ⁿ Φ∞ Γδ ■±ⁿ - ╨ε∞αφ≈σφΩε └φΣ≡σΘ.
╧≡σµφΦΘ αΓ≥ε≡ Alex Buloichik Ωε∞∩εφσφ≥α∞Φ dOCI ßεδⁿ°σ φσ ταφΦ∞ασ≥±
Φ Γ±σ ∩≡αΓα Φ ∩εδφε∞ε≈Φ ∩σ≡σΣαδ ∞φσ.
╥αΩ ≈≥ε Γ±σ Γε∩≡ε±√ Φ ∩≡σΣδεµσφΦ ∩≡ε°≤ ∩Φ±α≥ⁿ ∩≡ ∞ΦΩε∞ ∞φσ.
===================================================================
========================== ┬═╚╠└═╚┼! =============================
┼±δΦ Γ√ Φ±∩εδⁿτ≤σ≥σ ±≥α≡≤■ (0.9) Γσ≡±Φ■ Ωε∞∩εφσφ≥ ≥ε ∩≡Φ ∩σ≡σ⌡εΣσ
φα φεΓ≤■ ∞επ≤≥ ΓετφΦΩφ≤≥ⁿ ∩≡εßδσ∞√ ±Γ ταφ√σ ± ≥σ∞ ≈≥ε Γσ≡±ΦΦ 1.0 Φ
Γ√°σ φα∞φεπε ßεδσσ ±εΓ∞σ±≥Φ∞√ ±ε ±≥αφΣα≡≥φ√∞Φ Σσδⁿ⌠εΓ±ΩΦ∞Φ Ωε∞∩εφσφ≥α∞Φ.
┬ ≈α±≥φε±≥Φ ≡αφⁿ°σ Σδ ταΓσΣσφΦ ∩εδσΘ τα∩≡ε±α Φ±∩εδⁿτεΓαδε±ⁿ
OraSQL.Query.AddField(..) ≥σ∩σ≡ⁿ ΣεßαΓδσφΦσ ∩εδσΘ ΦΣσ≥ ±≥αφΣα≡≥φ√∞ εß≡ατε∞
OraSQL.FieldDefs.Add(..)
===================================================================
╩ε∞∩εφσφ≥√ ∩≡ε≥σ±≥Φ≡εΓαφ√ Φ φε≡∞αδⁿφε ≡αßε≥α■≥ ∩εΣ Delphi 4,5. ┬∩εδφσ Γσ≡ε ≥φε
≈≥ε ßστ ΩαΩΦ⌡-φΦß≤Σⁿ ∩σ≡σΣσδεΩ Ωε∞∩εφσφ≥√ ß≤Σ≤≥ ≡αßε≥α≥ⁿ Φ ∩εΣ Delphi 3
(ΩεπΣα ≥ε εφΦ ≡αßε≥αδΦ Φ ∩εΣ Delphi 3 φε ± ≥σ⌡ ∩ε≡ Γφσ±σφε ∞φεπε Φτ∞σφσφΦΘ
Ωε≥ε≡√σ φα Delphi 3 φσ ≥σ±≥Φ≡εΓαδΦ±ⁿ)
╠εΘ e-mail lasersquard@yahoo.com,roma@axioma.da.ru
================================================================================
===============
╬╤╬┴┼══╬╤╥╚ !!!
===============
- ╨αßε≥α■≥ ∩εδφε±≥ⁿ■ ßστ BDE! ≥.σ ∩≡ΦδεµσφΦσ ≡ατ≡αßε≥αφεσ ± Φ±∩εδⁿτεΓαφΦσ∞
dOCI Ωε∞∩εφσφ≥ φσ ≥≡σß≤σ≥ ≤±≥αφεΓΩΦ BDE. ═σ≥≤ ∩≡εßδσ∞ ± Ωεφ⌠δΦΩ≥α∞Φ Γσ≡±ΦΘ
BDE.
- ┴εδⁿ°α ∩≡εΦτΓεΣΦ≥σδⁿφε±≥ⁿ ≥.Ω. φσ≥≤ ∩ε∞σµ≤≥ε≈φ√⌡ ≤φΦΓσ≡±αδⁿφ√⌡ ∩≡ε±δεσΩ
(ΩαΩ BDE) ∞σµΣ≤ ∩≡ΦδεµσφΦσ∞ Φ ßατεΘ.
- ╨αßε≥α ± ±σ≡Γσ≡α∞Φ Oracle 7.* Φ 8.* ∩≡Φ Φ±∩εδⁿτεΓαφΦΦ ΩδΦσφ≥α ε≥ Γσ≡±ΦΦ 8.*
- TOraSQL - ∞ε∙φ√Θ φα±δσΣφΦΩ TDataSet. ╠αΩ±Φ∞αδⁿφε ±εΓ∞σ±≥Φ∞ ±ε ±≥αφΣα≡≥φ√∞Φ
Ωε∞∩εφσφ≥α∞Φ (TQuery). ╨σαδΦτ≤σ≥ Γ±σ Γετ∞εµφε±≥Φ TDataSet Φ ΣεßαΓδ σ≥
∞φεπε φεΓ√⌡.
- ╧εδφα ∩εΣΣσ≡µΩα ε≡αΩδεΓ±ΩΦ⌡ ∩εδσΘ BLOB Φ CLOB.
- ┬ετ∞εµφε±≥ⁿ Γ√∩εδφ ≥ⁿ ⌡≡αφΦ∞√σ ∩≡ε÷σΣ≤≡√.
- ┬ετ∞εµφε±≥ⁿ Γ√∩εδφ ≥ⁿ Ω≤±ΩΦ PL/SQL ΩεΣα δ■ßεΘ ΣδΦφ√ ∩≡ ∞ε Φτ ΩδΦσφ≥±Ωεπε ∩≡ΦδεµσφΦ .
- ═α±≥≡εΘΩα ΩεδΦ≈σ±≥Γα τα∩Φ±σΘ ∩εδ≤≈ασ∞√⌡ τα εΣφε εß≡α∙σφΦσ Ω ßατσ. (φα∞φεπε ∩εΓ√°ασ≥
ß√±≥≡εΣσΘ±≥ΓΦσ ∩≡Φ ≡αßε≥σ ± ßεδⁿ°Φ∞Φ ≥αßδΦ÷α∞Φ)
- ╠ε∙φ√σ Φ ß√±≥≡√σ ≥αßδΦ÷√ Γ ∩α∞ ≥Φ.
TMemoryDataSet - TDataSet ±εΓ∞σ±≥Φ∞α Ωε∞∩εφσφ≥α. ╠εµσ≥ ∩εΩατ√Γα≥ⁿ Σαφφ√σ Γ
DBGridσ.
TAMemoryDataSet - ╥αßδΦ÷α Γ ∩α∞ ≥Φ φσ ±εΓ∞σ±≥Φ∞α ± TDataSet.
- ╠ε∙φ√σ Ωε∞∩εφσφ≥√ Σδ ±ετΣαφΦ Φ ≡αßε≥√ ± ΣΦφα∞Φ≈σ±ΩΦ∞Φ ∞α±±ΦΓα∞Φ Σδ Γ±σ⌡ ≥Φ∩εΓ Σαφφ√⌡.
(∩εΦ±Ω Σαφφ√⌡ ≡σαδΦτεΓαφ φα α±±σ∞ßδσ≡σ)
╤╬─┼╨╞└═╚┼
----------
┬ΓσΣσφΦσ
╨α±∩≡ε±≥≡αφσφΦσ
╬ß∙σσ ε∩Φ±αφΦσ
╚φ±≥αδ ÷Φ
╩αΩ ≡αßε≥α≥ⁿ ± Ωε∞∩εφσφ≥α∞Φ
╬∩Φ±αφΦσ
╧≡Φ∞σ≡√
╥σ±≥√ φα ∩≡εΦτΓεΣΦ≥σδⁿφε±≥ⁿ
ChangeLog
┬┬┼─┼═╚┼
--------
╩ε∞∩εφσφ≥√ ∩≡σΣφατφα≈σφ√ Σδ Σε±≥≤∩α Ω ±σ≡Γσ≡≤ Oracle 8 Φτ Delphi 4,5.
╬φΦ Φ±∩εδⁿτ≤■≥ ±≥αφΣα≡≥φ≤■ ßΦßδΦε≥σΩ≤ OCI (Oracle Call Interface) Ωε≥ε≡α
≤±≥αφαΓδΦΓασ≥± ∩≡Φ ≤±≥αφεΓσ Oracle Client for Windows 9x/NT/2000
╧εΣΣσ≡µΦΓα■≥± ε≡αΩδεΓ±ΩΦσ ≥Φ∩√ BLOB Φ CLOB.
╤ Γσ≡±ΦΦ 1.0 BLOB√ ≡αßε≥α■≥ φε≡∞αδⁿφε Φ ≤ Ωε∞∩εφσφ≥ φα±δσΣφΦΩεΓ TDataSet.
(≤ φα±δσΣφΦΩεΓ TDataSet ∩εΩα ≥εδⁿΩε φα ≈≥σφΦσ)
╨αßε≥α■≥ ≥εδⁿΩε ± ΩδΦσφ≥ε∞ Oracle8, φε ∞εµφε ≥αΩ ⌡εΣΦ≥ⁿ Φ Ω Oracle7,
Φ±∩εδⁿτ≤ ΩδΦσφ≥εΓ Γε±ⁿ∞√⌡. ╫≥ε Ωα±ασ≥± Delphi 4,5 - ∩ε≈≥Φ φΦ≈σπε ±∩σ÷Φ⌠Φ≈σ±Ωεπε
φσ≥, Ω≡ε∞σ ≥επε, ≈≥ε Φ±∩εδⁿτ≤σ≥± ±≥αφΣα≡≥φ√Θ ≡σΣαΩ≥ε≡ TParam, Ωε≥ε≡√Θ ≡αφσσ
φαΣε ß√δε ∩Φ±α≥ⁿ ±α∞ε∞≤. ╩≥ε ⌡ε≈σ≥ - ∞εµσ≥ τα≥ε≈Φ≥ⁿ ∩εΣ Delphi3 - ±Ωαµ≤ ßεδⁿ°εσ
±∩α±Φßε Φ ≡ατδΦ≈Φ ΓΩδ■≈≤ Γ ±ΓεΘ Φ±⌡εΣφΦΩ. ╥αΩ µσ σ±δΦ Ωε∞≤ φαΣε - ∩ε≡≥Φ≡≤Θ≥σ
∩εΣ Oracle7 - ≥α∞ φΦ≈σπε ±δεµφεπε φσ≥, φε ∞φσ φσ φα ≈σ∞ ε≥δαµΦΓα≥ⁿ.
┬σ≡±Φ■ 1.0 φσ ßε■±ⁿ φατ√Γα≥ⁿ stable ≥.Ω. εφα ∩≡ε⌡εΣΦ≥ εßΩα≥Ω≤ φα ≡σαδⁿφε∞ ∩≡εσΩ≥σ
Γ ⌠Φ≡∞σ Γ Ωε≥ε≡εΘ ±≈α± ≡αßε≥α■. C Γσ≡±ΦΦ 0.9 ß√δε Φ±∩≡αΓδσφε ∞φεπε ßαπεΓ Φ ±≈α±
Ωε∞∩εφσφ≥√ ≡αßε≥α■≥ ΣεΓεδⁿφε ß√±≥≡ε Φ ±≥αßΦδⁿφε.
▀ ∩ε±≥α≡α■±ⁿ ∩≡σδεµΦ≥ⁿ Γ±σ ≤±ΦδΦ ∩ε ε≥δεΓ≤ ßαπεΓ, φε ßεδⁿ°≤■ ≡εδⁿ Φπ≡α■≥
Γα°Φ ε≥τ√Γ√ Φ ε∩Φ±αφΦσ τα∞σ≈σφφ√⌡ φσΣε±≥α≥ΩεΓ - φσ Γ±σ ∞επ≤ ±α∞ε±≥ε ≥σδⁿφε
ε≥δεΓΦ≥ⁿ.
╠εΘ e-mail - lasersquard@yahoo.com, roma@axioma.da.ru ΦδΦ 2:450/93.30
╩≥ε ⌡ε≈σ≥ ∩εδ≤≈α≥ⁿ ±ΓσµΦσ Γσ≡±ΦΦ Φ ∩α≥≈Φ - φα∩Φ°Φ≥σ ∞φσ ∩Φ±ⁿ∞ε.
┬ φα±≥ε ∙σσ Γ≡σ∞ ∩εΣΣσ≡µΦΓα■≥± Σαφφ√σ ±δσΣ≤■∙Φ⌡ ≥Φ∩εΓ :
String,
Boolean,
Float,
Date,
Time,
DateTime,
Integer,
SmallInt,
Word,
Currency,
BLOB,
CLOB;
╧εΣΣσ≡µΦΓα■≥± Φ Γ ∩εδ ⌡, Φ Γ ∩α≡α∞σ≥≡α⌡.
Float Φ Integer - Γ±σ ∩εφ ≥φε.
Boolean - ΩαΩ NUMBER(1) - 1 ßαΘ≥. ═≤δσΓ√σ τφα≈σφΦ - False, φσ φ≤δσΓ√σ - True.
String - Γ ∩α∞ ≥Φ - ΩαΩ ±≥≡εΩα ±Φ∞ΓεδεΓ ⌠ΦΩ±Φ≡εΓαφεπε ≡ατ∞σ≡α ΩαΩ ∩εδσ.
Date - ⌡≡αφΦ≥± ΩαΩ TTimeStamp.Date(integer) - ΣφσΘ ± 1.01.0001
Time - ⌡≡αφΦ≥± ΩαΩ TTimeStamp.Time(integer)
DateTime - ⌡≡αφΦ≥± ΩαΩ TTimeStamp
╧εΩα φσ≥≤ ±ached updates, ∩εδ LargeInt.
┼±δΦ ±≡ε≈φε φ≤µφε cached updates ΦδΦ LargeInt ≥ε ∩Φ°Φ≥σ ∞φσ Φ εφΦ ß√±≥≡σσ ß≤Σ≤≥
πε≥εΓ√.
╨└╤╧╨╬╤╥╨└═┼═╚┼
---------------
╧≡Φφ÷Φ∩ ≡α±∩≡ε±≥≡αφσφΦ - Freeware ± Φ±⌡εΣφΦΩα∞Φ.
┬√ ∞εµσ≥σ Φ±∩εδⁿτεΓα≥ⁿ Φ⌡ Γ ΩαΩΦ⌡ ≤πεΣφε ∩≡εσΩ≥α⌡ (Γ ≥ε∞ ≈Φ±δσ Φ Ωε∞∞σ≡≈σ±ΩΦ⌡).
┬√ ≥αΩ µσ ∞εµσ≥σ Σσδα≥ⁿ δ■ß√σ Φτ∞σφσφΦ Γ Φ±⌡εΣφ√⌡ ΩεΣα⌡, φε εß Γ± ≈σ±ΩΦ⌡ Φτ∞σφσφΦ ⌡
µσδα≥σδⁿφε ε∩εΓσ∙α≥ⁿ αΓ≥ε≡α (≥ε ßΦ°ⁿ ∞σφ ). ▀ Γφσ±≤ ┬α°Φ Φτ∞σφσφΦ Γ ΩεΣ Φ Γ√δεµ≤
εßφεΓδσφφ√σ Γσ≡±ΦΦ φα εß∙σσ εßετ≡σφΦσ.
╬┴┘┼┼ ╬╧╚╤└═╚┼
--------------
TOraDB - ΩεφφσΩ≥ Ω ßατσ Φ ≤∩≡αΓδσφΦσ ≥≡αφταΩ÷Φ ∞Φ. ─δ ⌡εµΣσφΦ Ω ßατσ Γ±σ
Ωε∞∩εφσφ≥√ Φ±∩εδⁿτ≤■≥ ²≥ε≥ Ωε∞∩εφσφ≥. ┬±σ Γ√τεΓ√ OCI ±ε±≡σΣε≥ε≈σφ√ Φ∞σφφε
Γ ²≥εΘ Ωε∞∩εφσφ≥σ.
TAOraSQL - φσ∩ε±≡σΣ±≥Γσφφε Γ√∩εδφ σ≥ Γ√τεΓ√ OCI (Γ√∩εδφσφΦσ τα∩≡ε±εΓ Φ
Ω≤±ΩεΓ PL/SQL ΩεΣα). ▀Γδ σ≥± ∩εδφε⌠≤φΩ÷Φεφαδⁿφ√∞ Ωε∞∩εφσφ≥ε∞, ∩≡Φ∞σφ σ≥±
Σδ ±δ≤≈ασΓ ΩεπΣα φσ φ≤µφα ±εΓ∞σ±≥Φ∞ε±≥ⁿ ± TDataSet, α Φ∞σφφε σ±δΦ φ≤µφε
Γ√∩εδφΦ≥ⁿ ⌡≡αφΦ∞≤■ ∩≡ε÷σΣ≤≡≤ ΦδΦ Ω≤±εΩ PL/SQL ΩεΣα ΦδΦ τα∩≡ε± ≡στ≤δⁿ≥α≥√
Ωε≥ε≡επε φσ φ≤µφε ∩εΩατ√Γα≥ⁿ Γ TDBGridσ.
╨αßε≥ασ≥ ß√±≥≡σσ TOraSQL ≥.Ω φσ Γ√∩εδφ σ≥ δΦ°φΦ⌡ ΣσΘ±≥ΓΦΘ ±Γ ταφ√⌡ ±
±εΓ∞σ±≥Φ∞ε±≥ⁿ■ ± TDataSet.
╧ετΓεδ σ≥ εß≡α∙α≥ⁿ± Ω ≡στ≤δⁿ≥α≥α∞ τα∩≡ε±α ∩ε φε∞σ≡≤ ±≥≡εΩΦ.
╟α εΣφε εß≡α∙σφΦσ Ω ßατσ Γ√≥ πΦΓασ≥ ±≥εδⁿΩε τα∩Φ±σΘ ±ΩεδⁿΩε ≤Ωαταφε
Γ ±ΓεΘ±≥Γσ FetchCount. ╧≡Φ ≡αßε≥σ ± ßεδⁿ°Φ∞Φ ≥αßδΦ÷α∞Φ ≡σΩε∞σφΣ≤σ≥± ≤ΓσδΦ≈ΦΓα≥ⁿ
τφα≈σφΦσ FetchCount. ╧ε ≤∞εδ≈αφΦ■ FetchCount=100 ≈≥ε ±εε≥Γσ≥±≥Γ≤σ≥ ±≡σΣφΦ∞
≡ατ∞σ≡α∞ Σαφφ√⌡.
┼±δΦ ±Σσδα≥ⁿ σ∞≤ ∩≡ε±≥ε Open ≥ε τα∩≡ε± ε≥Ω≡εσ≥± φε φΦΩαΩΦσ Σαφφ√σ φσ
Γ√≥ φ≤≥± Σδ ²≥επε φαΣε Φ±∩εδⁿτεΓα≥ⁿ δΦßε ReadAll ∩ε±δσ Open δΦßε OpenAll.
┬ ²≥Φ⌡ ±δ≤≈α ⌡ φα ΩδΦσφ≥α Γ√≥ φ≤≥± Γ±σ ±≥≡εΩΦ τα∩≡ε±α. ┼±δΦ Γ±σ ±≥≡εΩΦ φσ
φ≤µφ√ ≥ε ∞εµφε Φ±∩εδⁿτεΓα≥ⁿ ⌠-÷Φ■ ReadRecord(RecordNum) Ωε≥ε≡α ß≤Σσ≥ ≥ φ≤≥ⁿ
∩ε FetchCount τα∩Φ±σΘ τα ≡ατ ∩εΩα φσ ß≤Σσ≥ Γ√≥ φ≤≥ε ßεδⁿ°σ ΦδΦ ±≥εδⁿΩε µσ
±≥≡εΩ ±ΩεδⁿΩε τα≥≡σßεΓαδΦ.
TOraSQL - wrapper ΓεΩ≡≤π TAOraSQL Σδ ±εΓ∞σ±≥Φ∞ε±≥Φ ± TDataSet. └φαδεπ TQuery,
TStoredProc. ╧ετΓεδ σ≥ ταΣα≥ⁿ τα∩≡ε± Ω ßατσ, ∩εδ (∩≡επ≡α∞φε Φ Γ ΣΦταΘφσ≡σ)
Γ εß∙σ∞ ≡αßε≥α ± TOraSQL ΦΣσ≥ ΩαΩ ±ε ±≥αφΣα≡≥φ√∞Φ Ωε∞∩εφσφ≥α∞Φ Delphi Σδ
Σε±≥≤∩α Ω Σαφφ√∞. ╧ε ≤∞εδ≈αφΦ■ ∩≡Φ ε≥Ω≡√≥ΦΦ τα∩≡ε±α Γ√≈Φ≥√Γασ≥± ±≥εδⁿΩε τα∩Φ±σΘ
±ΩεδⁿΩε φαΣε Σδ ∩εΩατα Γ π≡ΦΣσ. ╫≥ε ß√ ∩≡ε≈Φ≥α≥ⁿ ßεδⁿ°σ τα∩Φ±σΘ ∞εµφε
Φ±∩εδⁿτεΓα≥ⁿ ⌠-÷ΦΦ OpenAll, ReadAll, VGoto.
TAOraUpdateSQL - Ωε∞∩εφσφ≥α Σδ ∩εΣ±εσΣΦφσφΦ Ω TOraSQL Φ ταΣαφΦ τα∩≡ε±εΓ φα
Φτ∞σφσφΦσ (INSERT,DELETE,UPDATE) Σαφφ√⌡ Γ ≥αßδΦ÷σ. Γδ σ≥± αφαδεπε∞ TUpdateSQL
Γ Delphi ≥εδⁿΩε φσ ±εΣσ≡µΦ≥ ≡σΣαΩ≥ε≡α ΩαΩ Γ TUpdateSQL ∩ε²≥ε∞≤ τα∩≡ε±√
Φτ∞σφσφΦ Σαφφ√⌡ φαΣε ∩Φ±α≥ⁿ Γ≡≤≈φ≤■ Γ ±ΓεΘ±≥Γα DeleteSQL,InsertSQL,ModifySQL
┬±σ Ωδα±±√ φα⌡εΣ ≥± Γ ±δσΣ≤■∙Φ⌡ ⌠αΘδα⌡:
DynamicArrays.pas - ∞εΦ Ωε∞∩εφσφ≥√ Σδ ≡αßε≥√ ± ΣΦφα∞Φ≈σ±ΩΦ∞Φ ∞α±±ΦΓα∞Φ.
Φ±∩εδⁿτ≤■≥± ∞φεπΦ∞Φ Σ≡≤πΦ∞Φ Ωε∞∩εφσφ≥α∞Φ. ▌≥ε≥ ∞εΣ≤δⁿ ∞εµσ≥
Φ±∩εδⁿτεΓα≥ⁿ± ε≥Σσδⁿφε ε≥ dOCI Ωε∞∩εφσφ≥ ≥.Ω. ±εΣσ≡µΦ≥ ∞φεπε
Ωδα±±εΓ Σδ ≡αßε≥√ ± ∞α±±ΦΓα∞Φ.
VirtualDataSet.pas - φσΩε≥ε≡εσ ≤±εΓσ≡°σφ±≥ΓεΓαφΦσ TDataSet Σδ ≤Σεß±≥Γα.
ε≥ φσπε φα±δσΣ≤■≥± Γ±σ Ωε∞∩εφσφ≥√ ≥≡σß≤■∙Φσ ±εΓ∞σ±≥Φ∞ε±≥Φ ±
TDataSet.
DataSetQuery.pas - ±εΣσ≡µΦ≥ φα±δσΣφΦΩα TVirtualDataSet Ωε≥ε≡√Θ ±εΣσ≡µΦ≥
90% ⌠≤φΩ÷Φεφαδⁿφε±≥Φ Ωεφσ≈φ√⌡ Ωε∞∩εφσφ≥. ─δ ≡ατ≡αßε≥≈ΦΩα
Ωε∞∩εφσφ≥ Ωδα±± TDataSetQuery ∩≡σΣ±≥αΓδ σ≥ φαΦßεδⁿ°ΦΘ Φφ≥σ≡σ± ≥.Ω.
± ∩σ≡σΩ≡√≥Φσ∞ φσ±ΩεδⁿΩΦ⌡ ∞σ≥εΣεΓ Φτ φσπε ∞εµφε ±Σσδα≥ⁿ φε≡∞αδⁿφ√Θ
Ωε∞∩εφσφ≥ Σδ Σε±≥≤∩α Ω δ■ß√∞ Σαφφ√∞ (φα∩≡Φ∞σ≡ δσπΩε ±Σσδα≥ⁿ
MemoryTable). ╤εΣσ≡µΦ≥ ≥αΩ µσ Ωδα±± TABlobStream, Ωε≥ε≡√Θ
Φ±∩εδⁿτ≤σ≥± Γφ≤≥≡Φ TDataSetQuery Σδ Σε±≥≤∩α Ω ∩εδ ∞ ≥Φ∩α BLOB.
OraDB.pas - ±εΣσ≡µΦ≥ Ωε∞∩εφσφ≥ TOraDB Σδ ΩεφφσΩ≥α Ω ╬≡αΩδ≤, αφαδεπ
TDatabase Γ Delphi.
AOraSQL.pas - ±εΣσ≡µΦ≥ φσ∩ε±≡σΣ±≥Γσφφε Ωδα±± TAOraSQL Φ Φ±∩εδⁿτ≤σ∞√σ Φ∞ µσ 2
Ωδα±±α TAOraField Φ TAOraParam Σδ ∩≡σΣ±≥αΓδσφΦ ∩εδσΘ Φ ∩α≡α∞σ≥≡εΓ
τα∩≡ε±α.
OraSQL.pas - ±εΣσ≡µΦ≥ Ωδα±± TOraSQL.
OraDefines.pas - ±εΣσ≡µΦ≥ ≡ατδΦ≈φ√σ Ωεφ±≥αφ≥√ Φ ε∩≡σΣσδσφΦ Σδ OCI Γ√τεΓεΓ
OraError.pas - ±εΣσ≡µΦ≥ Ωδα±± EOraError ∩ε≡εµΣσφ√Θ ε≥ Exception.
╚═╤╥└╦▀╓╚▀
----------
╬≥Ω≡εΘ≥σ package dOCI4.dpk (dOCI5.dpk Σδ Delphi 5). ═αµ∞Φ≥σ Ωφε∩ΩΦ "Compile", α
∩ε≥ε∞ "Install" Φ Ωε∞∩εφσφ≥√ ≤±≥αφεΓ ≥± .
╚±Ωα≥ⁿ Φ⌡ ±δσΣ≤σ≥ φα ±≥≡αφΦ÷σ "Data Access" ∩αδΦ≥≡√ Ωε∞∩εφσφ≥εΓ Delphi.
╩└╩ ╨└┴╬╥└╥▄ ╤ ╩╬╠╧╬═┼═╥└╠╚
---------------------------
TOraDB - Σδ ΩεφφσΩ≥α φα Oracle (αφαδεπ TDatabase Γ Delphi)
╤ΓεΘ±≥Γα :
Active - Φ ≥αΩ ±φε
DBLogin, DBPassword - Φ∞ Φ ∩α≡εδⁿ Γ ßατ≤
DBServer - ±ΦφεφΦ∞ ±σ≡Γσ≡α Ω Ωε≥ε≡ε∞≤ ΩεφσΩ≥Φ∞± (±ετΣασ≥± ± ∩ε∞ε∙ⁿ■ "Oracle
Net8 Easy Config" δΦßε ≡≤≈Ωα∞Φ ∩≡ε∩Φ±√Γασ≥± Γ ⌠αΘδσ
%oraclehome%/net80/admin/tnsnames.ora)
OraSessionIsolationLevel - ≤≡εΓσφⁿ Φτεδ ÷ΦΦ ≥≡αφταΩ÷ΦΘ Σδ ±σ±±ΦΦ.
┬±σ φα≈Φφα■∙Φσ± Γ ²≥εΘ ±σΩ÷ΦΦ ≥≡αφτΓΩ÷ΦΦ ß≤Σ≤≥ Φ∞σ≥ⁿ ²≥ε≥ ≤≡εΓσφⁿ
Φτεδ ÷ΦΦ (σ±δΦ εφ φσ ∩σ≡σε∩≡σΣσδσφ ± ∩ε∞ε∙ⁿ■ OraTransIsolationLevel).
OraTransIsolationLevel - ≤≡εΓσφⁿ Φτεδ ÷ΦΦ φεΓεΘ ≥≡αφταΩ÷ΦΦ. ┼±δΦ tiDefault
≥ε ≤≡εΓσφⁿ ßσ≡σ≥± Φτ OraSessionIsolationLevel.
╠σ≥εΣ√:
Open,Close - ±ΩεφσΩ≥Φ≥ⁿ± /ε≥ΩεφσΩ≥Φ≥ⁿ±
StartTransaction,
CommitTransaction,
RollbackTransaction - ≤∩≡αΓδσφΦσ ≥≡αφταΩ÷Φ ∞Φ.
TOraSQL - τα∩≡ε±√ Ω Oracle (±εΓ∞σ±≥Φ∞α ± TDataSet)
╤ΓεΘ±≥Γα :
Database - Ω ΩαΩεΘ ßατσ ⌡εΣΦ≥ⁿ(Ωε∞∩εφσφ≥α TOraDB)
SQL - ≥σΩ±≥ τα∩≡ε±α (ΩαΩ Γ±σπΣα - ∩α≡α∞σ≥≡√ φα≈Φφα■≥± ± ':')
Params - ±∩Φ±εΩ ∩α≡α∞σ≥≡εΓ.
FetchCount - Σδ SELECT - ±ΩεδⁿΩε τα∩Φ±σΘ Γ√≥ πΦΓα≥ⁿ τα εΣφε εß≡α∙σφΦσ Ω ±σ≡Γσ≡≤.
╩αΩ ∩εΩατ√Γασ≥ ∩≡αΩ≥ΦΩα, τφα≈σφΦσ φα ≤≡εΓφσ 1 - ²≥ε ∩≡Φ∞σ≡φε
±Ωε≡ε±≥ⁿ BDE.
Prepare - ∩εΣπε≥εΓΦ≥ⁿ τα∩≡ε± Ω Γ√∩εδφσφΦ■. ┬√τ√Γα≥ⁿ φσεß τα≥σδⁿφε.
UnPrepare - ε±ΓεßεΣΦ≥ⁿ ∩≡ΦΓ τΩ≤, ±Σσδαφ≤■ Prepare. ┬√τ√Γα≥ⁿ φσεß τα≥σδⁿφε.
─ε±≥≤∩ Ω Σαφφ√∞ ≡σΩε∞σφΣ≤σ≥± Σσδα≥ⁿ ≈σ≡στ ±δσΣ≤■∙Φσ ∞σ≥εΣ√ :
GetFieldValue - ∩εδ≤≈Φ≥ⁿ τφα≈σφΦσ ∩εδ . ═α∞φεπε ß√±≥≡σσ FieldByName('').As...
φε φσ∩≡αΓΦδⁿφε ε≥Σασ≥ τφα≈σφΦ τα∩Φ±σΘ φα⌡εΣ ∙Φ⌡± Γ ≡σµΦ∞σ ≡σΣαΩ≥Φ≡εΓαφΦ .
GetFieldHArray - ∩εδ≤≈Φ≥ⁿ ≤Ωατα≥σδⁿ φα ∞α±±ΦΓ τφα≈σφΦΘ ∩εδ
GetFieldNullHArray - ∩εδ≤≈Φ≥ⁿ ≤Ωατα≥σδⁿ φα ∞α±±ΦΓ ∩≡ΦτφαΩεΓ Null ΦδΦ NOT Null
(∩ε ∩ε±δσΣφΦ∞ 2-∞ ∞σ≥εΣα∞ ∩εδστφε ΓφΦ∞α≥σδⁿφε ∩≡ε±∞ε≥≡σ≥ⁿ ⌠αΘδ DynamicArrays.pas)
ReadAll - ∩≡ε≈Φ≥α≥ⁿ Γ±σ Σαφφ√σ ± ±σ≡Γσ≡α φα δεΩαδⁿφ≤■ ∞α°Φφ≤
VGoto - ∩≡ε≈Φ≥α≥ⁿ Γ±σ τα∩Φ±Φ Σε ≤ΩαταφεΘ, σ±δΦ εφΦ σ∙σ φσ ∩≡ε≈Φ≥αφ√
TAOraUpdateSQL - τα∩≡ε±√ Φτ∞σφσφΦ Σαφφ√⌡
DeleteSQL, InsertSQL, ModifySQL - Φ ≥αΩ ∩εφ ≥φε Σδ ≈σπε ∩≡σΣφατφα≈σφ√
╧≡Φ∞σ≡√ ∩≡Φ∞σφσφΦ TAOraUpdateSQL σ±≥ⁿ Γ Φ±⌡εΣφ√⌡ ≥σΩ±≥α⌡ ∞εΣ≤δ OraSQL.pas.
╨αßε≥α ± BLOB :
╧≡Φ ≡αßε≥σ ± TOraSQL BLOB ∩εδ ∞εµφε ≈Φ≥α≥ⁿ Φ±∩εδⁿτ≤ ±≥αφΣα≡≥φ√σ ∞σ≥εΣ√ ε≥
TDataSet.
─δ τα∩Φ±Φ ∩εΩα φαΣε Φ±∩εδⁿτεΓα≥ⁿ TAOraSQL. ╫≥ε ß√ ∞εµφε ß√δε τα∩Φ±√Γα≥ⁿ ∩εδ
BLOB τα∩≡ε± Σεδµσφ ±εΣσ≡µα≥ⁿ ⌠≡ατ≤ "FOR UPDATE" Φφα≈σ ∩≡Φ ∩ε∩√≥Ωσ τα∩Φ±α≥ⁿ Γ
∩εδσ BLOB ΓετφΦΩασ≥ ε°ΦßΩα. (²≥ε ≥αΩα ⌠Φ≈α ε≡αΩδα).
TAOraSQL Φ∞σσ≥ ⌠≤φΩ÷ΦΦ Σδ ≡αßε≥√ ± BLOB:
GetLobLength - ∩εδ≤≈Φ≥ⁿ ≡ατ∞σ≡ Σαφφ√⌡ Γ ßαΘ≥α⌡ ±εΣσ≡µα∙Φ⌡± Γ ∩εδσ.
ReadBlob - ≈Φ≥ασ≥ Σαφφ√σ Φτ ταΣαφφεπε BLOB ∩εδ Γ ß≤⌠σ≡.
WriteBlob - τα∩Φ±√Γασ≥ Σαφφ√σ Φτ ταΣαφφεπε ß≤⌠σ≡α Γ BLOB ∩εδσ.
ReadBlobToStream - ≈Φ≥ασ≥ Γσ±ⁿ BLOB Γ ∩ε≥εΩ
WriteBlobFromStream - ∩σ≡στα∩Φ±√Γασ≥ BLOB ∩εδσ Φτ ∩ε≥εΩα
WriteBlobParam
ReadBlobParam
=============== ┬═╚╠└═╚┼! ==================
─δ ε≥Ω≡√ΓαφΦ SELECT-τα∩≡ε±εΓ φαΣε Γ√τ√Γα≥ⁿ
Open/Close, Σδ ε±≥αδⁿφ√⌡ - ExecSQL.
============================================
╧≡Φ∞σ≡√
-------
*** ╧εδ≤≈σφΦσ Ω≤≡±ε≡α Φτ τα∩≡ε±α.
─δ ²≥επε φαΣε φα∩Φ±α≥ⁿ τα∩≡ε±, ∩α≡α∞σ≥≡ε∞ Ωε≥ε≡επε Γδ σ≥± Ω≤≡±ε≡ Φ
∩≡Φ±ΓεΦ≥ⁿ ²≥ε∞≤ ∩α≡α∞σ≥≡≤ ≥Φ∩ Σαφφ√⌡ ftCursor Φ ≥Φ∩ ∩α≡α∞σ≥≡α ptResult.
═α∩≡Φ∞σ≡, Γ√τεΓ StoredProc, ΓετΓ≡α∙α■∙σΘ Ω≤≡±ε≡ :
BEGIN :Result := GetData(12); END;
!!!! ┬ ≥σΩ±≥σ SQL ∞εµφε ∩Φ±α≥ⁿ PL/SQL-ßδεΩ.
*** ┼±δΦ φαΣε Γ√≥ φ≤≥ⁿ τα∩≡ε±ε∞ Γ±σπε φσ±ΩεδⁿΩε ≈Φ±σδ (τα∩≡ε± ≥αΩεΘ ≈≥ε
ΓετΓ≡α∙ασ≥ φσ±ΩεδⁿΩε ∩εδσΘ Φτ εΣφεΘ ±≥≡εΩΦ ≥αßδΦ÷√) ≥ε δ≤≈°σ Φ±∩εδⁿτεΓα≥ⁿ
Σδ ²≥επε ∩α≡α∞σ≥≡√, α φσ ∩εδ , φα∩≡Φ∞σ≡ :
BEGIN SELECT Name,Index INTO :Name,:Index FROM Table1 WHERE ...... ; END;
Φ ≡στ≤δⁿ≥α≥ ∩εδ≤≈α≥ⁿ ≈σ≡στ ∩α≡α∞σ≥≡√
Name:=OraSQL.ParamByName('Name').AsString
Ind:=OraSQL.ParamByName('Index').AsInteger
∩≡αΓΣα ≥Φ∩√ ∩α≡α∞σ≥≡εΓ Name Φ Index φαΣε ß≤Σσ≥ ταΣα≥ⁿ ≡≤≈Ωα∞Φ Γ
ΣΦταΘφσ≡σ ΦδΦ Γ ΩεΣσ ∩≡επ≡α∞∞√.
*** ─ε∩εδφΦ≥σδⁿφ√σ ∩≡Φ∞σ≡√ ∞εµφε φαΘ≥Φ Γ ⌠αΘδσ OraSQL.pas.
╥┼╤╥█ ═└ ╧╨╬╚╟┬╬─╚╥┼╦▄═╬╤╥▄
---------------------------
╧≡ΦßδΦτΦ≥σδⁿφ√σ τα∞σ≡√ ±Ωε≡ε±≥Φ ∩εΩαταδΦ(±σΩ≤φΣ√) :
BDE OCI(FetchCount=1) OCI(FetchCount=1000)
INSERT 24 19
SELECT 27 26 4
╥σ±≥√ Γ√∩εδφ δΦ±ⁿ :
±σ≡Γσ≡ - oracle 8.0.5(linux) - p-200/64ram
ΩδΦσφ≥ - NT4 - pII-233/64ram
±σ≥Ωα - 10∞ßΦ≥ φσταπ≡≤µσφφα
≡αßε≥α °δα ± φσßεδⁿ°εΘ ≥αßδΦ÷σΘ Γ 10000 τα∩Φ±σΘ
CHANGE LOG
----------
v 1.10 (06.04.2001)
* Γ TADataSet φσΩε≥ε≡√σ ∩εδ Γ√φσ±σφ√ Φτ protected Γ private α ±±√δΩΦ φα φΦ⌡
≤ φα±δσΣφΦΩεΓ τα∞σφσφ√ ±εεßΓσ≥±≥Γ≤■∙Φ∞Φ Γ√τεΓα∞Φ ∩≡ε∩σ≡≥σΘ Φ ⌠-÷ΦΘ TADataSeta
* ─εßαΓδσφ ΓΦ≡≥≤αδⁿφ√Θ ∞σ≥εΣ CreateAField ± ∩ε∞ε∙ⁿ■ Ωε≥ε≡επε ∞εµφε τα±≥αΓΦ≥ⁿ
TADataSet ±εΣσ≡µα≥ⁿ ±∩Φ±εΩ ∩εδσΘ φσ ≥εδⁿΩε Ωδα±±α TAField, α δ■ßεπε Σ≡≤πεπε
φα±δσΣφΦΩα TAField.
* ╙ß≡αφ τα φσφαΣεßφε±≥ⁿ■ ∞σ≥εΣ AddField Γ TAOraSQL. ╥σ∩σ≡ⁿ Γ∞σ±≥ε AddField ≡αßε≥ασ≥
∩σ≡σΩ≡√≥√Θ CreateAField.
* ─εßαΓδσφα ∩≡εΓσ≡Ωα ≈≥ε ≥σΩ±≥ τα∩≡ε±α ∩≤±≥εΘ. ╥σ∩σ≡ⁿ Γ∞σ±≥ε ±≥≡αφφεπε "═≤δσΓεΘ
±≈σ≥≈ΦΩ Φ≥σ≡α÷ΦΘ" ε≥ ORACLE Γ√Σασ≥± Γ∩εδφσ ∩εφ ≥φεσ "SQL statement is empty."
v 1.09 (19.03.2001)
* ─εßαΓδσφ Γ AOraSQL ∞σ≥εΣ OpenDatabase.
* ╤Σσδαφ ≡σΣαΩ≥ε≡ Σδ AOraUpdateSQL. ╥σ∩σ≡ⁿ τα∩≡ε±√ φα Φτ∞σφσφΦσ Σαφφ√⌡ ∞εµφε
φσ ∩Φ±α≥ⁿ ≡≤±Ωα∞Φ α πσφσ≡Φ≥ⁿ ± ∩ε∞ε∙ⁿ■ ≡σΣαΩ≥ε≡α ΩαΩ ²≥ε ±Σσδαφε Γ ±≥αφΣα≡≥φε∞
TUpdateSQL.
v 1.08 (27.02.2001)
* ┬ ±εεß∙σφΦΦ εß ε°ΦßΩσ 2 ≡ατα Γ√ΓεΣΦδ± φε∞σ≡ ε°ΦßΩΦ.
* ╬°ΦßΩΦ ± φε∞σ≡α∞Φ 20010-20050 τα≡στσ≡ΓΦ≡εΓαφ√ Σδ Φφ⌠ε≡∞α÷Φεφφ√⌡ ±εεß∙σφΦΘ
∩εδⁿτεΓα≥σδσΘ Φτ ßατ√ Φ ε°ΦßΩα∞Φ φσ ±≈Φ≥α■≥± . ╧≡Φ Φ⌡ εß≡αßε≥Ωσ Γ±
ε≥δαΣε≈φα Φφ⌠ε≡∞α÷Φ Γ√≡στασ≥± , ε±≥ασ≥± ≥εδⁿΩε ∩εδⁿτεΓα≥σδⁿ±Ωεσ ±εεß∙σφΦσ.
τα ∩εΣ≡εßφε±≥ ∞Φ ±∞. Ωε∞σφ≥α≡ΦΦ Γ OraError.pas
v 1.07 (08.01.2001)
* ─εßαΓδσφ√ event√ BeforeInitOCI Φ AfterInitOCI. ╤ Φ⌡ ∩ε∞ε∙ⁿ■ ∞εµφε Φτ∞σφΦ≥ⁿ
φατΓαφΦσ OCI ßΦßδΦε≥σΩΦ Φ Σα≥ⁿ Accept φα σ╕ ΦφΦ÷ΦαδΦτα÷Φ■.
* ─εßαΓδσφ√ 2 property OraSessionIsolationLevel Φ OraTransIsolationLevel
Ωε≥ε≡√σ ∩ετΓεδ ■≥ ταΣα≥ⁿ ≤≡εΓφΦ Φτεδ ÷ΦΦ ≥≡αφταΩ÷ΦΘ ΩαΩ Γ ÷σδε∞ Σδ ±σ±±Φ
≥αΩ Φ Σδ ΩαµΣεΘ ≥≡αφταΩ÷ΦΦ ε≥Σσδⁿφε.
v 1.06 (21.12.2000)
* 2 procedures CopyStructure added in TADataSet.
v 1.05
* ┬ TADataSet Ωε∞∞σφ≥α≡ΦΦ Φ ε∩Φ±αφΦσ ⌠-÷ΦΘ ≈α±≥Φ≈φε ∩σ≡σΓσΣσφε φα αφπδΦΘ±ΩΦΘ
* ╧σ≡σ±∞ε≥≡σφ Γσ±ⁿ ΩεΣ ⌠αΘδεΓ AOraSQL.pas, ADataSet.pas Φ AMemoryDataSet.pas
─εßαΓδσφε ∞φεπε ∩≡εΓσ≡εΩ Φ φε≡∞αδⁿφ√⌡ ±εεß∙σφΦΘ εß ε°ΦßΩα⌡.
* ╧σ≡σΦ∞σφεΓαφε φσ±ΩεδⁿΩε ∞σ≥εΣεΓ Γ TADataSet.
* ┬ TADataSet Φτ AMemoryDataSet Γφσ±σφ ∞σ≥εΣ AddField.
* ╚φΦ÷ΦαδΦτα÷Φ ±∩Φ±Ωα ∩α≡α∞σ≥≡εΓ Γφσ±σφα Γ TADataSet, α Φτ σπε φα±δσΣφΦΩεΓ
≤ß≡αφα.
v 1.04
* ┬ AOraSQL ΣεßαΓδσφ ∞σ≥εΣ GetLobLength.
v 1.03
* ┬ Ωδα±±σ DataSetQuery Query ∩σ≡σφσ±σφα Φτ public Γ protected.
▌≥ε ∩ετΓεδΦ≥ δσπ≈σ ΣσΣσΩ≥Φ≡εΓα≥ⁿ ε°ΦßΩΦ ∩≡Φ ∩σ≡σ⌡εΣσ ± Γσ≡±ΦΦ 0.9 Ω ßεδσσ
∩ετΣφΦ∞.
v 1.02
* ┬ TOraDB ΓΓσΣσφ√ event√
BeforeLogin (σ±≥ⁿ ∩α≡α∞σ≥≡ Accept),
AfterLogin, BeforeCommit, AfterCommit,OnStartTransaction.
─≤∞α■ ≈≥ε Φ⌡ ±∞√δ ∩εφ ≥σφ Φτ φατΓαφΦΘ.
v 1.01
* ╚±∩≡αΓδσφ ßαπ ∩≡Φ εß≡α∙σφΦΦ Ω OldValue δ■ßεπε ∩εδ σ±δΦ φσ ß√δε ≡σΣαΩ≥Φ≡εΓαφΦ
≥ε ΓετΓ≡α∙αδε Γ±σπΣα NULL Γ∞σ±≥ε φ≤µφεπε τφα≈σφΦ .
* ╥σ≡σ≡ⁿ Γ√τεΓ Refresh ∩σ≡σε≥Ω≡√Γασ≥ τα∩≡ε± ≥.σ. εßφεΓδ σ≥ Σαφφ√σ Φτ ±σ≡Γσ≡α.
v 1.0:
* ╚±∩≡αΓδσφε ∞φεπε ∞σδΩΦ⌡ ßαπεΓ, ≤δ≤≈°σφα ±εΓ∞σ±≥Φ∞ε±≥ⁿ ± Σσδⁿ⌠εΓ√∞Φ Ωε∞∩εφσφ≥α∞Φ,
≥σ∩σ≡ⁿ ∩εδ ∞εµφε ±ετΣαΓα≥ⁿ ΩαΩ Γ Σσδⁿ⌠σ (fielddefs.add)
* ─εßαΓδσφα ∩εΣΣσ≡µΩα ∩εδσΘ Blob. ≡αßε≥α≥ⁿ ± φΦ∞Φ ∞εµφε ΩαΩ Γ Σσδⁿ⌠σ φε∩εΩα ≥εδⁿΩε
φα ≈≥σφΦσ, Σδ τα∩Φ±Φ φ≤µφε Φ±∩εδⁿτεΓα≥ⁿ TAOraSQL.
* ╧α≡α∞σ≥≡√ ≤µσ φσ φαΣε ταΣαΓα≥ⁿ ≡≤≈Ωα∞Φ, ∩≡Φ Φτ∞σφσφΦΦ τα∩≡ε±α εφΦ εßφεΓδ ■≥± ,
ε±≥ασ≥± ≥εδⁿΩε ΓΓσ±≥Φ Φ⌡ ⌡α≡αΩ≥σ≡Φ±≥ΦΩΦ.
v 0.4:
* ╘ΦΩ±√ Σδ Fetch, Prepare, ≡αßε≥√ ± Σα≥α∞Φ, ∩α≡α∞σ≥≡√
* ╥σ∩σ≡ⁿ αδπε≡Φ≥∞ Prepare ≡αßε≥ασ≥ ΩαΩ Γ Delphi - σ±δΦ τα∩≡ε± ∩≡σ∩α≡Φ≥ⁿ ≡≤≈Ωα∞Φ,
∩ε ταΩ≡√≥Φ■ εφ φσ ≡α±∩≡σ∩α≡ΦΓασ≥±
v 0.3:
* ┬√δΦταφε σ∙σ ßεδⁿ°σ ;)
* ╤Σσδαφα ∩εΣΣσ≡µΩα ∩ε≈≥Φ Γ±σ⌡ ≥Φ∩εΓ ∩εδσΘ, Γ ≥ε∞ ≈Φ±δσ Blob - ⌡ε≥ φσ ≈σ≡στ
±≥αφΣα≡≥φ√σ ⌠≤φΩ÷ΦΦ
* ╤Σσδαφε φε≡∞αδⁿφεσ Γ√≥ πΦΓαφΦσ ∩εδσΘ Φτ τα∩≡ε±α - ≥σ∩σ≡ⁿ φσ εß τα≥σδⁿφε
εß· Γδ ≥ⁿ Γ±σ ∩εδ Γ Ωε∞∩εφσφ≥σ, σ±δΦ Φ⌡ φσ≥ - Γ√≥α∙α≥± .
v 0.2:
* ┬√δΦταφε ε≈σφⁿ ∞φεπε Γ± Ωεπε.
* ╙∩ε≡ Σε≈σφα ∩εΣΣσ≡µΩα ≥Φ∩εΓ ∩εδσΘ. ╤σΘ≈α± ≡αßε≥α■≥ String,Boolean,Float,
Date,Integer, φε ≡αßε≥α■≥ ΓστΣσ. ╚τ∞σφσφα ±≥≡≤Ω≥≤≡α ⌡≡αφσφΦ ∩≡ε≈Φ≥αφ√⌡
Σαφφ√⌡. ╥σ∩σ≡ⁿ εφΦ ⌡≡αφ ≥± Γ ⌠ε≡∞α≥σ Delphi - ≥αΩ ß≤Σσ≥ ßεδⁿ°σ ±Ωε≡ε±≥ⁿ ∩≡Φ
εß≡α∙σφΦΦ Γ ∩α∞ ≥Φ. ╩εφΓσ≡≥α÷Φ Σαφφ√⌡ ±Σσδαφα ≈α±≥Φ≈φε φα α±±σ∞ßδσ≡σ.
* ╤Σσδαφ Σε±≥≤∩ Ω Σαφφ√∞ Γ εß⌡εΣ TDataSet - ΩαΩ Ω εß√≈φ√∞ ∞α±±ΦΓα∞. ▌≥ε Σα±≥
ßεδⁿ°≤■ ±Ωε≡ε±≥ⁿ ∩≡Φ ßσπαφΦΦ ∩ε Σαφφ√∞ Γ ∩α∞ ≥Φ.
* ╧ε ΓΦδα±ⁿ ∩εΣΣσ≡µΩα Ω≤≡±ε≡εΓ Γ ∩α≡α∞σ≥≡α⌡. ╥σ∩σ≡ⁿ δ■ßεΘ τα∩≡ε± ∞εµσ≥ Γσ≡φ≤≥ⁿ
Ω≤≡±ε≡.
* ╬≥δεΓΦδ± ßαπ, Ωε≥ε≡√Θ ∩εΩα φσ ΓΦΣφε ΩαΩ Φ±∩≡αΓΦ≥ⁿ - σ±δΦ Γ√ ≈σ≡στ
FieldsEditor Γ√ßΦ≡ασ≥σ ∩εδ , ± Ωε≥ε≡√∞Φ ß≤Σσ≥σ ≡αßε≥α≥ⁿ, Φ ΓΩδ■≈ασ≥σ
φσ Γ±σ ∩εδ , Ωε≥ε≡√σ Γ√ßΦ≡α■≥± τα∩≡ε±ε∞, ∩≡Φ φσΓ√ßε≡σ ∩ε±δσΣφσπε ∩εδ τα∩≡ε±α
σ±≥ⁿ ∩≡εßδσ∞√.
With best regards,
Andrey Romanchenko. lasersquard@yahoo.com, roma@axioma.da.ru