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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация разлоТСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ процСсса Π² тригономСтричСский ряд

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

ΠšΡ€ΠΎΠΌΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, описанных Π² ΠΊΠ»Π°ΡΡΠ°Ρ…, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обСспСчиваСт взаимодСйствиС с ΡΠ΅Ρ€Π²Π΅Ρ€Π°ΠΌΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Microsoft Office. Π’Π°ΠΊ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ модуля ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ запуск MS Word, MS Excel, Power Point ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠΌ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ, Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΈ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ с Ρ†Π΅Π»ΡŒΡŽ создания ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ использованиС Π΅Π΅ Π΄Π»Ρ дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация разлоТСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ процСсса Π² тригономСтричСский ряд (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

БСлорусский Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ тСхничСский унивСрситСт ΠšΠ°Ρ„Π΅Π΄Ρ€Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ

ΠŸΠžΠ―Π‘ΠΠ˜Π’Π•Π›Π¬ΠΠΠ― Π—ΠΠŸΠ˜Π‘ΠšΠ

ΠΊ ΠΊΡƒΡ€ΡΠΎΠ²ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ (Ρ€Π°Π±ΠΎΡ‚Π΅)

ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ «ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΡΠ·Ρ‹ΠΊΠΈ программирования»

Π’Π΅ΠΌΠ°: «ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Π°Ρ рСализация разлоТСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ процСсса Π² Ρ‚ригономСтричСский ряд»

Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒ:_______________________

(подпись)

Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚ 2 курса 417318 Π³Ρ€ΡƒΠΏΠΏΡ‹

Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ: _____________________ Гурский Н.Н.

(подпись) Минск 2010

ОглавлСниС Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

1. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

2. ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

2.1 Бтруктурная схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

2.2 ОписаниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ класса

2.3 ОписаниС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ COM

2.4 ОписаниС динамичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

2.5 ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

2.6 БрСдства использования сСрвисов, прСдоставляСмых Microsoft Office

3. Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

4. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° испытаний Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π›ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π° ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π€Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° VremRiad. dpr

Π€Π°ΠΉΠ» Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ модуля UnitMain. pas

Π€Π°ΠΉΠ» Π²Ρ‹Π²ΠΎΠ΄Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° UnitGraphic. pas

Π€Π°ΠΉΠ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ класса — UnitRiad. pas

Π€Π°ΠΉΠ» описания динамичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ About. dpr

Π€Π°ΠΉΠ» описания динамичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Prompt. dpr

Π€Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° COM-сСрвСра — MyServer. dpr

Π€Π°ΠΉΠ» описания COMкласса — UComRiad. pas

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

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

Анализ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов — ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎ-статистичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π°Π½Π°Π»ΠΈΠ·Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для выявлСния структуры Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… рядов ΠΈ Π΄Π»Ρ ΠΈΡ… ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π°. Бюда относятся, Π² Ρ‡Π°ΡΡ‚ности, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ рСгрСссионного Π°Π½Π°Π»ΠΈΠ·Π°. ВыявлСниС структуры Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ряда Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ модСль Ρ‚ΠΎΠ³ΠΎ явлСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ являСтся источником Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ряда. ΠŸΡ€ΠΎΠ³Π½ΠΎΠ· Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ряда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ принятии Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΡΠΊΠΎΠ½ΠΎΠΌΠΈΠΊΠ΅.

Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ряды состоят ΠΈΠ· Π΄Π²ΡƒΡ… элСмСнтов:

Β· ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ приводятся числовыС значСния;

Β· числовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ показатСля, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… уровнями ряда.

Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ числСнныС значСния, описываСмыС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ

ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², совмСщСнных Π² ΠΎΠ΄Π½ΠΎΠΉ систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚.

Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° срСда Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ проСктирования Borland Delphi 7.0. Она позволяСт Π·Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Ρ Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΠΌΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ физичСских ΠΈ ΡƒΠΌΡΡ‚Π²Π΅Π½Π½Ρ‹Ρ… сил ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ направлСнности, обСспСчивая ΠΏΡ€ΠΈ этом Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ друТСствСнного ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ интСрфСйса. Π£ΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ (Π° Ρ‚Π°ΠΊΠΆΠ΅ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ…) прСимущСства срСды Delphi 7.0. ΠΎΠ±ΡƒΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ Π΅Ρ‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ создании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠ³ΠΎ назначСния.

1. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

РазлоТСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ процСсса Π² Ρ‚ригономСтричСский ряд осущСствляСтся ΠΏΡ€ΠΈ вычислСнии числСнных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ использовании ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ зависимости:

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅:

ВычислСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ провСсти для Ρ‚Ρ€Π΅Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ :

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ², совмСщСнных Π² ΠΎΠ΄Π½ΠΎΠΉ систСмС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚.

2. ОписаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

2.1 Бтруктурная схСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° состоит ΠΈΠ· Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ модуля, ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ описания Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ, динамичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ. Бвязь ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.1.

Рисунок-2.1. Бтруктурная схСма связСй ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

2.2 ОписаниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ класса

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области для Π΅Ρ‘ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ класс TRiad, ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ поля, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΡΠ²ΠΎΠΉΡΡ‚Π²Π°, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹Π΅ ΠΊ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ.

TRiad = class //класс

private

IniFile: TIniFile; //ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ini-Ρ„Π°ΠΉΠ»Π°

w: integer;

public

Constructor Create (AIniFileName: string);

Destructor Destroy;

procedure Graphic (AChart:TChart); //ΠŸΠΎΡΡ‚ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

procedure Table (AStringGrid:TStringGrid); //Π’Ρ‹Π²ΠΎΠ΄ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

procedure WriteToIniFile; //Π—Π°ΠΏΠΈΡΡŒ Π² Ini-Ρ„Π°ΠΉΠ»

procedure ReadFromIniFile; //Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ini-Ρ„Π°ΠΉΠ»Π°

function GetW: integer; //ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ w

procedure SetW; //Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ w

function F (w:integer;t:extended):extended;//ВычислСниС суммы

//property ww: integer read GetW write SetW;

private

end;

НазначСниС ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠ»Π°ΡΡΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ (ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²) ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ариях. ОписаниС ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ класса структурно ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΎ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Unit — UnitRiad. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ сСкции public ΠΈ private ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ области видимости элСмСнтов класса. Π’Π°ΠΊ, Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ всС поля класса ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ, Π° Π΄ΠΎΡΡ‚ΡƒΠΏ ΠΊ Π½ΠΈΠΌ организуСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΡΠ²ΠΎΠΉΡΡ‚Π².

2.3 ОписаниС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ COM

Π’ ΡΠΎΠΎΡ‚вСтствии с Ρ‚рСбованиями Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ экспорта ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² созданного класса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ COM. Для этого Π±Ρ‹Π» создан сСрвСр Π² Π²ΠΈΠ΄Π΅ DLL — ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ MyServer.

library MyServer;

{ Important note about DLL memory management: ShareMem must be the first unit in your library’s USES clause AND your project’s (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL—even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM. DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM. DLL, pass string information using PChar or ShortString parameters. }

uses

SysUtils,

ComServ,

UComRiad in 'UComRiad.pas',

UCom_Tlb in 'UCom_Tlb.pas',

Classes,

MyServer_TLB in 'MyServer_TLB.pas';

exports

DllGetClassObject,

DllCanUnloadNow,

DllRegisterServer,

DllUnregisterServer;

{$R *.TLB}

{$R *.res}

begin

end.

Π­Ρ‚ΠΎΡ‚ сСрвСр позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, описаниС класса ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ находится Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ UΠ‘omRiad. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ класс ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ соотвСтствуСт, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡƒ Π² ΠΏ. 2.2 классу TRiad ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΈ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Ρ‚. Π΅. ΠΎΠ½ ΡΠ²Π»ΡΠ΅Ρ‚ся Π΅Π³ΠΎ ΠΊΠΎΠΏΠΈΠ΅ΠΉ, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ конструктора Create, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΌΠ΅Π½Π΅Π½ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΎΠΉ. НСпосрСдствСнный доступ ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ элСмСнтам COM-класса осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ интСрфСйса IcomRiad, описанного Π² ΠΌΠΎΠ΄ΡƒΠ΄Π΅ UCom_Tlb.

2.4 ОписаниС динамичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ прилоТСния Π±Ρ‹Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ 2 динамичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

ДинамичСская Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Prompt. dll содСрТит заставку, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰ΡƒΡŽΡΡ послС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ Π΄ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° содСрТит 1 ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ShowPrompt, ΡΠ»ΡƒΠΆΠ°Ρ‰ΡƒΡŽ для отобраТСния Ρ„ΠΎΡ€ΠΌΡ‹.

library Prompt;

{ Important note about DLL memory management: ShareMem must be the first unit in your library’s USES clause AND your project’s (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL—even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM. DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM. DLL, pass string information using PChar or ShortString parameters. }

uses

SysUtils,

Classes,

Windows,

UnitPrompt in 'UnitPrompt.pas' {FormPrompt};

{$R *.res}

//ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ заставку

procedure ShowPrompt (AOwner:TComponent);

var

Time:extended;

Form:TFormPrompt;

begin

Form:=TFormPrompt.Create (AOwner); //Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ

Time:=GetTickCount/1000; //Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ врСмя

Form.Show; //ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ

Form.Repaint; //ΠŸΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ

//Пока Π½Π΅ Π²Ρ‹ΡˆΠ΅Π» Π»ΠΈΠΌΠΈΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ — Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ

while GetTickCount/1000

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° начинаСтся с ΠΎΡ‚обраТСния ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ заставки (содСрТится Π² Prompt. dll), Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π° ΡΠΊΡ€Π°Π½Π΅ появляСтся Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ UnitMain). Π“Π»Π°Π²Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ управляСт Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² ΡΠΎΠΎΡ‚вСтствии с Π·Π°ΠΏΡ€ΠΎΡΠ°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Он ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚:

Β· Π’Ρ‹Π·ΠΎΠ² ΠΎΠΊΠ½Π° «Πž ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅»;

Β· Π’Ρ‹Π·ΠΎΠ² ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ;

Β· ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² Word ΠΈ Excel;

Β· Π’Ρ‹Π·ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹ «Π“Ρ€Π°Ρ„ΠΈΠΊ»;

Β· Π’Ρ‹Π·ΠΎΠ² ΠΎΠΊΠ½Π° ΠΏΠΎΠΌΠΎΡ‰ΠΈ;

Β· Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ini-Ρ„Π°ΠΉΠ»Π°Ρ…;

Β· ИспользованиС возмоТностСй Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ COM-сСрвСра;

Π”ΠΈΠ°Π»ΠΎΠ³ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ поддСрТиваСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ мСню, ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов, ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… интСрфСйсных элСмСнтов.

Окно «Πž ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅» содСрТит ΠΊΡ€Π°Ρ‚ΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Окно «Π“Ρ€Π°Ρ„ΠΈΠΊ» слуТит для отобраТСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π³Ρ€Π°Ρ„ичСской Ρ„ΠΎΡ€ΠΌΠ΅ — Π² Π²ΠΈΠ΄Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ².

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‚Π°ΠΊΠΆΠ΅ рСализуСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрной Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ прилоТСниями.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ логичСского взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ c ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнтов Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° описаны Π² «Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ».

Вопросы нСпосрСдствСнной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. По Ρ‚Сксту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π΄Π°ΡŽΡ‚ΡΡ достаточно ΠΏΠΎΠ»Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для описания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ основных шагов Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².

2.6 БрСдства использования сСрвисов, прСдоставляСмых Microsoft Office

ΠšΡ€ΠΎΠΌΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, описанных Π² ΠΊΠ»Π°ΡΡΠ°Ρ…, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° обСспСчиваСт взаимодСйствиС с ΡΠ΅Ρ€Π²Π΅Ρ€Π°ΠΌΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Microsoft Office. Π’Π°ΠΊ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ модуля ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ автоматичСски ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ запуск MS Word, MS Excel, Power Point ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠΌ Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ, Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΈ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ с Ρ†Π΅Π»ΡŒΡŽ создания ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ использованиС Π΅Π΅ Π΄Π»Ρ дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

1. Procedure TFormMain. ReportExcel (AStringGrid: TStringGrid). Данная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° обСспСчиваСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² Excel. Для формирования Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ссылку Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ‚ΠΈΠΏΠ° TStringGrid, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ячСйки Π² Excel. Рисунок, ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹ΠΉ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚, совпадаСт с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π²ΠΈΠ΄ΠΎΠΌ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°.

2. Procedure TFormMain. ReportWord (AStringGrid:TStringGrid). ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚, принятый Π² Word.

3. Procedure TFormMain. PresentationClick (Sender: TObject). Активизация Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ позволяСт Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½Ρ‹Ρ… ΠΈ ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ… цСлях.

3. Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Для Π°ΠΊΡ‚ΠΈΠ²ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» VremRiad.exe. ΠŸΡ€ΠΈ этом, Π½Π° ΡΠΊΡ€Π°Π½Π΅ появится заставка, показанная Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.1.

Рисунок 3.1 — Заставка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ заставка Ρ‡Π΅Ρ€Π΅Π· нСсколько сСкунд исчСзнСт, появится Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (см. Ρ€ΠΈΡΡƒΠ½ΠΎΠΊ 3.2).

Рисунок 3.2 — Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Как Π²ΠΈΠ΄Π½ΠΎ, Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… частСй:

Β· Π“Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню;

Β· ПанСли инструмСнтов;

Β· ΠžΠ±Π»Π°ΡΡ‚ΠΈ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ…;

Β· ΠžΠ±Π»Π°ΡΡ‚ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ;

Β· Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ.

ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.3.

Рисунок 3.3 — Π“Π»Π°Π²Π½ΠΎΠ΅ мСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π’ ΡΠ²ΠΎΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню содСрТит ряд ΠΏΠΎΠ΄ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ², ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.4.

Рисунок 3.4 — ΠŸΡƒΠ½ΠΊΡ‚ мСню «Π€Π°ΠΉΠ»»

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° «Π’Ρ‹Ρ…ΠΎΠ΄» происходит Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния.

ΠŸΡƒΠ½ΠΊΡ‚ мСню «Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ» обСспСчиваСт Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ процСсса Π² Ρ‚ригономСтричСский ряд ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ w ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Если w Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, выводится сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ (рисунок 3.5).

Рисунок 3.5 — Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅

ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ «ΠžΡ‚Ρ‡Π΅Ρ‚ Π² Word» ΠΈ «ΠžΡ‚Ρ‡Π΅Ρ‚ Π² Excel» ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² расчСтов Π² Π²ΠΈΠ΄Π΅ тСкстового Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² ΡΡ‚ΠΈΠ»Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Ms Word ΠΈΠ»ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΌ процСссорС MS Excel соотвСтсвСнно.

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.6 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню «ΠŸΠΎΠΌΠΎΡ‰ΡŒ».

Рисунок 3.6 — ΠŸΡƒΠ½ΠΊΡ‚ мСню «ΠŸΠΎΠΌΠΎΡ‰ΡŒ»

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню «ΠŸΡ€Π΅Π·Π΅Π½Ρ‚ация» начинаСтся просмотр возмоТностСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Power Point.

Π’Ρ‹Π±ΠΎΡ€ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню «Π‘ΠΏΡ€Π°Π²ΠΊΠ°» ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡŽ ΠΎΠΊΠ½Π° ΠΏΠΎΠΌΠΎΡ‰ΠΈ, содСрТащим свСдСния ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ (см. Ρ€ΠΈΡΡƒΠ½ΠΎΠΊ 3.7)

Рисунок 3.7 — Окно справочной систСмы

Π’Ρ‹Π±ΠΎΡ€ ΠΏΡƒΠ½ΠΊΡ‚Π° Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню «Πž ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅» позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½Π° ΡΠΊΡ€Π°Π½Π΅ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ свСдСния ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π² Π²ΠΈΠ΄Π΅, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.8.

Рисунок 3.8 — Окно «About»

ΠšΡ€ΠΎΠΌΠ΅ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° управляСтся Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ мСню ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ выполнСния основных ΠΊΠΎΠΌΠ°Π½Π΄:

Рисунок 3.9 — ПанСль инструмСнтов

Π’Π°ΠΊΠΆΠ΅ имССтся Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.10.

Рисунок 3.10 — Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ

Кнопка «Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ» обСспСчиваСт расчСт состояния систСмы ΠΈ Π²Ρ‹Π²ΠΎΠ΄ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Кнопка «Π“Ρ€Π°Ρ„ΠΈΠΊ» обСспСчиваСт появлСниС ΠΎΠΊΠ½Π° с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ, Ρ‚. Π΅. имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ просмотра Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² разлоТСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ процСсса Π² Ρ‚ригономСтричСский ряд ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ w. МоТно ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚ΠΈΠ²Π°Ρ‚ΡŒ сразу ΠΊΠ°ΠΊ нСсколько Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² (рисунок 3.11), Ρ‚Π°ΠΊ ΠΈ ΠΎΠ΄ΠΈΠ½ для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ значСния w (рисунок 3.12).

Рисунок 3.11 — Π“Ρ€Π°Ρ„ΠΈΠΊ разлоТСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ процСсса Π² Ρ‚ригономСтричСский ряд ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ w=3

Рисунок 3.12 — Π“Ρ€Π°Ρ„ΠΈΠΊ разлоТСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ процСсса Π² Ρ‚ригономСтричСский ряд ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ w=3 ΠΈ w=1

Кнопка «ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ» ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ². Для закрытия ΠΎΠΊΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ° «Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ».

Для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ слСдуСт Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π’Ρ‹Ρ…ΠΎΠ΄».

4. ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° испытаний

ЦСлью провСдСния испытаний являСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° работоспособности (надСТности) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… условиях Π΅Π΅ Ρ„ункционирования.

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

Для дСмонстрации работоспособности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ провСсти ряд испытаний с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ условиями. Для обСспСчСния Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ трСбуСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… DLL, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Word, Excel, PowerPoint.

Для использования COM-сСрвСра, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ зарСгистрирован Π² ΡΠΈΡΡ‚Π΅ΠΌΠ΅. ВСстовыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π² ΡΡ€Π΅Π΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Windows XP Profesional ΠΏΡ€ΠΈ использовании процСссора Intel Pentium 4 2.4 GHz ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ экрана 1024*768. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ‚ΠΎΡ€Π° Ρ‚ΠΈΠΏΠ° «ΠΌΡ‹ΡˆΡŒ».

Π˜ΡΠΏΡ‹Ρ‚Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅ΠΌ с Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Π² Π·Π°Π΄Π°Π½ΠΈΠΈ.

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: ΠΏΡ€ΠΈ w=3

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ этого Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ экспСримСнта ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ°Ρ… 4.1, 4.2.

Рисунок 4.1 -ВСстовая Ρ‚Π°Π±Π»ΠΈΡ†Π° № 1

Рисунок 4.2 — ВСстовый Π³Ρ€Π°Ρ„ΠΈΠΊ № 1

Если w Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ, выводится сообщСниС ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ (рисунок 3.5).

ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ испытаниС ΠΏΡ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… значСниях исходных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: ΠΏΡ€ΠΈ w=5

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹

Рисунок 4.3 — ВСстовый Π³Ρ€Π°Ρ„ΠΈΠΊ № 2

Рисунок 4.4 — ВСстовая Ρ‚Π°Π±Π»ΠΈΡ†Π° № 2

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ тСстированиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ Π²Ρ‹ΡΠ²ΠΈΠ»ΠΎ сбойных ситуаций ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ностСй Π² Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π΅. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° протСстирована, ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ поставлСнным трСбованиям ΠΈ Π²ΠΏΠΎΠ»Π½Π΅ работоспособна.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ…ΠΎΠ΄Π΅ выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹:

Β· Π±Ρ‹Π»ΠΈ Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½Ρ‹ знания ΠΏΠΎ ΠΊΡƒΡ€ΡΡƒ «ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΡΠ·Ρ‹ΠΊΠΈ программирования»;

Β· ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ ΠΎΠΏΡ‹Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ;

Β· ΠΈΠ·ΡƒΡ‡Π΅Π½Ρ‹ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ создания динамичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ;

Β· ΠΈΠ·ΡƒΡ‡Π΅Π½Ρ‹ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ способы создания ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ COM-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ;

Β· освоСны ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ прилоТСниями;

Β· ΠΈΠ·ΡƒΡ‡Π΅Π½Ρ‹ возмоТности создания справочной систСмой высокой стСпСни слоТности ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ².

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ использовался ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ программирования. Вакая структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ позволяСт Π² Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ΅ΠΌ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΅Ρ‘ Ρ‡Π°ΡΡ‚ΠΈ Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ работоспособности ΠΈ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ достаточно ясный ΠΈ ΠΏΠΎΠ½ΡΡ‚Ρ‹ΠΉ Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ удобство Π² Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΠΌΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ Π² Ρ…ΠΎΠ΄Π΅ выполнСния курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ являСтся Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для физичСского разлоТСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ процСсса Π² Ρ‚ригономСтричСский ряд.

1. Π€Π°Ρ€ΠΎΠ½ΠΎΠ² Π’. Π’. Delphi 6. Π£Ρ‡Π΅Π±Π½Ρ‹ΠΉ курс.-М.: Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒ ΠœΠΎΠ»Π³Π°Ρ‡Π΅Π²Π° Π‘. Π’., 2001.-672с.

2. Π•Π»ΠΌΠ°ΠΊΠΎΠ²Π° Н., Π’Ρ€Π΅ΠΏΠ°Π»ΠΈΠ½ Π‘., Π’Π΅Π½Ρ†Π΅Ρ€ А. Delphi 6 ΠΈ Ρ‚Схнология COM.-БПб.: ΠŸΠΈΡ‚Π΅Ρ€, 2002. — 640 с.

3. Π€Π΅Π΄ΠΎΡ€ΠΎΠ² А. Delphi 5.0 для всСх. -М.: Π’ΠΎΠΎ Ρ„ΠΈΡ€ΠΌΠ° «ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠŸΡ€Π΅ΡΡ», 1998. — 464 с.

4. ΠœΠ°Ρ€ΠΊΠΎ ΠšΡΠ½Ρ‚Ρƒ. Delphi 5 для профСссионалов.-БПб.: ΠŸΠΈΡ‚Π΅Ρ€. 2001. — 944 с.

5. Бобровский Π‘. Delphi 5: ΡƒΡ‡Π΅Π±Π½Ρ‹ΠΉ ΠΊΡƒΡ€ΡΠ‘ΠŸΠ±: Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ «ΠŸΠΈΡ‚Π΅Ρ€», 2000. 640с.

6. А. М. Π•ΠΏΠ°Π½Π΅ΡˆΠ½ΠΈΠΊΠΎΠ², Π’. А. Π•ΠΏΠ°Π½Π΅ΡˆΠ½ΠΈΠΊΠΎΠ² ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΡ€Π΅Π΄Π΅ Delphi.-М.:"Π”ΠΈΠ°Π»ΠΎΠ³ МИЀИ", 1998.

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

Π€Π°ΠΉΠ» ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° VremRiad. dpr

program VremRiad;

uses

Forms, Windows, Classes, Dialogs, SysUtils,

UnitMain in 'UnitMain.pas' {Form1},

UnitRiad in 'UnitRiad.pas',

UComRiad in 'UComRiad.pas',

UCom_Tlb in 'UCom_Tlb.pas',

UnitGraphic in 'UnitGraphic.pas' {FormGraphic},

VremRiad_TLB in 'VremRiad_TLB.pas';

{$R *.TLB}

//******************************************

Type

//ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΈΠ· DLL

TProc=procedure (AOwner:TComponent);

Var

Handle: LongWord; //ДСскриптор DLL

ShowPrompt: tproc; //ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

//*******************************************

{$R *.res}

begin

Application.Initialize;

//Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠΊΠΎΠ½ΠΊΠΈ

Application.Icon.LoadFromFile ('Prompt.ico');

//*****Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΏΠΎΠΊΠ°Π· заставки******//

Handle:= LoadLibrary ('Prompt.dll');

if Handle <> 0 then

begin

//ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ адрСс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

@ShowPrompt:= GetProcAddress (Handle, PChar ('ShowPrompt'));

ShowPrompt (Application); //ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ заставку

FreeLibrary (Handle); //Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ

end

else ShowMessage ('НС Π½Π°ΠΉΠ΄Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Prompt. dll');

//***********************************************//

Application.CreateForm (TForm1, Form1);

Application.CreateForm (TFormGraphic, FormGraphic);

Application.Run;

end.

Π€Π°ΠΉΠ» Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ модуля UnitMain. pas

unit UnitMain;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Menus, ToolWin, ComCtrls, XPMan, ImgList, Grids,

IniFiles, Clipbrd, WordXP, Math, ShellAPI, ExtCtrls, msppt8,

UCom_Tlb, ComObj, MSPpt2000, PowerPointXP, Activex, OleServer,

Buttons;

type

TForm1 = class (TForm)

Panel1: TPanel;

Panel2: TPanel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

RadioGroup1: TRadioGroup;

BitBtn1: TBitBtn;

Panel3: TPanel;

BitBtn2: TBitBtn;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N6: TMenuItem;

BitBtn3: TBitBtn;

N7: TMenuItem;

StringGrid1: TStringGrid;

Label9: TLabel;

Label10: TLabel;

BitBtn4: TBitBtn;

PowerPointApplication1: TPowerPointApplication;

Presentation: TSpeedButton;

N8: TMenuItem;

Word1: TSpeedButton;

Excel1: TSpeedButton;

N9: TMenuItem;

EXcel2: TMenuItem;

SpeedButton1: TSpeedButton;

SpeedButton2: TSpeedButton;

procedure BitBtn3Click (Sender: TObject);

procedure FormActivate (Sender: TObject);

procedure BitBtn1Click (Sender: TObject);

procedure BitBtn4Click (Sender: TObject);

procedure BitBtn2Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure PresentationClick (Sender: TObject);

procedure Word1Click (Sender: TObject);

procedure Excel1Click (Sender: TObject);

procedure SpeedButton2Click (Sender: TObject);

// Procedure TFormMain. PresentationClick (Sender: TObject);

private

{ Private declarations }

public

IniFileName: string; //Имя Ρ„Π°ΠΉΠ»Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

procedure ReportExcel (AStringGrid: TStringGrid); //ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ Π² Excel

procedure ReportWord (AStringGrid: TStringGrid); //ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚ Π² Word

{ Public declarations }

end;

var

Form1: TForm1;

Flag: bool; //Π€Π»Π°Π³ опрСдСлСния Π²ΠΈΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°

const x=1;

const P=500;

implementation

uses UnitRiad, UnitGraphic;

{$R *.dfm}

procedure TForm1. BitBtn3Click (Sender: TObject);

begin

Close;

end;

procedure TForm1. FormActivate (Sender: TObject);

var i: integer;

begin

//По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ (классичСским) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ

Flag:= false;

//Имя Ini-Ρ„Π°ΠΉΠ»Π° сохранСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

IniFileName:= GetCurrentDir+'Riad.ini';

//Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

Riad:= TRiad. Create (IniFileName);

//Π‘Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ini-Ρ„Π°ΠΉΠ»Π°

Riad.ReadFromIniFile;

//ВычислСниС ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

Riad.Table (StringGrid1);

StringGrid1.Cells[0,0]: ='НомСр' ;

StringGrid1.Cells[1,0]: ='ВрСмя (с)';

StringGrid1.Cells[2,0]: ='F{t} ΠΏΡ€ΠΈ w=1';

StringGrid1.Cells[3,0]: ='F{t} ΠΏΡ€ΠΈ w=3';

StringGrid1.Cells[4,0]: ='F{t} ΠΏΡ€ΠΈ w=5';

for i:=1 to 201 do

StringGrid1.Cells[0,i]: =IntToStr (i) ;

for i:=0 to 201 do

begin

StringGrid1.Cells[1,i+1]: =FloatToStr (0.5*i)

end;

label10.Caption:='';

end;

procedure TForm1. BitBtn1Click (Sender: TObject);

var i: integer;

begin

Riad.SetW ();

//ВычислСниС ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

Riad.Table (StringGrid1);

end;

procedure TForm1. BitBtn4Click (Sender: TObject);

var i: integer;

begin

for i:=0 to 201 do

begin

StringGrid1.Cells[2,i+1]: ='';

StringGrid1.Cells[3,i+1]: ='';

StringGrid1.Cells[4,i+1]: ='';

end;

end;

procedure TForm1. BitBtn2Click (Sender: TObject);

begin

FormGraphic.Show;

end;

procedure TForm1. N4Click (Sender: TObject);

Type

//ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ для Π²Ρ‹Π·ΠΎΠ²Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ· DLL

TProc = procedure (AOwner:TComponent);

var

Handle: LongInt; //ДСскриптор Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

ShowAbout: TProc; //ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π°Ρ для Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· DLLbegin

begin

//ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ дСскриптора Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Handle:=LoadLibrary ('About.dll');

//ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ сущСствованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

if Handle = 0 then

begin

ShowMessage ('Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°: About. dll');

exit;

end;

//ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ адрСс Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

@ShowAbout:= GetProcAddress (Handle, PChar ('ShowAbout'));

//Π’Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡƒ About

ShowAbout (Application);

FreeLibrary (Handle); //Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

end;

procedure TForm1. PresentationClick (Sender: TObject);

var

name: string;

pw: TOleEnum;

begin

//Запуск ΠΏΡ€Π΅Π·Π΅Ρ‚Π°Ρ†ΠΈΠΈ

Name:= ExtractFileDir (Application.ExeName) + 'Vremennoj process. ppsx';

PowerPointApplication1.Activate;

PowerPointApplication1.Presentations.Open (Name, pw, pw, pw);

PowerPointApplication1.Presentations.Item (1).SlideShowSettings.Run;

//Π”Ρ€ΡƒΠ³ΠΎΠΉ способ запуска

// ShellExecute (Application.MainForm.Handle, PChar ('Open'),

// PChar ('Riad.pps'), NIL, PChar (''), sw_ShowNormal);

end;//TFormMain.PresentationClick

procedure TForm1. Word1Click (Sender: TObject);

begin //ΠžΡ‚Ρ‡Π΅Ρ‚ Π² Word

ReportWord (StringGrid1);

end;//TFormMain.Word1Click

Procedure TForm1. ReportExcel (AStringGrid: TStringGrid);

//ΠžΡ‚Ρ‡Π΅Ρ‚ Π² Excel

var

Excel: variant;

WorkBook: variant; //Рабочая ΠΊΠ½ΠΈΠ³Π°

i, j: integer;

begin

//CΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ для Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

FormGraphic:= TFormGraphic. Create (Form1);

//Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π‘ΠΎm-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

Excel:= CreateOleObject ('Excel.Application');

//ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ Π½Π° Π²Π½Π΅ΡˆΠ½ΠΈΠ΅ события-для ускорСния процСсса ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

Excel.Application.EnableEvents:= false;

//Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ

WorkBook:= Excel.WorkBooks.Add;

//ИзмСнСниС ΡˆΠΈΡ€ΠΈΠ½Ρ‹ столбцов

for j:=0 to AStringGrid. ColCount do

WorkBook.WorkSheets[1]. Columns[j+1].ColumnWidth:= 10;

//Π’Ρ‹Π²ΠΎΠ΄ строки

WorkBook.WorkSheets[1]. Cells[1,1]:= 'ΠžΡ‚Ρ‡Π΅Ρ‚ ΠΎ ΠΊΠΎΠ»Π΅Π±Π°Π½ΠΈΡΡ… стСрТня';

//Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ячССк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Excel значСниями ΠΈΠ· StringGrid

//НумСрация ячССк Π² Excel начинаСтся с 1 ΠΈ ΠΈΠ΄Π΅Ρ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ строка-столбСц

for i:= 1 to AStringGrid. RowCount + 1 do

for j:= 0 to AStringGrid. ColCount do

WorkBook.WorkSheets[1]. Cells[i+1, j+1]: = AStringGrid. Cells[j, i-1];

//Вставит ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Excel

WorkBook.WorkSheets[1]. Shapes. AddPicture (GetCurrentDir+'PictureWord.bmp',

True, True, 0, (AStringGrid.RowCount+2)*12.5+10, FormGraphic. Chart1.Width*0.8,

FormGraphic.Chart1.Height*0.8);

//Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ

FormGraphic.Release;

FormGraphic:= NIL;

//ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Excel

Excel.Visible:=true;

end;//TFormMain.ReportExcel

Procedure TForm1. ReportWord (AStringGrid: TStringGrid);

//ΠžΡ‚Ρ‡Π΅Ρ‚ Π² Word

var

i, j, k: integer;

a, b, c: OleVariant;

wa: TWordApplication; //WordApplication

wd: TWordDocument; //WordDocument

begin

//Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ для Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

FormGraphic:= TFormGraphic. Create (Form1);

//Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ com-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

wa:= TWordApplication. Create (Form1);

//ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΡΠ΅Ρ€Π²Π΅Ρ€Ρƒ Word

wa.Connect;

//Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

wa.Documents.Add (EmptyParam, EmptyParam, EmptyParam, EmptyParam);

wd:= TWordDocument. Create (Form1);

wd.ConnectTo (wa.ActiveDocument);

//ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ правописания

wa.Options.CheckSpellingAsYouType:=False;

//ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΎΡ€Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ

wa.Options.CheckGrammarAsYouType:=False;

a:= 0;

b:= 0;

wd.Range.InsertAfter ('ΠžΡ‚Ρ‡Π΅Ρ‚');

c:= Length (wd.Range.Text) — 1;

a:= c;

b:= c + 10;

//Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

wd.Tables.Add (wd.Range (a), AStringGrid. RowCount,

AStringGrid.ColCount, EmptyParam, EmptyParam);

k:= 1;

//ΠŸΠ΅Ρ€Π΅Π½Π΅ΡΡ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· StringGrid Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

for i:= 1 to AStringGrid. RowCount do

for j:= 1 to AStringGrid. ColCount do

wd.Tables.Item (k).Cell (i, j).Range.Text:= AStringGrid. Cells[j-1, i-1];

//Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Image

FormGraphic.Image1.Picture.LoadFromFile ('PictureWord.bmp');

//ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°

Clipboard.Assign (FormGraphic.Image1.Picture);

c:= Length (wd.Range.Text) — 1;

a:= c;

//Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°

wa.Selection.Paste;

//ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Word

wa.Visible:= true;

//Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ

FormGraphic.Release;

FormGraphic:= NIL;

end;//TFormMain.ReportWord

procedure TForm1. Excel1Click (Sender: TObject);

begin

ReportExcel (StringGrid1);

end;

procedure TForm1. SpeedButton2Click (Sender: TObject);

begin

WinExec ('hh.exe 1. chm', SW_SHOW);

end;

end.

Π€Π°ΠΉΠ» Π²Ρ‹Π²ΠΎΠ΄Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ° UnitGraphic. pas

unit UnitGraphic;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, TeEngine, Series, StdCtrls, ExtCtrls, TeeProcs, Chart, XPMan,

TeeFunci, Buttons;

type

TFormGraphic = class (TForm)

Chart1: TChart;

Button1: TButton;

XPManifest1: TXPManifest;

Series1: TLineSeries;

Series2: TLineSeries;

TeeFunction1: TAddTeeFunction;

Series3: TLineSeries;

Image1: TImage;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

procedure Button1Click (Sender: TObject);

procedure BitBtn1Click (Sender: TObject);

procedure BitBtn2Click (Sender: TObject);

procedure BitBtn3Click (Sender: TObject);

procedure BitBtn4Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FormGraphic: TFormGraphic;

implementation

uses UnitRiad;

{$R *.dfm}

procedure TFormGraphic. Button1Click (Sender: TObject);

begin

Chart1.Series[0]. Clear;

Chart1.Series[1].Clear;

Chart1.Series[2].Clear;

Close;

end;//TFormGraphic.Button1Click

procedure TFormGraphic. BitBtn1Click (Sender: TObject);

begin

Riad.Graphic1(FormGraphic.Chart1);

end;

procedure TFormGraphic. BitBtn2Click (Sender: TObject);

begin

Riad.Graphic2(FormGraphic.Chart1);

end;

procedure TFormGraphic. BitBtn3Click (Sender: TObject);

begin

Riad.Graphic3(FormGraphic.Chart1);

end;

procedure TFormGraphic. BitBtn4Click (Sender: TObject);

begin

Chart1.Series[0]. Clear;

Chart1.Series[1].Clear;

Chart1.Series[2].Clear;

end;

end.

end.

Π€Π°ΠΉΠ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ класса — UnitRiad. pas

unit UnitRiad;

interface

uses Chart, Series, Math, Grids, SysUtils, Types, Graphics, IniFiles, Messages, Dialogs, StdCtrls, Variants, Classes, Controls, Forms,

ExtCtrls, Buttons, Menus;

Type

TRiad = class //класс

private

IniFile: TIniFile; //ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ini-Ρ„Π°ΠΉΠ»Π°

w: integer;

public

Constructor Create (AIniFileName: string);

Destructor Destroy;

procedure Graphic1(AChart:TChart); //ΠŸΠΎΡΡ‚ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

procedure Graphic2(AChart:TChart); //ΠŸΠΎΡΡ‚ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

procedure Graphic3(AChart:TChart); //ΠŸΠΎΡΡ‚ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

procedure Table (AStringGrid:TStringGrid); //Π’Ρ‹Π²ΠΎΠ΄ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

procedure WriteToIniFile; //Π—Π°ΠΏΠΈΡΡŒ Π² Ini-Ρ„Π°ΠΉΠ»

procedure ReadFromIniFile; //Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ini-Ρ„Π°ΠΉΠ»Π°

function GetW: integer; //ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ w

procedure SetW; //Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ w

function F (w:integer;t:extended):extended;//ВычислСниС суммы

//property ww: integer read GetW write SetW;

private

end;

var

Riad: TRiad; //ΠžΠ±ΡŠΠ΅ΠΊΡ‚

implementation

uses UnitMain, UnitGraphic;

const P=500;

const x=1;

const TimeStart=0; //ВрСмя Π½Π°Ρ‡Π°Π»Π° отсчСта

const TimeEnd=100; //ВрСмя окончания отсчСта

const TimeStep=0.5; //Π¨Π°Π³ дискрСтизация Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Constructor TRiad. Create (AIniFileName: string);

begin

//Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ini-Ρ„Π°ΠΉΠ»Π°

IniFile:= TIniFile. Create (AIniFileName);

end;//TRiad.Create

Destructor TRiad. Destroy;

begin

//Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· Heap ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ini-Ρ„Π°ΠΉΠ»Π°

if Assigned (IniFile) then

begin

IniFile.Free;

IniFile:= NIL;

end;

end;//TRiad.Create

procedure TRiad. Graphic1(AChart: TChart);

//ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

var

time: extended;

Y: extended;

begin

Time:= TimeStart;

AChart.Series[0]. Clear; //ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Series[0]

AChart.BottomAxis.Increment:= Floor ((TimeEnd — TimeStart) / 5);

//ЗанСсти значСния Π² Series

while (time <= TimeEnd) do

begin

Y:= F (1,time);

AChart.Series[0]. AddXY (time, Y);

time:= time + TimeStep / 4;

end;

end;//TRiad.Graphic1

procedure TRiad. Graphic2(AChart: TChart);

//ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

var

time: extended;

Y: extended;

begin

Time:= TimeStart;

AChart.Series[1]. Clear; //ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Series[0]

AChart.BottomAxis.Increment:= Floor ((TimeEndTimeStart) / 5);

//ЗанСсти значСния Π² Series

while (time <= TimeEnd) do

begin

Y:= F (3,time);

AChart.Series[1]. AddXY (time, Y);

time:= time + TimeStep / 4;

end;

end;//TRiad.Graphic2

procedure TRiad. Graphic3(AChart: TChart);

//ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

var

time: extended;

Y: extended;

begin

Time:= TimeStart;

AChart.Series[2]. Clear; //ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Series[0]

AChart.BottomAxis.Increment:= Floor ((TimeEnd — TimeStart) / 5);

//ЗанСсти значСния Π² Series

while (time <= TimeEnd) do

begin

Y:= F (5,time);

AChart.Series[2]. AddXY (time, Y);

time:= time + TimeStep / 4;

end;

end;//TRiad.Graphic3

function TRiad. F (w: integer;t: extended): extended;

//вычислСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

var

j:integer;

begin

F:=(2*P/x)*(sin (w*t)-½*sin (2*w*t)+1/3*sin (3*w*t)-¼*sin (4*w*t))

end;//TRiad.F

procedure TRiad. Table (AStringGrid: TStringGrid);

//Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

var

k: integer;

time: extended;

y: extended;

begin

k:= 0;

time:= TimeStart;

if w=1 then

while (time <= TimeEnd) do

begin

inc (k);

y:= F (w, time);

Form1.StringGrid1.Cells[2,k]: = FloatToStrF (y, ffFixed, 5, 3);

time:= time + TimeStep;

end

else if w=3 then

while (time <= TimeEnd) do

begin

inc (k);

y:= F (w, time);

Form1.StringGrid1.Cells[3,k]: = FloatToStrF (y, ffFixed, 5, 3);

time:= time + TimeStep;

end

else if w=5 then

while (time <= TimeEnd) do

begin

inc (k);

y:= F (w, time);

Form1.StringGrid1.Cells[4,k]: = FloatToStrF (y, ffFixed, 5, 3);

time:= time + TimeStep;

end ;

end;//TRiad.Table

procedure TRiad. WriteToIniFile;

//запись Π² Ini-Ρ„Π°ΠΉΠ»

begin

IniFile.WriteInteger ('Parameters', 'W', W);

IniFile.UpdateFile;//очистка Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ Π·Π°ΠΏΠΈΡΡŒ Ρ„Π°ΠΉΠ»Π° Π½Π° Π΄ΠΈΡΠΊ

end;//TRiad.WriteToIniFile

procedure TRiad. ReadFromIniFile;

//Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ini-Ρ„Π°ΠΉΠ»Π°

begin

W:= IniFile. ReadInteger ('Parameters', 'W', w);

end;//TRiad.ReadFromIniFile

function TRiad. GetW :integer;

begin

result:= W;

end;//TRiad.GetW

procedure TRiad. SetW;

begin

if Form1. RadioGroup1.ItemIndex=-1 then

MessageDlg (Pchar ('НС Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ w!!!'), mtError,[mbOk], 0);

if Form1. RadioGroup1.ItemIndex =0 then

begin

Form1.Label10.Caption:='1';

w:=1;

end

else if Form1. RadioGroup1.ItemIndex =1 then

begin

Form1.label10.Caption:='3';

w:=3;

end

else

begin

Form1.label10.Caption:='5';

w:=5;

end ;

end;//TRiad.SetW

end.

Π€Π°ΠΉΠ» описания динамичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ About. dpr

library About;

{ Important note about DLL memory management: ShareMem must be the first unit in your library’s USES clause AND your project’s (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This

applies to all strings passed to and from your DLL—even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM. DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM. DLL, pass string information using PChar or ShortString parameters. }

uses

SysUtils,

Classes,

Forms,

UnitAbout in 'UnitAbout.pas' {FormAbout};

{$R *.res}

//ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ

procedure ShowAbout (AOwner:TComponent);

var

Form:TFormAbout;

begin

Form:=TFormAbout.Create (AOwner); //ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ

Form.ShowModal; //ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ

Form.Free; //ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ

end;

exports ShowAbout;

begin

end.

unit UnitAbout;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls, XPMan, Buttons;

type

TFormAbout = class (TForm)

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

BitBtn1: TBitBtn;

Label5: TLabel;

XPManifest1: TXPManifest;

procedure BitBtn1Click (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

FormAbout: TFormAbout;

implementation

{$R *.dfm}

procedure TFormAbout. BitBtn1Click (Sender: TObject);

begin

Close;

end;

end.

Π€Π°ΠΉΠ» описания динамичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Prompt. dpr

library Prompt;

{ Important note about DLL memory management: ShareMem must be the

first unit in your library’s USES clause AND your project’s (select

Project-View Source) USES clause if your DLL exports any procedures or

functions that pass strings as parameters or function results. This

applies to all strings passed to and from your DLL—even those that

are nested in records and classes. ShareMem is the interface unit to

the BORLNDMM. DLL shared memory manager, which must be deployed along

with your DLL. To avoid using BORLNDMM. DLL, pass string information

using PChar or ShortString parameters. }

uses

SysUtils,

Classes,

Windows,

UnitPrompt in 'UnitPrompt.pas' {FormPrompt};

{$R *.res}

//ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ заставку

procedure ShowPrompt (AOwner:TComponent);

var

Time:extended;

Form:TFormPrompt;

begin

Form:=TFormPrompt.Create (AOwner); //Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ

Time:=GetTickCount/1000; //Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ врСмя

Form.Show; //ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ

Form.Repaint; //ΠŸΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ

//Пока Π½Π΅ Π²Ρ‹ΡˆΠ΅Π» Π»ΠΈΠΌΠΈΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ — Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ

while GetTickCount/1000

SysUtils,

ComServ,

UComRiad in 'UComRiad.pas',

UCom_Tlb in 'UCom_Tlb.pas',

Classes,

MyServer_TLB in 'MyServer_TLB.pas';

exports

DllGetClassObject,

DllCanUnloadNow,

DllRegisterServer,

DllUnregisterServer;

{$R *.TLB}

{$R *.res}

begin

end.

Π€Π°ΠΉΠ» описания COMкласса — UComRiad. pas

unit UComRiad;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses

Windows, ActiveX, Classes, ComObj, Chart, Grids, Math, SysUtils, IniFiles,

UCom_Tlb, ExtCtrls;

type

TRiad = class (TComObject, IComRiad)

protected

IniFile: TIniFile; //ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ini-Ρ„Π°ΠΉΠ»Π°

w: integer;

public

Procedure Create (AIniFileName: string); stdcall;

Destructor Destroy;

procedure Graphic (AChart:TChart); stdcall; //ΠŸΠΎΡΡ‚ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

procedure Table (AStringGrid:TStringGrid); stdcall; //Π’Ρ‹Π²ΠΎΠ΄ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

procedure WriteToIniFile; stdcall; //Π—Π°ΠΏΠΈΡΡŒ Π² Ini-Ρ„Π°ΠΉΠ»

procedure ReadFromIniFile; stdcall; //Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ini-Ρ„Π°ΠΉΠ»Π°

function GetW: integer; stdcall; //ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ w

procedure SetW; stdcall; //Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ w

function F (w:integer; t: extended):extended;stdcall;//ВычислСниС суммы

private

end;

implementation

uses ComServ, Dialogs, Graphics, UnitMain;

const P=500;

const x=1;

const TimeStart=0; //ВрСмя Π½Π°Ρ‡Π°Π»Π° отсчСта

const TimeEnd=100; //ВрСмя окончания отсчСта

const TimeStep=0.5; //Π¨Π°Π³ дискрСтизация Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

Procedure TRiad. Create (AIniFileName: string);

begin

//Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ini-Ρ„Π°ΠΉΠ»Π°

IniFile:= TIniFile. Create (AIniFileName);

end;//TRod.Create

Destructor TRiad. Destroy;

begin //НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ

//Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· Heap ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ini-Ρ„Π°ΠΉΠ»Π°

if Assigned (IniFile) then

begin

IniFile.Free;

IniFile:= NIL;

end;

end;//TRod.Create

procedure TRiad. Graphic (AChart: TChart);

//ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

var

time: extended;

Y1, Y2: extended;

begin

Time:= TimeStart;

AChart.Series[0]. Clear; //ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Series[0]

AChart.Series[1]. Clear; //ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Series[1]

AChart.BottomAxis.Increment:= Floor ((TimeEnd — TimeStart) / 5);

//ЗанСсти значСния Π² Series

while (time <= TimeEnd) do

begin

Y1:= F (w, time);

Y2:= F (w, time);

AChart.Series[0]. AddXY (time, Y1);

AChart.Series[1]. AddXY (time, Y2);

time:= time + TimeStep / 4;

end;

end;//TRiad.Graphic

function TRiad. F (w: integer;t: extended): extended;

//вычислСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

var

j:integer;

begin

F:=(2*P/x)*(sin (w*t)-½*sin (2*w*t)+1/3*sin (3*w*t)-¼*sin (4*w*t))

end;//TRiad.F

procedure TRiad. Table (AStringGrid: TStringGrid);

//Π’Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

var

k: integer;

time: extended;

y: extended;

begin

k:= 0;

time:= TimeStart;

while (time <= TimeEnd) do

begin

inc (k);

y:= F (w, time);

Form1.StringGrid1.Cells[2,k]: = FloatToStrF (y, ffFixed, 5, 3);

time:= time + TimeStep;

end;

end;//TRiad.Table

procedure TRiad. WriteToIniFile;

//запись Π² Ini-Ρ„Π°ΠΉΠ»

begin

IniFile.WriteInteger ('Parameters', 'W', W);

IniFile.UpdateFile;//очистка Π±ΡƒΡ„Π΅Ρ€Π° ΠΈ Π·Π°ΠΏΠΈΡΡŒ Ρ„Π°ΠΉΠ»Π° Π½Π° Π΄ΠΈΡΠΊ

end;//TRiad.WriteToIniFile

procedure TRiad. ReadFromIniFile;

//Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ini-Ρ„Π°ΠΉΠ»Π°

begin

W:= IniFile. ReadInteger ('Parameters', 'W', w);

end;//TRiad.ReadFromIniFile

function TRiad. GetW :integer;

begin

result:= W;

end;//TRiad.GetW

procedure TRiad. SetW;

begin

if Form1. RadioGroup1.ItemIndex=-1 then

MessageDlg (Pchar ('НС Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ w!!!'), mtError,[mbOk], 0);

if Form1. RadioGroup1.ItemIndex =0 then

begin

Form1.Label10.Caption:='1';

w:=1;

end

else if Form1. RadioGroup1.ItemIndex =1 then

begin

Form1.label10.Caption:='3';

w:=3;

end

else

begin

Form1.label10.Caption:='5';

w:=5;

end ;

end;//TRiad.SetW

initialization

TComObjectFactory.Create (ComServer, TRiad, Class_ServerRiad,

'ServerRiad', '', ciMultiInstance, tmApartment);

end.

Π€Π°ΠΉΠ» Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚ΠΈΠΏΠΎΠ² COMкласса — Ucom_Tlb.pas

unit UCom_Tlb;

interface

uses Chart, Grids, StdCtrls, ExtCtrls;

const

Class_ServerRiad: TGUID = '{1CB7B26E-5BAF-4BA7−8F17-EA174D7CD750}';

Type

IComRiad = interface

['{1326DD83-DB3E-4054−9572-CFB9EAE3FE95}']

Procedure Create (AIniFileName: string); stdcall;

procedure Graphic (AChart:TChart); stdcall; //ΠŸΠΎΡΡ‚ΠΎΠ΅Π½ΠΈΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠ°

procedure Table (AStringGrid:TStringGrid); stdcall; //Π’Ρ‹Π²ΠΎΠ΄ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

procedure WriteToIniFile; stdcall; //Π—Π°ΠΏΠΈΡΡŒ Π² Ini-Ρ„Π°ΠΉΠ»

procedure ReadFromIniFile; stdcall; //Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· Ini-Ρ„Π°ΠΉΠ»Π°

function Getw: integer; stdcall; //ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ w

procedure Setw; stdcall; //Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ w

function F (w:integer; t: extended):extended;stdcall;//ВычислСниС суммы

end;

implementation

end.

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