Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Delphi. Учимся Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 10

Автор Π‘Π΅Ρ€Π³Π΅ΠΉ ΠŸΠ°Ρ€ΠΈΠΆΡΠΊΠΈΠΉ

   popad.Caption:= '0'; //сброс Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

   //ΠŸΡ€ΠΈΠ΄Π°Π΅ΠΌ ΠΎΠΊΠ½Ρƒ ΡΠ»Π»ΠΈΠΏΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ

   forma:= CreateEllipticRgn(0, 0, Form1.Width, Form1.Height);

   SetWindowRgn(Handle, forma, True);

   //УстанавливаСм Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ пСрСмСщСния ΠΎΠΊΠ½Π°

   Timer1.Interval:= 1000;

   Timer1.Enabled:= True; //Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΈΠ³Ρ€Ρƒ

  end

  else Halt; //Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΈΠ³Ρ€Ρ‹

 end;

end;


end.

⊚ ВсС Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ исполняСмый Ρ„Π°ΠΉΠ» рассмотрСнной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ находятся Π½Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π΅ΠΌΠΎΠΌ ΠΊ ΠΊΠ½ΠΈΠ³Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-дискС Π² ΠΏΠ°ΠΏΠΊΠ΅ Chapter_08.

Π“Π»Π°Π²Π° 9

Π˜Π³Ρ€Π° "Π£Π³Π°Π΄Ρ‹Π²Π°Π½ΠΈΠ΅ чисСл"

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

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ³Ρ€Ρƒ, Ρ†Π΅Π»ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π½ΠΈΠΈ случайного числа ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° чисСл. Π”Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ с сопСрником ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Delphi ΠΈ присвойтС свойству Caption (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ) Ρ„ΠΎΡ€ΠΌΡ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π˜Π³Ρ€Π°. Π£Π³Π°Π΄Ρ‹Π²Π°Π½ΠΈΠ΅ чисСл. Π’Π²Π΅Ρ€Ρ…Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹ Π±ΡƒΠ΄ΡƒΡ‚ располоТСны элСмСнты управлСния для настройки Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… чисСл. РазмСстим Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Ρ‚Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Label (ΠΌΠ΅Ρ‚ΠΊΠΈ) ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Standard ΠΈ Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Edit (ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°) Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. ИзмСним ΠΈΡ… свойства согласно Ρ‚Π°Π±Π». 9.1.

Π’Π°Π±Π»ΠΈΡ†Π° 9.1. Бвойства ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для настройки Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΡƒΠ³Π°Π΄Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… чисСл

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Бвойство Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ПояснСниС Label1 Caption Π”ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ чисСл: Надпись ΠΌΠ΅Ρ‚ΠΊΠΈ Font.Style [fsBold] НачСртаниС ΡˆΡ€ΠΈΡ„Ρ‚Π° β€” ΠΏΠΎΠ»ΡƒΠΆΠΈΡ€Π½ΠΎΠ΅ Left 8 ΠžΡ‚ΡΡ‚ΡƒΠΏ слСва Top 16 ΠžΡ‚ΡΡ‚ΡƒΠΏ свСрху Label2 Caption ΠΎΡ‚ Надпись ΠΌΠ΅Ρ‚ΠΊΠΈ Font.Style [fsBold] НачСртаниС ΡˆΡ€ΠΈΡ„Ρ‚Π° β€” ΠΏΠΎΠ»ΡƒΠΆΠΈΡ€Π½ΠΎΠ΅ Left 104 ΠžΡ‚ΡΡ‚ΡƒΠΏ слСва Top 16 ΠžΡ‚ΡΡ‚ΡƒΠΏ свСрху Label3 Caption Π΄ΠΎ Надпись ΠΌΠ΅Ρ‚ΠΊΠΈ Font.Style [fsBold] НачСртаниС ΡˆΡ€ΠΈΡ„Ρ‚Π° β€” ΠΏΠΎΠ»ΡƒΠΆΠΈΡ€Π½ΠΎΠ΅ Left 216 ΠžΡ‚ΡΡ‚ΡƒΠΏ слСва Top 16 ΠžΡ‚ΡΡ‚ΡƒΠΏ свСрху Edit1 Name start НовоС имя поля, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для Π²Π²ΠΎΠ΄Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ числа Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Text 1 Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ поля Left 128 ΠžΡ‚ΡΡ‚ΡƒΠΏ слСва Top 8 ΠžΡ‚ΡΡ‚ΡƒΠΏ свСрху Width 57 Π¨ΠΈΡ€ΠΈΠ½Π° Edit2 Name finish НовоС имя поля, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ числа Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Text 1000 Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ поля Left 256 ΠžΡ‚ΡΡ‚ΡƒΠΏ слСва Top 8 ΠžΡ‚ΡΡ‚ΡƒΠΏ свСрху Width 57 Π¨ΠΈΡ€ΠΈΠ½Π°

РазмСститС Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΠΎΠ΄ этими ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Label, Π½Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ Π΅Π³ΠΎ pl1 (свойство Name), Π° свойству Caption присвойтС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ³Ρ€ΠΎΠΊ:. Π‘ΠΏΡ€Π°Π²Π° ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΊΠΈ pl1 размСститС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Edit, свойству Name ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ присвойтС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ch1, Π° свойству Text β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0. Π‘ΠΏΡ€Π°Π²Π° ΠΎΡ‚ поля ch1 размСститС Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Label. ΠŸΡ€ΠΈΡΠ²ΠΎΠΉΡ‚Π΅ Π΅ΠΌΡƒ имя znak1 ΠΈ очиститС свойство Caption.

Под ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ pl1, ch1 ΠΈ znak1 размСститС Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°, присвоив ΠΈΠΌ ΠΈΠΌΠ΅Π½Π° Ρ€l2, ch2 ΠΈ znak2 соотвСтствСнно. Бвойству Ρ€l2.Caption присвойтС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ³Ρ€ΠΎΠΊ:, свойству ch2.Text β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0, Π° свойство znak2.Caption очиститС. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΠ³Ρ€Ρƒ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ³Ρ€ΠΎΠΊ, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄ для Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°. Для этого ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Enabled для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ch2 ΠΈ Ρ€12 Π½Π° False.

РазмСститС Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ справа ΠΎΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² znak1 ΠΈ znak2 Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Label ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ свойства согласно Ρ‚Π°Π±Π». 9.2.

Π’Π°Π±Π»ΠΈΡ†Π° 9.2. Бвойства Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Label

Бвойство Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ПояснСниС Name X НовоС имя ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Caption X Надпись ΠΌΠ΅Ρ‚ΠΊΠΈ Font.Color clRed Π¦Π²Π΅Ρ‚ ΡˆΡ€ΠΈΡ„Ρ‚Π° β€” красный Font.Name Courier New НазваниС ΡˆΡ€ΠΈΡ„Ρ‚Π° Font.Size 36 Π Π°Π·ΠΌΠ΅Ρ€ ΡˆΡ€ΠΈΡ„Ρ‚Π° Font.Style [fsBold] НачСртаниС ΡˆΡ€ΠΈΡ„Ρ‚Π° β€” ΠΏΠΎΠ»ΡƒΠΆΠΈΡ€Π½ΠΎΠ΅ Height 54 Высота ΠΌΠ΅Ρ‚ΠΊΠΈ

НиТС всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² размСститС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Checkbox (Ρ„Π»Π°ΠΆΠΎΠΊ) ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Standard. ΠŸΡ€ΠΈΡΠ²ΠΎΠΉΡ‚Π΅ Π΅Π³ΠΎ свойству Name Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ comp, a свойству Caption β€” Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π˜Π³Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° (прослСдитС Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ свойство Checked Π±Ρ‹Π»ΠΎ Ρ€Π°Π²Π½ΠΎ False).

НиТС размСститС Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Button ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Standard), присвоив ΠΈΡ… свойству Caption значСния ΠŸΡ€ΠΈΠ½ΡΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΈ Новая ΠΈΠ³Ρ€Π°. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ рис. 9.1.

Рис. 9.1. Π€ΠΎΡ€ΠΌΠ° для ΠΈΠ³Ρ€Ρ‹ "Π£Π³Π°Π΄Ρ‹Π²Π°Π½ΠΈΠ΅ чисСл"

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

ΠŸΡ€Π΅ΠΆΠ΄Π΅ всСго, объявим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° протяТСнии всСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

var

 Form1: TForm1;

 num, j, i, kolvo, big, small: integer;

 maximum, minimum: array [1..100] of integer; {массивы ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… чисСл}

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ num соотвСтствуСт случайно Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ число, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ kolvo β€” количСство ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ число Π±Ρ‹Π»ΠΎ ΠΎΡ‚Π³Π°Π΄Π°Π½ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ big β€” наибольшСС число ΠΈΠ· Π½Π°Π·Π²Π°Π½Π½Ρ‹Ρ…, Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ small β€” наимСньшСС число ΠΈΠ· Π½Π°Π·Π²Π°Π½Π½Ρ‹Ρ….

Π’Π΅ΠΏΠ΅Ρ€ΡŒ напишСм Π΄Π²Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² случаС ΠΈΠ³Ρ€Ρ‹ ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ нахоТдСния числа. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° min Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ниТнюю Π³Ρ€Π°Π½ΠΈΡ†Ρƒ, Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° max β€” Π²Π΅Ρ€Ρ…Π½ΡŽΡŽ.

Объявим эти ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΊΠ°ΠΊ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Ρ‡Π»Π΅Π½Ρ‹ класса Ρ„ΠΎΡ€ΠΌΡ‹:

type

 TForm1 = class(TForm)

 β€¦

private

 { Private declarations }

 procedure min();

 procedure max();

public

 { Public declarations }

end;

ПослС этого создадим сами ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ implementation:

//ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° нахоТдСния наимСньшСго числа

procedure TForm1.min();

begin

 for i:=1 to kolvo do begin

  for j:=1 to kolvo do begin

   {Если число мСньшС наимСньшСго, Ρ‚ΠΎ ΠΎΠ½ΠΎ становится наимСньшим}

   if minimum[j] > small then small:= minimum[j];

  end;

 end;

end;


//ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° нахоТдСния наибольшСго числа

procedure TForm1.max();

var temp: integer;

begin

 temp:= StrToInt(finish.Text);

 for i:=1 to kolvo do begin

  for j:=1 to kolvo do begin

   if temp > maximum[j] then

    if maximum[j] > 0 then temp:= maximum[j]; {Ссли число большС Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΠ΅Π³ΠΎβ€¦}

  end;

 end;

 if ( (temp<>0) and (temp<>StrTolnt(finish.Text)) ) then