ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Визуализация гСофизичСских Π΄Π°Π½Π½Ρ‹Ρ…

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠœΠ΅Ρ‚ΠΎΠ΄ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ содСрТимоС ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ поля класса TLogging. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ‚ΠΈΠΏΠ° TADO Query. ΠšΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сначала посылаСт запрос Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π±Π°Π·Ρ‹ всСх ΠΏΠΎΠ»Π΅ΠΉ ΠΊΡ€ΠΎΠΌΠ΅ blob-поля (MAS). Π—Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ всС массивы, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ полям Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ распрСдСлив для Π½ΠΈΡ… ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π”Π°Π»Π΅Π΅ посылаСтся запрос ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ всСх записСй… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Визуализация гСофизичСских Π΄Π°Π½Π½Ρ‹Ρ… (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠ˜ΠΠ˜Π‘Π’Π•Π Π‘Π’Π’Πž ΠžΠ‘Π ΠΠ—ΠžΠ’ΠΠΠ˜Π― Π Π•Π‘ΠŸΠ£Π‘Π›Π˜ΠšΠ˜ БЕЛАРУБЬ Π£Ρ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ образования

«Π“ΠΎΠΌΠ΅Π»ΡŒΡΠΊΠΈΠΉ государствСнный унивСрситСт ΠΈΠΌΠ΅Π½ΠΈ Ѐранциска Π‘ΠΊΠΎΡ€ΠΈΠ½Ρ‹»

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚ ΠšΠ°Ρ„Π΅Π΄Ρ€Π° матСматичСских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ управлСния ΠšΠ£Π Π‘ΠžΠ’ΠΠ― Π ΠΠ‘ΠžΠ’Π Визуализация гСофизичСских Π΄Π°Π½Π½Ρ‹Ρ… Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ:

Π‘Ρ€ΠΈΡ‚Π°Π½ΠΎΠ² Π•Π²Π³Π΅Π½ΠΈΠΉ АлСксандрович Π“ΠΎΠΌΠ΅Π»ΡŒ 2014

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

1. НазначСниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств

1.1 Π’ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ

1.2 Визуализация ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

2. ВстроСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Oracle

3. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ

3.1 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

3.2 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ

4. ВзаимодСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния

4.1 ВзаимодСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΡΠΊΡ€Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ для ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

4.2 ВзаимодСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΡΠΊΡ€Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ для ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’ Π½Π°ΡΡ‚оящСС врСмя с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ соврСмСнных Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ΡΡ гСофизичСскиС исслСдования скваТин.

ГСофизичСскиС исслСдования скваТин — комплСкс ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… для контроля Π² ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠΉ плоскости скваТины Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°ΠΌΠ΅Ρ‚Ρ€Π° скваТины, Π΅Ρ‘ ΠΈΡΠΊΡ€ΠΈΠ²Π»Π΅Π½ΠΈΡ, заводнённости, содСрТания солСй Π² Π²ΠΎΠ΄Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. ИсслСдования вСдутся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ гСофизичСского оборудования Π½Π΅Ρ„Ρ‚Π΅Π³Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ комплСкса.

Они Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΡΠΊΠ²Π°ΠΆΠΈΠ½Π΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΏΠΎ ΡΡ€Π΅Π΄ΡΡ‚Π²Π°ΠΌ этого Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… свСдСний, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ иклиномСтрия ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆ oracle

ЦСлью курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ являлось Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡ€Π΅Π΄Π΅ Delphi, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π‘Π£Π‘Π” Oracle, которая содСрТит Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ гСофизичСскиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΡ… Π² Π²ΠΈΠ΄Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ². Π’ Ρ‡Π°ΡΡ‚ности, Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄Π²Π΅ экранныС Ρ„ΠΎΡ€ΠΌΡ‹: Ρ„ΠΎΡ€ΠΌΠ° ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΈ Π΄Π»Ρ ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°.

Π˜Π½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡ, ΠΌΠ΅Ρ‚ΠΎΠ΄ опрСдСлСния основных ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (ΡƒΠ³Π»Π° ΠΈ Π°Π·ΠΈΠΌΡƒΡ‚Π°), Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‰ΠΈΡ… искривлСниС Π±ΡƒΡ€ΠΎΠ²Ρ‹Ρ… скваТин, ΠΏΡƒΡ‚Ρ‘ΠΌ контроля ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ с Ρ†Π΅Π»ΡŒΡŽ построСния фактичСских ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ бурящихся скваТин. По Π΄Π°Π½Π½Ρ‹ΠΌ Π·Π°ΠΌΠ΅Ρ€ΠΎΠ² ΡƒΠ³Π»Π° ΠΈ Π°Π·ΠΈΠΌΡƒΡ‚Π° искривлСния скваТины, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ ствола Π² Ρ‚ΠΎΡ‡ΠΊΠ΅ Π·Π°ΠΌΠ΅Ρ€Π° строится ΠΏΠ»Π°Π½ (ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°) — проСкция оси скваТины Π½Π° Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ — Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ проСкция Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ ΠΌΠ°Π³Π½ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ€ΠΈΠ΄ΠΈΠ°Π½Π°, ΡˆΠΈΡ€ΠΎΡ‚Π½ΡƒΡŽ ΠΈΠ»ΠΈ Π»ΡŽΠ±ΡƒΡŽ Π΄Ρ€. Π’Π°ΠΊΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ принимаСтся ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ составляСтся гСологичСский Ρ€Π°Π·Ρ€Π΅Π· ΠΏΠΎ ΠΌΠ΅ΡΡ‚ΠΎΡ€ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ, проходящий Ρ‡Π΅Ρ€Π΅Π· ΠΈΡΡΠ»Π΅Π΄ΡƒΠ΅ΠΌΡƒΡŽ скваТину.

Π”Π°Π½Π½Ρ‹Π΅ ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ скваТины ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ:

— Π΄Π»Ρ обСспСчСния бурСния скваТины Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ

— ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ истинных Π³Π»ΡƒΠ±ΠΈΠ½ залСгания гСологичСских ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²,

— ΠΏΡ€ΠΈ построСнии ΠΊΠ°Ρ€Ρ‚ ΠΈ Ρ€Π°Π·Ρ€Π΅Π·ΠΎΠ², ΠΊΠΎΠ³Π΄Π° для этих Ρ†Π΅Π»Π΅ΠΉ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ½Ρ‹Π΅ ΠΈ Π±ΡƒΡ€ΠΎΠ²Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹.

ΠšΠ°Ρ€ΠΎΡ‚Π°ΠΆ — исслСдованиС литосфСры ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ создания (Π±ΡƒΡ€Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΄Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΠ΅) ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·ΠΎΠ½Π΄ΠΈΡ€ΠΎΠ²ΠΎΡ‡Π½Ρ‹Ρ… скваТин ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ элСктричСскими, ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹ΠΌΠΈ, Ρ€Π°Π΄ΠΈΠΎΠ°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ, акустичСскими ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ.

Π’ Ρ…ΠΎΠ΄Π΅ выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

1) Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… для ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

2) ΠŸΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½Π° структура Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ

3) Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ, содСрТащая поля, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для отобраТСния ΠΊΠ°Ρ€Ρ‚Ρ‹

4) Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ отобраТСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² для ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ

5) Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ отобраТСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² для ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

6) Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ отобраТСния Π³Π»ΡƒΠ±ΠΈΠ½ для ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ области части Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

7) Для пСрСчислСнных Π²Ρ‹ΡˆΠ΅ Π·Π°Π΄Π°Ρ‡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ собствСнныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ ΠΊΠ»Π°ΡΡΡ‹ с ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΈ ΡΠ²ΠΎΠΉΡΡ‚Π²Π°ΠΌΠΈ.

8) Π‘Ρ‹Π»Π° Π½Π°Π»Π°ΠΆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ Π‘Π£Π‘Π” Oracle.

1. НазначСниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ для осущСствлСния Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Π΅ΠΎΡ„изичСскими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΡ… Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ Π² ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Delphi. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ Π΄Π²Π΅ экранныС Ρ„ΠΎΡ€ΠΌΡ‹, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’ Ρ‡Π°ΡΡ‚ности, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Ρ„ΠΎΡ€ΠΌ находятся строки мСню, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ, Π²ΠΎΠ·Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. ΠŸΠΎΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Ρ„ΠΎΡ€ΠΌ:

1.1 Π’ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ

Π˜Π½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΡ прСдставлСна Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡƒΡ… Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ скваТины Π² ΠΏΡ€ΠΎΡΡ‚ранствС, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹Π΅ Π² Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²ΠΎΠΉ систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ.

Для опрСдСлСнности ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ ось абсцисс скваТины ОΠ₯, ось ΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ — ОY, ось Π°ΠΏΠΏΠ»ΠΈΠΊΠ°Ρ‚ — OZ.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ отобраТаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠžΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ось OZ, Ρ‚. Π΅. нСпосрСдствСнно Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ скваТины. Абсциссы прСдставлСны смСщСниями скваТины ΠΎΡ‚ ΠΏΠ΅Ρ€ΠΏΠ΅Π½Π΄ΠΈΠΊΡƒΠ»ΡΡ€Π° ΠΊ ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΠΈ Π·Π΅ΠΌΠ»ΠΈ, осями OX ΠΈ OY.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ прСдставлСн ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΠ΅ΠΉ пространства XYZ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ XY, Π³Π΄Π΅ ΠžX соотвСтствуСт оси абсцисс Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Π° ΠžY — ΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, послС построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΡ€ΠΈΠ²ΠΎΠΉ Π² ΠΏΡ€ΠΎΡΡ‚ранствС Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ этого ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ направлСния бурСния скваТины.

Π’Π°ΠΊΠΆΠ΅, стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ скваТины Π½Π° Π²ΡΠ΅ΠΉ протяТСнности Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΊΠ°ΠΊ всС Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹, Ρ‚Π°ΠΊ ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹. ΠŸΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½Π½Ρ‹ΠΉ для ΠΈΡ… ΠΎΡ‚обраТСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ позволяСт:

ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈΡ… Ρ€ΡΠ΄ΠΎΠΌ с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠΌ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ

ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ части Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΏΡ€ΠΈ этом ΡΡ‚Π°Ρ€Π°ΡΡΡŒ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΈΡ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΊ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ, Π½ΠΎ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π΅ Π½Π°Π»Π°ΠΆΠΈΠ²Π°Π»ΠΈΡΡŒ Π½Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ рСгулирования видимости ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Π³Π»ΡƒΠ±ΠΈΠ½, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π’Π°ΠΊΠΆΠ΅ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊ Π½Π°Π»ΠΎΠΆΠ΅Π½ Π½Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ мСстности, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ проходят гСофизичСскиС исслСдования. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ пСрСмСщСния ΠΏΠΎ ΠΊΠ°Ρ€Ρ‚Π΅, Π² Ρ‚ΠΎΠΌ числС ΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Ρ‚ΡŒ Π΅Ρ‘ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.

НСобходимыС Π΄Π°Π½Π½Ρ‹Π΅ для построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΈ ΠΎΡ‚обраТСния ΠΊΠ°Ρ€Ρ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

1.2 Визуализация ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆ прСдставляСт собой ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ количСство Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… собой измСрСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… характСристик Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ высотС. Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ находятся Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ для Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сравнСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… характСристик. НазваниС Π³Ρ€Π°Ρ„ΠΈΠΊΠ° соотвСтствуСт ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°.

НСобходимыС Π΄Π°Π½Π½Ρ‹Π΅ для построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для построСния ΠΈ ΠΎΡ‚обраТСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅: Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π³Π»ΡƒΠ±ΠΈΠ½Π°, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ измСрСния, шаг, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ производятся измСрСния, количСство ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ ΠΈ ΡΠ°ΠΌΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Π΅ характСристики. Π‘ΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π³Π»ΡƒΠ±ΠΈΠ½ ΠΈ Ρ…арактСристик ΠΈ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π³Ρ€Π°Ρ„ΠΈΠΊ. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° прСдставлСны Π³Π»ΡƒΠ±ΠΈΠ½Π°ΠΌΠΈ, Π° Π°Π±ΡΡ†ΠΈΡΡΡ‹ — ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹ΠΌΠΈ характСристиками.

Π’Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π² ΡΠ»ΡƒΡ‡Π°Π΅ отсутствия характСристик для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³Π° с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ мСстополоТСниС тСкстового Ρ„Π°ΠΉΠ»Π° с Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.

ОбС части прилоТСния, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ сказано Ρ€Π°Π½Π½Π΅Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ† Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… находятся Π² Π‘Π£Π‘Π” Oracle.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΅ΠΌΡƒ манипуляции с ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Ρ‚Π΅ΠΌ самым, посылая Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ запросы Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€ с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для этого прилоТСния. ПослС Ρ‡Π΅Π³ΠΎ Π½Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ эти запросы ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΏΠΎΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΅ΠΌΡƒ Π΄Π°Π½Π½Ρ‹Π΅, Π»ΠΈΠ±ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡΠ°ΠΌΠΎΠΉ Π±Π°Π·Π΅. (Рисунок 1)

Рисунок 1

2. ВстроСнныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Oracle

VARCHAR2 (Ρ€Π°Π·ΠΌΠ΅Ρ€) [BYTE|CHAR]

БимвольноС ΠΏΠΎΠ»Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ Π΄ΠΎ 4000 Π±Π°ΠΉΡ‚, минимальная Π΄Π»ΠΈΠ½Π° 1 Π±Π°ΠΉΡ‚. ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ CHAR ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для опрСдСлСния Π΄Π»ΠΈΠ½Ρ‹ строки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊ называСмая символьная сСмантика; BYTE ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для этой Ρ†Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ байтовая сСмантика.

NVARCHAR2 (Ρ€Π°Π·ΠΌΠ΅Ρ€)

ПолС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ с ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 4000 Π±Π°ΠΉΡ‚.

NUMBER (p, s)

Числовой столбСц с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ (p) ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΎΠΌ (s). Π Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 1 Π΄ΠΎ 38, Π° ΠΌΠ°ΡΡˆΡ‚Π°Π± — ΠΎΡ‚ -84 Π΄ΠΎ 127.

LONG

ПолС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, Ρ€Π°Π·ΠΌΠ΅Ρ€ поля Π΄ΠΎ 2 Π“Π±Π°ΠΉΡ‚

DATE

ЗначСния Π΄Π°Ρ‚, начиная с 1 ΡΠ½Π²Π°Ρ€Ρ 4712 Π³. Π΄ΠΎ Π½.э. ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ 31 Π΄Π΅ΠΊΠ°Π±Ρ€Ρ 9999 Π³.

BINARY_FLOAT

32-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.

BYNARY_DOUBLE

64-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.

TIMESTAMP (Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ сСкунд)

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Π΄Π°Ρ‚Ρƒ ΠΈ Π²Ρ€Π΅ΠΌΡ (Π³ΠΎΠ΄, мСсяц, число; часы, ΠΌΠΈΠ½ΡƒΡ‚Ρ‹, сСкунды ΠΈ Π΄ΠΎΠ»ΠΈ сСкунд). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ точности сСкунд ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΎΡ‚ 0 Π΄ΠΎ 9; Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, обСспСчиваСтся Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π½ΠΎΠΉ сСкунды. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ 6 (ΠΎΠ΄Π½Π° миллионная сСкунды).

TIMESTAMP (Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ_сСкунд) WITH TIME ZONE

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ TIMESTAMP, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ смСщСниС, связанноС с Ρ‡Π°ΡΠΎΠ²Ρ‹ΠΌ поясом.

TIMESTAMP (Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ_сСкунд) WITH LOCAL TIME ZONE

Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡ…ΠΎΠΆ Π½Π° TIMESTAMP (Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ сСкунд) WITH TIME ZONE Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ:

1) ΠŸΡ€ΠΈ сохранСнии Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π°Ρ‚Π° приводится ΠΊ Ρ‡Π°ΡΠΎΠ²ΠΎΠΌΡƒ поясу Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

2) ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠ΅Ρ€Π΅ΡΡ‡Π΅Ρ‚Π΅ Π½Π° Ρ‡Π°ΡΠΎΠ²ΠΎΠΉ пояс сСанса.

INTERVAL YEAR (Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ_Π³ΠΎΠ΄Π°) TO MONTH

Π₯Ρ€Π°Π½ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ΅ Π² Π³ΠΎΠ΄Π°Ρ… ΠΈ ΠΌΠ΅ΡΡΡ†Π°Ρ…. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ Π³ΠΎΠ΄Π° опрСдСляСт число Ρ†ΠΈΡ„Ρ€ Π² ΠΏΠΎΠ»Π΅ YEAR Π΄Π°Ρ‚Ρ‹.

INTERVAL DAY (Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ_Π΄Π½Π΅ΠΉ) TO SECOND (Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ сСкунд)

Π₯Ρ€Π°Π½ΠΈΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ΅ Π² Π΄Π½ΡΡ…, часах, ΠΌΠΈΠ½ΡƒΡ‚Π°Ρ…, сСкундах ΠΈ Π΄ΠΎΠ»ΡΡ… сСкунды. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒ Π΄Π½Π΅ΠΉ Π»Π΅ΠΆΠΈΡ‚ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 9. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ 2. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ сСкунд Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ сСкунд для Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… TIMESTAMP. Оно Ρ‚Π°ΠΊΠΆΠ΅ Π»Π΅ΠΆΠΈΡ‚ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 9, Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π°Π²Π½ΠΎ 6.

RAW (Ρ€Π°Π·ΠΌΠ΅Ρ€)

ПолС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ (Π΄ΠΎ 2000 Π±Π°ΠΉΡ‚).

LONG RAW

ПолС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ (Π΄ΠΎ 2 Π“Π±Π°ΠΉΡ‚), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ для хранСния Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

ROWID

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ (Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ base-64) Π² Π²ΠΈΠ΄Π΅ строки ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ адрСса строки ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π­Ρ‚ΠΎΡ‚ адрСс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ для всСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

UROWID [(Ρ€Π°Π·ΠΌΠ΅Ρ€)]

Π‘Ρ‚Ρ€ΠΎΠΊΠ° (Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ base-64), ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ логичСский адрСс строки индСкс-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹; Π΄Π»ΠΈΠ½Π° Π΄ΠΎ 4000 Π±Π°ΠΉΡ‚.

CHAR (Ρ€Π°Π·ΠΌΠ΅Ρ€) [BYTE|CHAR]

БимвольноС ΠΏΠΎΠ»Π΅ фиксированной Π΄Π»ΠΈΠ½Ρ‹, опрСдСляСмой Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€.

МинимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΠ½Ρ‹ Ρ€Π°Π²Π½ΠΎ 1 Π±Π°ΠΉΡ‚, максимальноС — 2000 Π±Π°ΠΉΡ‚. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ BYTE ΠΈ CHAR ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠΉ ΠΈΠ»ΠΈ символьной сСмантики, ΠΊΠ°ΠΊ ΠΈ VARCHAR2.

NCHAR (Ρ€Π°Π·ΠΌΠ΅Ρ€)

ПолС для размСщСния символов фиксированной Π΄Π»ΠΈΠ½Ρ‹ (состоящих ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π±Π°ΠΉΡ‚ΠΎΠ²). ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ поля — 2000 Π±Π°ΠΉΡ‚. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — 1 Π±Π°ΠΉΡ‚.

CLOB

Π‘ΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ большой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚Π½Ρ‹Π΅ символы; ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠ±Π°ΠΉΡ‚Π½Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚Π½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ символов. ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ€Π°Π²Π΅Π½ (4 Π“Π±Π°ΠΉΡ‚-1)*DB_BLOCK_SIZE.

NCLOB

АналогичСн CLOB Π·Π° Ρ‚Π΅ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… вмСсто символов ΠΈΠ· Π½Π°Π±ΠΎΡ€ΠΎΠ² символов фиксированной Π΄Π»ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ символы Unicode. ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ€Π°Π²Π΅Π½ (4 Π“Π±Π°ΠΉΡ‚ — 1)*DB_BLOCK_SIZE.

BLOB

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ большой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ€Π°Π²Π΅Π½ Ρ€Π°Π²Π΅Π½ (4 Π“Π±Π°ΠΉΡ‚ — 1)*DB_BLOCK_SIZE.

BFILE

Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΎΠΉ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», хранящийся Π²Π½Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ доступны с ΡΠ΅Ρ€Π²Π΅Ρ€Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ выполняСтся экзСмпляр Oracle. ΠœΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ€Π°Π²Π΅Π½ 4 Π“Π±Π°ΠΉΡ‚.

3 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… karotaj, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π΅Ρ‘ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° самих Ρ‚Π°Π±Π»ΠΈΡ†.

Π’Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π° Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… geo_incr, которая ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ. Π’Π°Π±Π»ΠΈΡ†Π° Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ ΠΊΠ°Ρ€Ρ‚Π΅ мСстности, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ происходит Π±ΡƒΡ€Π΅Π½ΠΈΠ΅ скваТины.

3.1 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

Бостав Ρ‚Π°Π±Π»ΠΈΡ† Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ пСрСчислСны всС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…:

НаимСнованиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

ОписаниС

WELL_VID

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ свСдСния ΠΎ Π²ΠΈΠ΄Π°Ρ… ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

WELL_METOD

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ свСдСния ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

WELL_KRIV

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ свСдСния ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°Ρ…, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΡ… характСристики ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°. Бвязана с WELL_VID ΠΈ WELL_METOD

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†

Π’Π°Π±Π»ΠΈΡ†Π° WELL_VID:

НаимСнованиС поля

Вип поля

ОписаниС

COD

NUMBER

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ записи

NAME

VARCHAR2

НаимСнованиС Π²ΠΈΠ΄Π° отобраТСния ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

Π’Π°Π±Π»ΠΈΡ†Π° WELL_METOD:

НаимСнованиС поля

Вип поля

ОписаниС

COD

NUMBER

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ записи

METOD

VARCHAR2

НаимСнованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

GLUB

NUMBER

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ Π³Π»ΡƒΠ±ΠΈΠ½Π°

SHAG

NUMBER

РасстояниС, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ выполняСтся ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ характСристики скваТины

NUM

NUMBER

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ характСристик скваТины

MAS

BLOB

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ± ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… характСристиках скваТины

Π’Π°Π±Π»ΠΈΡ†Π° WELL_KRIV:

НаимСнованиС поля

Вип поля

ОписаниС

COD

NUMBER

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ записи

COD_VID

NUMBER

Π’Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡. Код ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π²ΠΈΠ΄Π° ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

COD_METOD

NUMBER

Π’Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡. Код ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

3.2 Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ

Бостав Ρ‚Π°Π±Π»ΠΈΡ† Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ пСрСчислСны всС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…:

НаимСнованиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

ОписаниС

FIELD_HDR

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ свСдСния ΠΎ ΠΌΠ΅ΡΡ‚ороТдСниях

MAP

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ свСдСния ΠΎ ΠΊΠ°Ρ€Ρ‚Π΅ мСстности

WELL_HDR

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ свСдСния ΠΎ ΡΠΊΠ²Π°ΠΆΠΈΠ½Π°Ρ…

WELL_INCR

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ MAP:

НаимСнованиС поля

Вип поля

ОписаниС

COD

NUMBER

ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ записи

NUM

NUMBER

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρ‚ΠΎΡ‡Π΅ΠΊ Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹

COLOR

NUMBER

Π¦Π²Π΅Ρ‚ элСмСнта изобраТСния

KOOR_X

BLOB

ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ элСмСнта ΠΊΠ°Ρ€Ρ‚Ρ‹

KOOR_Y

BLOB

ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹

4. ВзаимодСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Алгоритм Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния

4.1 ВзаимодСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΡΠΊΡ€Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ для ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

Экранная Ρ„ΠΎΡ€ΠΌΠ° для ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ° прСдставляСт собой ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Рисунок 2

Экранная Ρ„ΠΎΡ€ΠΌΠ° содСрТит панСль мСню Ρ‚ΠΈΠΏΠ° TMain Menu с ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ «Π”Π°Π½Π½Ρ‹Π΅"(с ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ «Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…»), «Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ"(с ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ «ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ») ΠΈ ΠΏΠ°Π½Π΅Π»ΡŒ Ρ‚ΠΈΠΏΠ° TPanel Log (наслСдован ΠΎΡ‚ TPanel), Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ для ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню «Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…» ΠΈ «ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ» прСдусмотрСны горячиС клавиши. ΠŸΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ мСню «ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ» Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния Π½Π΅ Π΄ΠΎΡΡ‚ΡƒΠΏΠ΅Π½ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚.ΠΊ. ΠΏΠΎΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ свСдСния, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ.

Π“Ρ€Π°Ρ„ΠΈΠΊ прСдставлСн Ρ‚ΠΈΠΏΠΎΠΌ TChart Log (наслСдован ΠΎΡ‚ TChart), ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит ΠΎΠ΄Π½Ρƒ ΡΠ΅Ρ€ΠΈΡŽ Ρ‚ΠΈΠΏΠ° TLine Series Log (наслСдован ΠΎΡ‚ TLine Series). Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° TChart Log ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² ΡΠΏΠΈΡΠΎΠΊ Ρ‚ΠΈΠΏΠ° TObject List.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню «ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…» Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… заносятся Π² ΡΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий поля для хранСния этих Π΄Π°Π½Π½Ρ‹Ρ…. ВзаимодСйствиС с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… осущСствляСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° TADO Query, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ посылаСт sql-запрос ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ WELL_METOD для получСния Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ занСсти ΠΈΡ… Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° TLogging, содСрТащий поля для хранСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ° ΠΈ Π΅Π³ΠΎ характСристик.

Π₯очСтся ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ полю, хранящСму характСристики. Оно ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Blob. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ для чтСния ΠΈΠ· ΡΡ‚ΠΎΠ³ΠΎ поля создаСтся ΠΏΠΎΡ‚ΠΎΠΊ Ρ‚ΠΈΠΏΠ° TMemory Stream, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ загруТаСтся содСрТимоС blob-поля, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ чтСния ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ° содСрТимоС ΠΏΠΎΡ‚ΠΎΠΊΠ° заносится Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ поля ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° TLogging.

Если sql-запрос, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅, содСрТащСС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ характСристики, пустым — Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ эти характСристики ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, находящСгося Π² ΠΏΠ°ΠΏΠΊΠ΅ data, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ соотвСтствуСт ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°. Если это Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ сообщСниС ΠΈ ΠΏΡ€ΠΎΡΠΈΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ». Π”ΠΈΠ°Π»ΠΎΠ³ для открытия Ρ„Π°ΠΉΠ»Π° осущСствляСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‚ΠΈΠΏΠ° TOpen Dialog. ПослС Ρ‡Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ занСсти ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² blob-ΠΏΠΎΠ»Π΅.

Для записи Π² blob-ΠΏΠΎΠ»Π΅ (Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ осущСствлСно Π² ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅), Ρ‚Π°ΠΊΠΆΠ΅ создаСтся ΠΏΠΎΡ‚ΠΎΠΊ Ρ‚ΠΈΠΏΠ° TMemory Stream, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ заносятся Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°, Π° ΠΏΠΎΡ‚ΠΎΠΌ sql-запросом содСрТимоС ΠΏΠΎΡ‚ΠΎΠΊΠ° заносится Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

ПослС наТатия Π½Π° ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ мСню «ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…» ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ мСню «ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ» становится доступным для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Рисунок 3

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΡΡ‚Ρƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ происходит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ (Рисунок 3):

1) ΠŸΠΎΡΡ‹Π»Π°Π΅Ρ‚ΡΡ sql-запрос ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ WELL_KRIV, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ Π΅Ρ‘ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅.

2) БоздаСтся Π½ΡƒΠΆΠ½ΠΎΠ΅ количСство ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Ρ€Π°Π²Π½ΠΎΠ΅ количСству строк Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ sql-запроса ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π°) для отобраТСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ². Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π² ΡΠΏΠΈΡΠΎΠΊ Ρ‚ΠΈΠΏΠ° TObjectList созданных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° TChartLog. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΡ€ΠΈ создании этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° TLineSeriesLog, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° TLogging. И ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ созданный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° TChartLog ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°.

3) Π˜Π΄Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‚ΠΈΠΏΠ° TChartLog Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Π» Ρ€Π°Π²Π½ΠΎΠ΅ пространство ΠΈ Ρ€Π°ΡΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ ΠΏΠΎ ΠΏΠ°Π½Π΅Π»ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅.

ОписаниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² находится Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ А.

4.2 ВзаимодСйствиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΡΠΊΡ€Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ для ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ Экранная Ρ„ΠΎΡ€ΠΌΠ° для ΠΈΠΊΠ½Π»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ прСдставляСт собой ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Рисунок 4

Экранная Ρ„ΠΎΡ€ΠΌΠ° содСрТит панСль мСню Ρ‚ΠΈΠΏΠ° TMain Menu ΠΈ Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ‚ΠΈΠΏΠ° TChartIncr (наслСдован ΠΎΡ‚ TChart).

Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… Ρ‚ΠΈΠΏΠ° TChartIncr, Ρ‚ΠΈΠΏ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ выбираСтся ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ свойствС этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Type Chart, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ View Cut, View Top.

ПанСль мСню ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню: «Π”Π°Π½Π½Ρ‹Π΅» с ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ «Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…», «Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ» с ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ «ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ скваТины», «ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ†ΠΈΡŽ Π½Π° ΠΏΠ»ΠΎΡΠΊΠΎΡΡ‚ΡŒ», «Π’ΠΈΠ΄» с ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ «Π“Π»ΡƒΠ±ΠΈΠ½Ρ‹» ΠΈ «ΠšΠ°Ρ€Ρ‚Π°», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚Ρ‹: «Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹», «Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹», «Π’Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹» для «Π“Π»ΡƒΠ±ΠΈΠ½Ρ‹» ΠΈ «Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ элСмСнт ΠΈΠ· Ρ„Π°ΠΉΠ»Π°» для «ΠšΠ°Ρ€Ρ‚Π°». Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² прСдусмотрСны горячиС клавиши.

ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ прилоТСния доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡƒΠ½ΠΊΡ‚ мСню «Π”Π°Π½Π½Ρ‹Π΅», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, поэтому для дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° «Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…». Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° TIncr (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ‚ΠΈΠΏΠ° TADO Query ΠΏΠΎΡΡ‹Π»Π°ΡŽΡ‰Π΅Π³ΠΎ sql-запрос ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ скваТины), заносятся Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ². Π’Π°ΠΊΠΆΠ΅ становится доступСн ΠΏΡƒΠ½ΠΊΡ‚ мСню «Π“Ρ€Π°Ρ„ΠΈΠΊΠΈ».

ПослС этого ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ (Рисунок 5) ΠΈΠ»ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ (Рисунок 6) Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, Π²Ρ‹Π±Ρ€Π°Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню. ПослС Π²Ρ‹Π±ΠΎΡ€ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΡ‚ΠΈΡ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ², ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ поля ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° TIncr Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΡΠ΅Ρ€ΠΈΡŽ Ρ‚ΠΈΠΏΠ° TLine Series Incr, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡƒΡŽ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‚ΠΈΠΏΠ° TChartIncr ΠΏΡ€ΠΈ Π΅Π³ΠΎ создании.

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню «ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ скваТину Π² Π²ΠΈΠ΄Π΅ свСрху» происходит динамичСскоС созданиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° TLabelIncr (наслСдован ΠΎΡ‚ TLabel), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ Ρ‚ΠΈΠΏΠ° TObject List Label (наслСдован ΠΎΡ‚ TObject List). ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ½ΠΎ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡƒ:

1) Если Ρ€Π°Π½Π΅Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° TLabelIncr Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈΡΡŒ, Ρ‚ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΠ΅Ρ‚ся максимальная ΡˆΠΈΡ€ΠΈΠ½Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ… (бСрСтся максимальная ΠΈΠ»ΠΈ минимальная высота ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ся, какая ΠΈΠ· Π½ΠΈΡ… Π΄Π΅Π»Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° TLabelIncr большС). Π‘Ρ‚ΠΎΠΈΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ создании этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΡ… ΡΠ²ΠΎΠΉΡΡ‚Π²ΠΎ Autosize установлСно Π² True.

2) ВыполняСтся подсчСт количСства ΠΌΠ΅Ρ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ. Для этого ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ всС Ρ‚ΠΎΡ‡ΠΊΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° (ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ отсортированы ΠΏΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹), ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ся, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΠ°, размСщСнная рядом с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Π² Π²ΠΈΠ΄ΠΈΠΌΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ‚ΠΈΠΏΠ° TChartIncr ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ ΠΎΠ½Π° частично ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½ΡƒΡŽ для создания ΠΌΠ΅Ρ‚ΠΊΡƒ. Π’Π΅ΠΌ самым ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ Π½ΠΎΠΌΠ΅Ρ€Π° Ρ‚ΠΎΡ‡Π΅ΠΊ, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΡ… ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ создания ΠΌΠ΅Ρ‚ΠΊΠΈ.

3) ДинамичСски ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ заносятся Π² ΡΠΏΠΈΡΠΎΠΊ Ρ‚ΠΈΠΏΠ° TObject List Label. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ количСство создаваСмых ΠΌΠ΅Ρ‚ΠΎΠΊ опрСдСляСтся Π²ΠΎΡ‚ ΠΊΠ°ΠΊ: Ссли число подсчитанных ΠΌΠ΅Ρ‚ΠΎΠΊ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡƒΠ½ΠΊΡ‚Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ число Ρ€Π°Π½Π΅Π΅ созданных ΠΌΠ΅Ρ‚ΠΎΠΊ, Ρ‚ΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ‚ся «Ρ‡ΠΈΡΠ»ΠΎ подсчитанных ΠΌΠ΅Ρ‚ΠΎΠΊ" — «Ρ‡ΠΈΡΠ»ΠΎ Ρ€Π°Π½Π΅Π΅ созданных ΠΌΠ΅Ρ‚ΠΎΠΊ». Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ‚ся Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠΈ.

4) Π’Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ ΠΈ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ся ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ размСщСния ΠΌΠ΅Ρ‚ΠΎΠΊ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅.

ПослС этого Π² ΡΠ΅Ρ€ΠΈΡŽ Ρ‚ΠΈΠΏΠ° TLine Map (наслСдован ΠΎΡ‚ TLine Series) Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ записи ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, нСсущиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ°Ρ€Ρ‚Π΅ мСстности, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ располоТСна скваТина. Π­Ρ‚Π° информация содСрТит ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π»ΠΈΠ½ΠΈΠΉ ΠΊΠ°Ρ€Ρ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Ρ‘ Ρ†Π²Π΅Ρ‚. Π¦Π²Π΅Ρ‚ опрСдСляСтся Π² ΡΠΎΠΎΡ‚вСтствии с ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΠ΅ΠΌΡ‹ΠΌ мноТСством TLine Color, содСрТащиС Ρ†Π²Π΅Ρ‚Π°, прСдусмотрСнныС для отобраТСния Π»ΠΈΠ½ΠΈΠΉ. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΆΠ΅ содСрТатся Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² blob-ΠΏΠΎΠ»Π΅, поэтому ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΡ… Π² ΡΠ΅Ρ€ΠΈΡŽ создаСтся Π΄Π²Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° Ρ‚ΠΈΠΏΠ° TMemory Stream, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ посланного ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ Ρ‚ΠΈΠΏΠ° TADO Query sql-запроса, заносятся Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· blob-поля. ПослС Ρ‡Π΅Π³ΠΎ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ X ΠΈ Y.

Рисунок 5

Рисунок 6

ΠžΠΏΠΈΡΠ°Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ происходит Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ скроллингС ΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°. Π­Ρ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² события собствСнным ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ событиС. И ΠΏΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ области происходит пСрСрисовка ΠΌΠ΅Ρ‚ΠΎΠΊ (Рисунок 7).

Рисунок 7

Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ прСдусмотрСно Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° отобраТСния Π³Π»ΡƒΠ±ΠΈΠ½, Ρ‡Ρ‚ΠΎ прСдусмотрСно ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ мСню Π² ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚Π΅ «Π“Π»ΡƒΠ±ΠΈΠ½Ρ‹».

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ОписаниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² находится Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π‘.

Бписок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… источников

1. А. Π―. ΠΡ€Ρ…Π°Π½Π³Π΅Π»ΡŒΡΠΊΠΈΠΉ. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Delphi 7. Москва: Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π‘ΠΈΠ½ΠΎΠΌ 2003. — 1152 стр.

2. КСвин Π›ΡƒΠ½ΠΈ, Π‘ΠΎΠ± Π‘Ρ€ΠΈΠ»Π°. Oracle Database 10g ΠΠ°ΡΡ‚ΠΎΠ»ΡŒΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° администратора Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Москва: Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π›ΠΎΡ€ΠΈ. 2008. — 729 стр.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А

ОписаниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для отобраТСния ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

Класс TLogging, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для хранСния ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ WELL_METOD ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΠΈ ΠΈΠΌΠΈ.

type TLogging=Class (TObject)

private

State: Boolean; //опрСдСляСт, создавался Π»ΠΈ Ρ€Π°Π½Π΅Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса

Cod: array of Integer; //ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅

Glub: array of Single; //Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹

Shag: array of Single; //ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ измСрСниями характСристик

Num: array of Integer; //количСства ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ характСристик

Count: Integer; //количСство записСй Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅

Mas: array of array of Single; //характСристики ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ

Metod:array of String; //наимСнования ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

public

function GetCod (i: Integer): Integer;

function GetGlub (i: Integer): Single;

function GetShag (i: Integer): Single;

function GetNum (i: Integer): Integer;

function GetCount: Integer;

function GetMas (i, j: Integer): Single;

function GetMetod (i: Integer): String;

procedure GetData;

procedure LoadMasFromFile (FileNameMas: string;k: Integer);

procedure LoadMasFromBlob (k: integer);

procedure SetMasToBlob (k: integer);

Constructor Create;

Destructor Destroy; override;

end;

procedure GetData;

ΠœΠ΅Ρ‚ΠΎΠ΄ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ содСрТимоС ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ поля класса TLogging. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ‚ΠΈΠΏΠ° TADO Query. ΠšΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сначала посылаСт запрос Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π±Π°Π·Ρ‹ всСх ΠΏΠΎΠ»Π΅ΠΉ ΠΊΡ€ΠΎΠΌΠ΅ blob-поля (MAS). Π—Π°ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ всС массивы, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ полям Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ распрСдСлив для Π½ΠΈΡ… ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π”Π°Π»Π΅Π΅ посылаСтся запрос ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ всСх записСй, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»Π΅ MAS Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹ΠΉ с Π·Π°ΠΏΡ€ΠΎΡΠΎΠΌ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΌ всС записи, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ»Π΅ MAS Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ (Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния запроса ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ΄Ρ‹ записСй, Π½ΠΎ ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΈ 1 ΠΈΠ»ΠΈ 0 для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΌΡƒ ΠΈ Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΌΡƒ полю). Π’ ΡΠΎΠΎΡ‚вСтствии с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ запроса для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи Π² ΠΊΠ»Π°ΡΡΠ΅ выполняСтся Π»ΠΈΠ±ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Load Mas From File ΠΈ Set Mas To Blob (Π² ΡΠ»ΡƒΡ‡Π°Π΅ Ссли ΠΌΠ΅Ρ‚ΠΊΠ° Ρ€Π°Π²Π½Π° 0), Π»ΠΈΠ±ΠΎ Load Mas From Blob (Π² ΡΠ»ΡƒΡ‡Π°Π΅ равСнства ΠΌΠ΅Ρ‚ΠΊΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅).

procedure Load Mas From File (File Name Mas: string;k: Integer);

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ имя Ρ„Π°ΠΉΠ»Π° File Name Mas ΠΈ Π½ΠΎΠΌΠ΅Ρ€ записи k Π² ΠΊΠ»Π°ΡΡΠ΅. Из ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° читаСтся Num[k] чисСл Ρ‚ΠΈΠΏΠ° Single, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ заносятся Π² k-Ρ‚ΡƒΡŽ строку массива Mas.

procedure Set Mas To Blob (k: integer);

ΠœΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния sql-запроса заполняСт k-Ρ‚ΡƒΡŽ запись ΠΏΠΎΠ»Π΅ MAS k-Ρ‚ΠΎΠΉ строкой массива Mas. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ содСрТимоС k-Ρ‚ΠΎΠΉ строки массива Mas заносятся Π² ΡΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. ΠšΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ся Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ запроса.

procedure Load Mas From Blob (k: integer);

ΠœΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния sql-запроса заполняСт k-Ρ‚ΡƒΡŽ строку массива Mas содСрТимым поля MAS k-Ρ‚ΠΎΠΉ записи Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ содСрТимоС поля MAS сохраняСтся Π² ΡΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. Из ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌ ΠΈ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ элСмСнты для заполнСния массива Mas

Класс TLine Series Log.

type TLine Series Log = class (TLine Series)

public

procedure Draw Graph (i: Integer;Logging :TLogging);

end;

procedure Draw Graph (i: Integer; Logging: TLogging);

ΠœΠ΅Ρ‚ΠΎΠ΄ заносит Π² ΡΠ΅Ρ€ΠΈΡŽ Ρ‚ΠΎΡ‡ΠΊΠΈ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ i-Ρ‚Ρ‹ΠΌ строкам Π² ΠΌΠ°ΡΡΠΈΠ²Π°Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Logging. ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ свойство сортировки ΠΏΠΎ ΠΎΡΠΈ абсцисс устанавливаСтся Π² loNone, Ρ‚. Π΅. сортировка отсутствуСт.

Класс TChartLog

type

TChartLog = class (TChart)

public

LineSeriesLog: TLineSeriesLog; //сСрия, добавляСмая ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ конструктора

constructor Create (AOwner: TComponent); override;

destructor Destroy; override;

Класс TPanelLog

type

TPanelLog = class (TPanel)

private

ListChart: TObjectList;

State: Boolean;

NumGraph: Integer; //количСство ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‚ΠΈΠΏΠ° TChartLog

public

constructor Create (AOwner: TComponent); override;

destructor Destroy; override;

procedure GetNumGraph;

procedure Execute (Logging: TLogging);

end;

procedure GetNumGraph;

ΠœΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ sql-запроса, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ записи ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ WELL_KRIV, заносит Π² ΠΏΠΎΠ»Π΅ класса Num Graph количСство записСй, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½Ρ‹Ρ… запросом.

procedure Execute (Logging: TLogging);

ΠœΠ΅Ρ‚ΠΎΠ΄ занимаСтся Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‚ΠΈΠΏΠ° TChart Log Π½Π° ΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΠΎΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅. Π’Π½Π°Ρ‡Π°Π»Π΅ вычисляСтся общая ΡˆΠΈΡ€ΠΈΠ½Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², получаСмая ΠΈΠ· ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. Π”Π°Π»Π΅Π΅ Π² ΡΠΏΠΈΡΠΎΠΊ Ρ‚ΠΈΠΏΠ° TList Chart добавляСтся Num Graph создаваСмых ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ.

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ UString Log, с Π½Π°Ρ…одящимися Π² Π½Π΅ΠΌ строковыми константами, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ для sql-запросов.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘

ОписаниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для отобраТСния ΠΊΠ°Ρ€ΠΎΡ‚Π°ΠΆΠ°

Класс TIncr

type TIncr=Class (TObject)

private

X, Y, Z: array of Real; //ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Ρ‚ΠΎΡ‡Π΅ΠΊ

Num: Integer; //количСство Ρ‚ΠΎΡ‡Π΅ΠΊ

public

destructor Destroy; override;

function GetNum: Integer;

function GetX (i: Integer): Real;

function GetY (i: Integer): Real;

function GetZ (i: Integer): Real;

procedure GetData;

end;

procedure GetData;

ΠœΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ sql-запроса Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ всС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ WELL_INCR. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ полю Num присваиваСтся количСство Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½Ρ‹Ρ… записСй. Π”Π°Π»Π΅Π΅ распрСдСляСтся ΠΏΠ°ΠΌΡΡ‚ΡŒ для Num элСмСнтов динамичСских массивах X, Y, Z.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ UWork содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅

type TTypeChart=(ViewCut, ViewTop); //мноТСство Ρ‚ΠΈΠΏ отобраТСния ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ

type TColorLine=(Red, Blue, Gray, Green, Yellow, Black, Silver); //мноТСство Ρ†Π²Π΅Ρ‚ΠΎΠ² ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… элСмСнтов ΠΊΠ°Ρ€Ρ‚Ρ‹

Класс TLabelIncr. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² этого Ρ‚ΠΈΠΏΠ° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ скваТины

type

TLabelIncr = class (TLabel)

public

constructor Create (AOwnew: TComponent); override;

end;

Класс TObjectListLabel. Бписок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° TLabelIncr

type

TObjectListLabel = class (TObjectList)

private

NumLabel: integer; //количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

FChart: TChart;

WLabel, HLabel: Integer; //Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ связанныС с ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΈΠ· ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ полоТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° TLabelIncr Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ Ρ‚ΠΈΠΏΠ° TChart Π² ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ полоТСния Ρ‚ΠΎΡ‡Π΅ΠΊ сСрии ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ Ρ‚ΠΈΠΏΠ° TChart

FIncr: TIncr;

FVisGlub, FVisAbsGlub: Boolean; //опрСдСляСт, Π²ΠΈΠ΄ΠΈΠΌΡ‹ Π»ΠΈ ΠΌΠ΅Ρ‚ΠΊΠΈ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚

procedure FnIncr (IncrTemp: TIncr);

procedure FnVisGlub (Vis: Boolean);

procedure FnVisAbsGlub (Vis: Boolean);

public

constructor Create (AOwnsObjects: Boolean); overload;

procedure AddLabel (k: Integer);

procedure LabelDraw (Ind: array of Integer);

procedure LabelDefineSize (S: Integer;a: Real);

procedure MakeLabels;

procedure VisibleLAbs (Vis: Boolean);

procedure VisibleL (Vis: Boolean);

property Chart: TChart write FChart;

property Incr: TIncr write FIncr;

property VisGlub: Boolean write FnVisGlub;

property VisAbsGlub: Boolean write FnVisAbsGlub;

end;

procedure AddLabel (k: Integer);

ΠœΠ΅Ρ‚ΠΎΠ΄ создаСт NumLabel-k ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° TLabelIncr, задавая ΠΏΡ€ΠΈ этом для Π½ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ свойства. Π­Ρ‚ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ описываСмого класса.

procedure LabelDraw (Ind: array of Integer);

Массив Ind содСрТит ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, рядом с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΊΠΈ. Π’ ΡΠΎΠΎΡ‚вСтствии с ΡΡ‚ΠΈΠΌ массивом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ списка Ρ‚ΠΈΠΏΠ° TObjectListLabel ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ располоТСния Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ Ρ‚ΠΈΠΏΠ° TChartIncr

procedure LabelDefineSize (a: Real);

ΠœΠ΅Ρ‚ΠΎΠ΄ вызываСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ создании списка. БоздаСтся ΠΌΠ΅Ρ‚ΠΊΠ° Ρ‚ΠΈΠΏΠ° TLabelIncr. a — число, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ заполняСтся ΠΌΠ΅Ρ‚ΠΊΠ°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° опрСдСляСтся ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈ Π²Ρ‹ΡΠΎΡ‚Π° для всСх ΠΌΠ΅Ρ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, соотвСтствСнно WLabel ΠΈ HLabel.

procedure MakeLabels;

Основной ΠΌΠ΅Ρ‚ΠΎΠ΄. ВызываСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· послС измСнСния полоТСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ Ρ‚ΠΈΠΏΠ° TChartIncr.

Π‘Π½Π°Ρ‡Π°Π»Π° выполняСтся подсчСт ΠΌΠ΅Ρ‚ΠΎΠΊ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ k, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ трСбуСтся ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ, помСчая Π½ΠΎΠΌΠ΅Ρ€Π° Ρ‚ΠΎΡ‡Π΅ΠΊ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌ, Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ Ind. Π”Π°Π»Π΅Π΅ вызываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ AddLabel (k).

procedure VisibleLAbs (Vis: Boolean) ΠΈ procedure VisibleL (Vis: Boolean)

Π—Π°Π΄Π°Π΅Ρ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ для ΠΌΠ΅Ρ‚ΠΎΠΊ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ ΠΈ Π΄Π»Ρ ΠΌΠ΅Ρ‚ΠΎΠΊ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΡ… Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ Π³Π»ΡƒΠ±ΠΈΠ½Ρ‹ (соотвСтствСнно Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ ΠΈ Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ элСмСнты списка)

Класс TLineSeriesIncr

type

TLineSeriesIncr = class (TLineSeries)

private

FIncr: TIncr; //ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° TIncr, хранящий Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅

FTypeChart: TTypeChart; //Ρ‚ΠΈΠΏ отобраТания ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ

procedure FnIncr (IncrF: TIncr);

protected

public

ListLabel: TObjectListLabel; //список ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° TLabelIncr

procedure AddAllPoint;

constructor Create (AOwner: TComponent); override;

destructor Destroy; override;

property Incr: TIncr read FIncr write FnIncr;

property TypeChart: TTypeChart read FTypeChart write FTypeChart;

end;

procedure AddAllPoint;

ΠœΠ΅Ρ‚ΠΎΠ΄, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ Π² ΡΠ΅Ρ€ΠΈΡŽ ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° FIncr Π² ΡΠΎΠΎΡ‚вСтствии с ΠΏΠΎΠ»Π΅ΠΌ FTypeChart (Ρ‚.Π΅. Π² ΡΠΎΠΎΡ‚вСтствии с Π²ΠΈΠ΄ΠΎΠΌ отобраТСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ°)

Класс TLineMap

type

TLineMap = class (TLineSeries)

private

function DefineColor (iColor: Integer): TColor;

public

procedure LoadFromFile (filename: String);

procedure GetFromBlob;

constructor Create (AOwner: TComponent); override;

end;

function DefineColor (iColor: Integer): TColor;

ΠœΠ΅Ρ‚ΠΎΠ΄ опрСдСляСт Ρ†Π²Π΅Ρ‚, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнту ΠΈΠ· ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΡ TColorLine. iColorΠ½ΠΎΠΌΠ΅Ρ€ элСмСнта Π² ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠΈ.

procedure LoadFromFile (filename: String);

ΠœΠ΅Ρ‚ΠΎΠ΄, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Π½Π°Ρ‡Π°Π»Π΅ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° filename, Π² Ρ‡Π°ΡΡ‚ности количСство ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, Π½ΠΎΠΌΠ΅Ρ€ Ρ†Π²Π΅Ρ‚Π° Π² ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½ΠΈΠΈ ΠΈ ΡΠ°ΠΌΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ сразу Π² ΠΏΠΎΡ‚ΠΎΠΊΠΈ для ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ X ΠΈ Y ΡΠΎΠΎΡ‚вСтствСнно. Π”Π°Π»Π΅Π΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния sql-запроса добавляСтся запись с ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Map. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ blob-поля.

procedure GetFromBlob;

ΠœΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния sql-запроса, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ всС записи Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Map, заносит эти записи Π² ΡΠ΅Ρ€ΠΈΡŽ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи соотвСтствуСт своя линия Π² ΡΠ΅Ρ€ΠΈΠΈ.

Класс TChartIncr

type

TChartIncr = class (TChart)

private

FTypeChart: TTypeChart; //опрСдСляСт Ρ‚ΠΈΠΏ отобраТСния ΠΈΠ½ΠΊΠ»ΠΈΠ½ΠΎΠΌΠ΅Ρ‚Ρ€ΠΈΠΈ

Timer: TTimer; //Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡŒ пСрСрисовка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° TLabel ΠΏΡ€ΠΈ скроллингС ΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΈ изобраТСния

procedure FnTypeChart (TypeCh: TTypeChart);

procedure OnTimerIncr (Sender: TObject);

procedure OnActionIncr (Sender: TObject);

public

LineMap: TLineMap; //сСрия содСрТащая Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ, ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‰ΠΈΠ΅ Π² ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΠΈ ΠΊΠ°Ρ€Ρ‚Ρƒ мСстности

LineSeriesIncr: TLineSeriesIncr; //сСрия, содСрТащая Ρ‚ΠΎΡ‡ΠΊΠΈ скваТины

constructor Create (AOwner: TComponent); override;

destructor Destroy; override;

published

property TypeChart: TTypeChart read FTypeChart write FnTypeChart;

end;

procedure OnTimerIncr (Sender: TObject);

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ событий для Timer. Π’Π°ΠΉΠΌΠ΅Ρ€ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡŒ пСрСрисовка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° TLabelIncr ΠΏΡ€ΠΈ скроллингС ΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΈ изобраТСния.

Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ класса TObjectListLabel — MakeLabels.

procedure OnActionIncr (Sender: TObject);

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ событий OnZoom, OnUndoZoom, OnScrolling для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° TChartIncr

ΠœΠ΅Ρ‚ΠΎΠ΄ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ прорисовки ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° TLabelIncr запускаСт Ρ‚Π°ΠΉΠΌΠ΅Ρ€.

Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ UStringIncr, с Π½Π°Ρ…одящимися Π² Π½Π΅ΠΌ строковыми константами, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ для sql-запросов.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ