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

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс. 
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ†Π΅Π½ΠΊΠΈ знания студСнта

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

Бвойство Cancel, Ссли Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² true, опрСдСляСт, Ρ‡Ρ‚ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ клавиши Esc Π±ΡƒΠ΄Π΅Ρ‚ эквивалСнтно Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ. Π­Ρ‚ΠΎ свойство цСлСсообразно Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π²Π½Ρ‹ΠΌ true для ΠΊΠ½ΠΎΠΏΠΎΠΊ «ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ» Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠ½Π°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π½Π°ΠΆΠ°Π² Π½Π° ΡΡ‚Ρƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Esc. Бвойство Default, Ссли Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² true, опрСдСляСт, Ρ‡Ρ‚ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ†Π΅Π½ΠΊΠΈ знания студСнта (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠŸΡ€ΠΈ запускС тСста, показываСтся Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° «ΠΠ°Ρ‡Π°Ρ‚ΡŒ тСст». ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΉ тСст ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс ПослС наТатия этой ΠΊΠ½ΠΎΠΏΠΊΠΈ начинаСтся сам тСст, ΠΏΡ€ΠΈ этом откроСтся Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π° ΡΡ‚Π°Ρ€ΠΎΠ΅ закроСтся.

ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ΠΠ°Ρ‡Π°Ρ‚ΡŒ тСст» Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ отобразится вопрос ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΎΡ‚Π²Π΅Ρ‚Π°, Π²Ρ‹Π±ΠΎΡ€ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΎΡ‚Π²Π΅Ρ‚Π° производится ΠΊΠ»ΠΈΠΊΠΎΠΌ ΠΌΡ‹ΡˆΠΈ. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ тСстирования производится ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ «ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ >>>» ΠΏΡ€ΠΈ этом Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹Π΅ вопросы ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΎΡ‚Π²Π΅Ρ‚Π°.

По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ тСста, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° подсчитаСт количСство ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΈ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ Π½Π° ΠΈΡ… ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΡ†Π΅Π½ΠΊΡƒ тСстируСмого.

ОписаниС исходных тСкстов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

unit Unit2; // ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π³Π»Π°Π²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹.

Π’ ΡΡ‚ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ содСрТится нСсколько основных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

var

Form2: TForm2;

Ini: TIniFile;

QuestNum: Integer;

QuestCount: Integer;

Scores: Integer;

Wrong: Integer;

ProgPath : string;

Count: integer;

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ:

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ ΠΈ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ являСтся ΠΊΠ½ΠΎΠΏΠΊΠ° Button располоТСнная Π½Π° ΡΡ‚Ρ€Π°Π½ΠΈΡ†Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Standard.

ОсновноС с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния внСшнСго Π²ΠΈΠ΄Π° свойство ΠΊΠ½ΠΎΠΏΠΊΠΈ — Caption (надпись). Π’ Π½Π°Π΄ΠΏΠΈΡΡΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ использованиС клавиш ускорСнного доступа, выдСляя для этого ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² надписи. ΠŸΠ΅Ρ€Π΅Π΄ символом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ клавишС ускорСнного доступа, ставится символ ампСрсанта «&». Π­Ρ‚ΠΎΡ‚ символ Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅Ρ‚ся Π² Π½Π°Π΄ΠΏΠΈΡΠΈ, Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° Π½ΠΈΠΌ символ оказываСтся ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚Ρ‹ΠΌ. Π’ΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ вмСсто Ρ‰Π΅Π»Ρ‡ΠΊΠ° Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ Π² Π»ΡŽΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Alt совмСстно с ΠΊΠ»Π°Π²ΠΈΡˆΠ΅ΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ символа.

ОсновноС событиС любой ΠΊΠ½ΠΎΠΏΠΊΠΈ — OnClick, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ Π½Π° Π½Π΅ΠΉ. ИмСнно Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ этого события Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅. Помимо этого Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ряд событий, связанных с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ манипуляциями клавишами ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΌΡ‹ΡˆΠΈ.

Бвойство Cancel, Ссли Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² true, опрСдСляСт, Ρ‡Ρ‚ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ клавиши Esc Π±ΡƒΠ΄Π΅Ρ‚ эквивалСнтно Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ. Π­Ρ‚ΠΎ свойство цСлСсообразно Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π°Π²Π½Ρ‹ΠΌ true для ΠΊΠ½ΠΎΠΏΠΎΠΊ «ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ» Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠ½Π°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π½Π°ΠΆΠ°Π² Π½Π° ΡΡ‚Ρƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Esc. Бвойство Default, Ссли Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² true, опрСдСляСт, Ρ‡Ρ‚ΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ клавиши Π²Π²ΠΎΠ΄Π° Enter Π±ΡƒΠ΄Π΅Ρ‚ эквивалСнтно Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° Π΄Π°Π½Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π΄Π°ΠΆΠ΅ Ссли данная ΠΊΠ½ΠΎΠΏΠΊΠ° Π² ΡΡ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ Π½Π°Ρ…одится Π² Ρ„окусС. ΠŸΡ€Π°Π²Π΄Π°, Ссли Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ наТатия Enter Π² Ρ„окусС находится другая ΠΊΠ½ΠΎΠΏΠΊΠ°, Ρ‚ΠΎ Π²ΡΠ΅-Ρ‚Π°ΠΊΠΈ сработаСт ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Π² Ρ„окусС.

Из ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², присущих ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌ, ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ — Click. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° эквивалСнтно Ρ‰Π΅Π»Ρ‡ΠΊΡƒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅, Ρ‚. Π΅. Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ событиС ΠΊΠ½ΠΎΠΏΠΊΠΈ OnClick. Π­Ρ‚ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠΌΠΈ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ дСйствиями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅. ΠŸΡƒΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ клавиши с ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ «Π‘» ΠΈΠ»ΠΈ «Ρ» Π² Π»ΡŽΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, прСдусмотрСнныС Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события OnClick ΠΊΠ½ΠΎΠΏΠΊΠΈ Button1. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ нСизвСстно, ΠΊΠ°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² Ρ„окусС Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ этого события, Π½Π°Π΄ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ„ΠΎΡ€ΠΌΡ‹. Π’Π°ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ осущСствляСтся, Ссли ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свойство Ρ„ΠΎΡ€ΠΌΡ‹ KeyPreview Π² true. Π’ΠΎΠ³Π΄Π° Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события Ρ„ΠΎΡ€ΠΌΡ‹ OnKeyPress ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

if (key='C' or key='c') then Button1.Click;

Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π²Π΅Π» символ «Π‘» ΠΈΠ»ΠΈ «Ρ», Ρ‚ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ Button1.

ΠžΠΏΡ†ΠΈΠΈ ΠΎΠΊΠ½Π° рСдактирования

Π’ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ Edit Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ тСкст содСрТится Π² ΡΠ²ΠΎΠΉΡΡ‚Π²Π΅ Text. Π­Ρ‚ΠΎ свойство ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ проСктирования ΠΈΠ»ΠΈ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ. Π’Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ тСкста, ΠΊΠ°ΠΊ это ΠΈΠΌΠ΅Π»ΠΎ мСсто Π² ΠΌΠ΅Ρ‚ΠΊΠ°Ρ… ΠΈ ΠΏΠ°Π½Π΅Π»ΡΡ…, Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ строк Ρ‚ΠΎΠΆΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½. ВСкст, Π½Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅ Π² ΠΎΠΊΠ½ΠΎ, просто сдвигаСтся, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Π½Π΅ΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ курсора. Бвойство AutoSize Π² ΠΎΠΊΠ½Π°Ρ… рСдактирования ΠΈΠΌΠ΅Π΅Ρ‚ смысл, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ ΡΠΌΡ‹ΡΠ»Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ свойства ΠΌΠ΅Ρ‚ΠΎΠΊ: автоматичСски подстраиваСтся ΠΏΠΎΠ΄ Ρ€Π°Π·ΠΌΠ΅Ρ€ тСкста Ρ‚ΠΎΠ»ΡŒΠΊΠΎ высота, Π½ΠΎ Π½Π΅ ΡˆΠΈΡ€ΠΈΠ½Π° ΠΎΠΊΠ½Π°.

Окна рСдактирования снабТСны ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ функциями, свойствСнными Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Ρƒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ². НапримСр, Π² Π½ΠΈΡ… прСдусмотрСны Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ «Π³ΠΎΡ€ΡΡ‡ΠΈΡ…» клавиш: Ctrl-C — ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ тСкста Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° Clipboard (ΠΊΠΎΠΌΠ°Π½Π΄Π° Copy), Ctrl-X — Π²Ρ‹Ρ€Π΅Π·Π°Π½ΠΈΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ тСкста Π² Π±ΡƒΡ„Π΅Ρ€ Clipboard (ΠΊΠΎΠΌΠ°Π½Π΄Π° Cut), Ctrl-V — вставка тСкста ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° Clipboard Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ курсора (ΠΊΠΎΠΌΠ°Π½Π΄Π° Paste), Ctrl-Z — ΠΎΡ‚ΠΌΠ΅Π½Π° послСднСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ рСдактирования.

Edit ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡΡ‚ΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ отобраТСния тСкста. Для этого Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² true Π΅Π³ΠΎ свойство ReadOnly ΠΈ Ρ†Π΅Π»Π΅ΡΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ AutoSelect Π² false. Π’ ΡΡ‚ΠΎΠΌ случаС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ тСкст, ΠΈ ΠΎΠΊΠ½ΠΎ рСдактирования становится ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌ. ΠŸΡ€ΠΈ использовании ΠΎΠΊΠΎΠ½ рСдактирования для Π²Ρ‹Π²ΠΎΠ΄Π°, Π²Π²ΠΎΠ΄Π° ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ирования чисСл Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π·Π°ΠΈΠΌΠ½ΠΎΠ³ΠΎ прСобразования строк ΠΈ Ρ‡ΠΈΡΠ΅Π». Для Π²Ρ‹Π²ΠΎΠ΄Π° это описанныС ΠΏΡ€ΠΈ рассмотрСнии ΠΌΠ΅Ρ‚ΠΎΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ FloatToStr ΠΈ IntToStr. ΠŸΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ это Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ StrToFloat — ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строки Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, ΠΈ StrToInt — ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строки Π² Ρ†Π΅Π»ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Если Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ тСкст Π½Π΅ ΡΠΎΠΎΡ‚вСтствуСт числу (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, содСрТит нСдопустимыС символы), Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ прСобразования Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ EConvertError.

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ обСспСчиваСт сообщСниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ΅ Π²Π²ΠΎΠ΄Π° ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Π΅ вычислСния. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, это Π½Π΅ Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠ·Π½Π°Π΅Ρ‚ ΠΎ ΡΠ²ΠΎΠ΅ΠΉ ошибкС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° пытаСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅. Π›ΡƒΡ‡ΡˆΠ΅, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ просто Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ‚ ввСсти Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ символы. НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΎΠΊΠ½ΠΎ рСдактирования Edit Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ» Ρ‚ΠΎΡ‡ΠΊΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnKeyPress этого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:

if not (Key in ['0'.'9', ',']) then Key := #0;

Π­Ρ‚ΠΎΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ всС символы, ΠΊΡ€ΠΎΠΌΠ΅ Ρ†ΠΈΡ„Ρ€ ΠΈ Π·Π°ΠΏΡΡ‚ΠΎΠΉ, Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ символом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π·Π°Π½Π΅ΡΠ΅Ρ‚ся Π² Ρ‚Скст ΠΎΠΊΠ½Π° Edit.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

1) функция, ss2nn которая ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ сСкунды Π² ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ + сСкунды Π² ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для подсчСта Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π³ΠΎ с Π½Π°Ρ‡Π°Π»Π° тСстирования):

function TForm2.ss2nn (Seconds: Integer): String;

var

nMin, nSec: Integer;

begin

{ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, мСньшС Ρ‡Π΅ΠΌ 1/Min}

if Seconds < 60 then Result := '0 ΠΌΠΈΠ½ΡƒΡ‚ ' + IntToStr (Seconds) + ' сСкунд'.

else begin

{ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹}

nMin := Seconds div 60;

{ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ сСкунды}

nSec := Seconds — (nMin * 60);

{Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚}

Result := IntToStr (nMin) + ' ΠΌΠΈΠ½ΡƒΡ‚ ' + IntToStr (nSec) + ' сСкунд';

end;

end;

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π°Π΄ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ количСство сСкунд ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° string. НапримСр, Ссли ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ число 70, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ 1 ΠΌΠΈΠ½ΡƒΡ‚ 10 сСкунд.

2) ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ShowQuestion — функция, которая Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ тСкст вопроса ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ², Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ тСкст вопроса ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° Ρ‚Скстовых ΠΌΠ΅Ρ‚ΠΊΠ°Ρ….

procedure TForm2.ShowQuestion;

var

Count, i: Integer;

begin

if (QuestNum > QuestCount) and (QuestNum > 0) then

begin

{ Если Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ вопроса большС Ρ‡Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΈ ΠΊΠΎΠ»-Π²ΠΎ вопросов >0 Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅…}

Form3 := TForm3. Create (self);//создаСм Ρ„ΠΎΡ€ΠΌΡƒ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ тСстирования.

res := (Scores * 100) div QuestCount;// ΡƒΠ·Π½Π°Π΅ΠΌ ΠΊΠΎΠ»-Π²ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ².

Form3.Gauge1.Progress := res; // Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ Π² %

Form3.Gauge2.Progress := 100-res; //Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ»-Π²ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ².

//сколько всСго вопросов…

Form3.Label5.Caption := 'Вопросов Π² Ρ‚СстС: '+IntToStr (QuestCount);

//пишСм Π½Π° label ΠΊΠΎΠ»-Π²ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ².

Form3.Label3.Caption := IntToStr (Scores);

//Ρ‚ΠΎΠΆΠ΅ самоС, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅.

Form3.Label4.Caption := IntToStr (Wrong);

Timer1.Enabled:=False; //Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Form3.TimeLabel.Caption:=TimeLabel.Caption; //Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ врСмя Π½Π° label Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Form3.ShowModal;// Π½Π°ΠΊΠΎΠ½Π΅Ρ† ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΡƒ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ.

Form2.close; //Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΡƒ с Π²ΠΎΠΏΡ€ΠΎΡΠ°ΠΌΠΈ end;

Если Π΄Π°Π½Π½ΠΎΠ΅ условиС Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся, Ρ‚ΠΎ…

Рассмотрим это Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ. Для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ вопросов я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π» класс TIniFile — этот класс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ini-Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Бписок вопросов ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² хранится Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ сформированном Ρ„Π°ΠΉΠ»Π΅ Test.ini, ΠΎΡ‚ΠΊΡƒΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΡ… Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚. Π’ΠΎΡ‚ Π²Ρ‹Ρ€Π΅Π·ΠΊΠ° ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Test.ini:

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ вопроса ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²:

//Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ тСкст вопроса.

Label1.Caption := Ini. ReadString('Вопрос β„–' + inttostr (QuestNum), 'ВСкст вопроса', 'Вопрос отсутствуСт');

//Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ².

RadioButton1.Caption := Ini. ReadString('Вопрос β„–' + inttostr (QuestNum), 'ВСкст ΠΊΠ½ΠΎΠΏΠΊΠΈ 1', 'ERROR');

RadioButton2.Caption := Ini. ReadString('Вопрос β„–' + inttostr (QuestNum), 'ВСкст ΠΊΠ½ΠΎΠΏΠΊΠΈ 2', 'ERROR');

RadioButton3.Caption := Ini.ReadString('Вопрос β„–' + inttostr (QuestNum), 'ВСкст ΠΊΠ½ΠΎΠΏΠΊΠΈ 3', 'ERROR');

RadioButton4.Caption := Ini. ReadString('Вопрос β„–' + inttostr (QuestNum), 'ВСкст ΠΊΠ½ΠΎΠΏΠΊΠΈ 4', 'ERROR');

{ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°}

end;

Π’ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ ReadString класса TIniFile собствСнно ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠΊ (label) с Π²ΠΎΠΏΡ€ΠΎΡΠΎΠΌ ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ².

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

1) ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° — ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠΠ°Ρ‡Π°Ρ‚ΡŒ тСст"(Button1):

procedure TForm2.Button1Click (Sender: TObject);

begin

Count:=0;

Timer1.Enabled:=True;

Label10.Visible:=True;

TimeLabel.Visible:=True;

BitBtn1.Visible := true;

Panel3.Visible := true;

Button1.Visible := false;

Label9.Visible:=True;

BitBtn1.OnClick (self);

end;

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

2) ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° — ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ΠžΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ"(Button):

procedure TForm2.BitBtn1Click (Sender: TObject);

var

Answer, CA: Integer;

begin

Answer := Ini. ReadInteger ('Вопрос β„–' + inttostr (QuestNum), 'ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚', -1);

if Answer < 0 then Exception.Create ('Π’ Ρ„Π°ΠΉΠ»Π΅ с Π²ΠΎΠΏΡ€ΠΎΡΠ°ΠΌΠΈ Π½Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚');

ca := 0;

if RadioButton1.Checked then

Ca := 1;

if RadioButton2.Checked then

Ca := 2;

if RadioButton3.Checked then

Ca := 3;

if RadioButton4.Checked then

Ca := 4;

if Ca = Answer then

inc (Scores)

else

inc (Wrong);

inc (QuestNum);

Label6.Caption := 'НомСр вопроса: ' + IntToStr (QuestNum);

Label8.Caption := 'ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²: ' + IntToStr (Scores);

Label7.Caption := 'ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²: ' + IntToStr (Wrong);

ShowQuestion;

end;

Π§ΠΈΡ‚Π°Π΅ΠΌ ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ ΠΈΠ· Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ini Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

Answer := Ini. ReadInteger('Вопрос β„–' + inttostr (QuestNum), 'ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚', -1);

БобствСнно опрСдСляСм ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

if Ca = Answer then

inc (Scores)

else

inc (Wrong);

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Inc ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° 1. Если Π΄Π° Ρ‚ΠΎ +1 ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ Ссли Π½Π΅Ρ‚, Ρ‚ΠΎ +1 ΠΊ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

procedure TForm2.Timer1Timer (Sender: TObject);

begin

Count:=Count+1;

TimeLabel.Caption:=ss2nn (Count);

end;

ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Count — 0, с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ сСкундой Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ увСличиваСтся Π½Π° 1, Π·Π°Ρ‚Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ss2nn Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пСрСводится Π² ΡΠ΅ΠΊΡƒΠ½Π΄Ρ‹ + ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ (Ссли Π½ΡƒΠΆΠ½ΠΎ) ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выводится Π½Π° TimeLabel. На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΡ, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Рисунок 1 — Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π€ΠΎΡ€ΠΌΠ° с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ тСстирования (Form3/Unit3)

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»Π° тСстированиС, ΠΎΠ½Π° подсчитываСт Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, создаСт ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ тСстирования.

Π’ΠΈΠ΄ Ρ„ΠΎΡ€ΠΌΡ‹ для Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² тСстирования Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π΅ Ρ„ΠΎΡ€ΠΌ Delphi.

Рисунок 2 — Π’ΠΈΠ΄ Ρ„ΠΎΡ€ΠΌΡ‹ для Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² тСстирования Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π΅ Ρ„ΠΎΡ€ΠΌ Delphi.

Кнопка «Ok» Π½Π° Form3 Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° — ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ создания Ρ„ΠΎΡ€ΠΌΡ‹ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ тСстирования описана Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ (Unit2). Рассмотрим Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ собствСнно выставляСт ΠΎΡ†Π΅Π½ΠΊΡƒ.

procedure TForm3.Timer1Timer (Sender: TObject);

begin

if (Gauge1.Progress < 40) then label7.Caption:='2';

if (Gauge1.Progress >= 40)and (Gauge1.Progress <60) then label7.Caption:='3';

if (Gauge1.Progress >=60) and (Gauge1.Progress <=90)

then label7.Caption:='4'; if Gauge1.Progress >90 then label7.Caption:='5'; end;

Π’ Π½Π°ΡΡ‚оящСС врСмя Π² Π½Π°ΡˆΡƒ Тизнь ΡˆΠΈΡ€ΠΎΠΊΠΎ Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‚ΡΡ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. На ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΠΉ дСнь, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, Π½Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚Π°ΠΊΠΎΠΉ области, Π³Π΄Π΅ Π±Ρ‹ ΠΎΠ½ΠΈ Π½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ. Данная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для ΠΎΡ†Π΅Π½ΠΊΠΈ уровня Π·Π½Π°Π½ΠΈΠΉ ΠΏΠΎ Ρ€ΡƒΡΡΠΊΠΎΠΌΡƒ языку Π² ΡˆΠΊΠΎΠ»Π°Ρ…, Π’Π£Π—Π°Ρ…, Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒΠΌΠ°Ρ… ΠΈΠ»ΠΈ для ΠΎΡ†Π΅Π½ΠΊΠΈ собствСнных ΠΏΠΎΠ·Π½Π°Π½ΠΈΠΉ Π² ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π΅ правописания. Π•Ρ‘ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Ρ‘ ΠΏΡ€ΠΎΡΡ‚ΠΎΠΉ, понятной ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΠΉ.

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