Введение в технологию программирования. Ч.1. Среда объектно-ориентированного программирования Delphi. Коржов Е.Н - 59 стр.

UptoLike

Составители: 

59
Accept := False;
end;
3. ɉɪɢɟɦɧɢɤ ɞɨɥɠɟɧ ɩɪɟɞɭɫɦɚɬɪɢɜɚɬɶ ɜɵɩɨɥɧɟɧɢɟ ɧɟɤɨɬɨɪɵɯ ɞɟɣɫɬ-
ɜɢɣ, ɜ ɫɥɭɱɚɟ ɟɫɥɢ ɢɫɬɨɱɧɢɤ ɡɚɜɟɪɲɢɬ ɩɟɪɟɬɚɫɤɢɜɚɧɢɟ ɢɦɟɧɧɨ ɧɚ ɧɟɦ. Ⱦɥɹ
ɷɬɨɝɨ ɢɫɩɨɥɶɡɭɟɬɫɹ ɦɟɬɨɞ-ɨɛɪɚɛɨɬɱɢɤ OnDragDrop, ɤɨɬɨɪɵɣ ɜɵɡɵɜɚɟɬɫɹ
ɩɪɢ ɨɬɩɭɫɤɚɧɢɢ ɥɟɜɨɣ ɤɧɨɩɤɢ ɦɵɲɢ ɧɚ ɤɨɦɩɨɧɟɧɬɟɩɪɢɟɦɧɢɤɟ.
Ⱦɥɹ Ʉɨɦɩɨɧɟɧɬɚ Edit2:
procedure TForm1.Edit2DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
//ɉɟɪɟɞɚɟɦ ɫɨɞɟɪɠɢɦɨɟ ɢɫɬɨɱɧɢɤɚ ɜ ɩɪɢɟɦɧɢɤ.
Edit2.text := (Source As TEdit).Text;
end;
Ⱦɥɹ ɮɨɪɦɵ:
procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
//ɍɫɬɚɧɚɜɥɢɜɚɟɦ ɢɫɬɨɱɧɢɤɭ ɤɨɨɪɞɢɧɚɬɵ ɦɵɲɢ,
//ɤɨɬɨɪɵɟ ɨɧɚ ɢɦɟɟɬ ɜ ɦɨɦɟɧɬ ɨɩɭɫɤɚɧɢɹ ɤɧɨɩɤɢ
(Source As TPanel).Left := x;
(Source As TPanel).Top := y;
end;
4. ɉɪɨɜɟɪɶɬɟ ɩɪɚɜɢɥɶɧɨɫɬɶ ɜɚɲɢɯ ɞɟɣɫɬɜɢɣ, ɨɫɭɳɟɫɬɜɢɜ ɩɪɨɝɨɧ ɩɪɨ-
ɝɪɚɦɦɵ.
1.4. ɋɨɛɵɬɢɹ, ɫɜɹɡɚɧɧɵɟ ɫ ɤɥɚɜɢɚɬɭɪɨɣ
ȼ ɪɹɞɟ ɫɥɭɱɚɟɜ ɛɵɜɚɟɬ ɭɞɨɛɧɨ ɡɚɞɚɬɶ ɬɢɩ ɫɢɦɜɨɥɨɜ, ɤɨɬɨɪɵɟ ɦɨɝɭɬ
ɛɵɬɶ ɜɜɟɞɟɧɵ ɜ ɫɬɪɨɤɟ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ. ɉɪɨɳɟ ɜɫɟɝɨ ɷɬɨɝɨ ɞɨɫɬɢɱɶ ɜ ɨɛɪɚ-
ɛɨɬɱɢɤɟ ɫɨɛɵɬɢɹ OnKeyPress, ɤɨɬɨɪɨɟ ɩɪɨɢɫɯɨɞɢɬ ɩɪɢ ɤɚɠɞɨɦ ɧɚɠɚɬɢɢ
ɤɥɚɜɢɲɢ.
1. Ⱦɥɹ ɤɨɦɩɨɧɟɧɬɚ Edit1 ɪɟɚɥɢɡɭɟɦ ɩɪɟɨɛɪɚɡɨɜɚɧɢɟ ɜɜɨɞɢɦɨɣ ɢɧɮɨɪ-
ɦɚɰɢɢ ɜ ɫɢɦɜɨɥɵ ɜɟɪɯɧɟɝɨ ɪɟɝɢɫɬɪɚ (ɞɥɹ ɥɚɬɢɧɫɤɢɯ ɫɢɦɜɨɥɨɜ). ɋɨɡɞɚɞɢɦ
ɫɥɟɞɭɸɳɢɣ ɨɛɪɚɛɨɬɱɢɤ:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If Key in ['a'..'z'] Then
Begin Key := Chr(Ord(Key)-32); End;
end;
2. ɉɪɨɜɟɪɶɬɟ
ɩɪɚɜɢɥɶɧɨɫɬɶ ȼɚɲɢɯ ɞɟɣɫɬɜɢɣ, ɨɫɭɳɟɫɬɜɢɜ ɩɪɨɝɨɧ ɩɪɨ-
ɝɪɚɦɦɵ.
1.5. ɋɨɛɵɬɢɹ, ɫɜɹɡɚɧɧɵɟ ɫ ɦɵɲɶɸ
      Accept := False;
   end;
    3. ɉɪɢɟɦɧɢɤ ɞɨɥɠɟɧ ɩɪɟɞɭɫɦɚɬɪɢɜɚɬɶ ɜɵɩɨɥɧɟɧɢɟ ɧɟɤɨɬɨɪɵɯ ɞɟɣɫɬ-
ɜɢɣ, ɜ ɫɥɭɱɚɟ ɟɫɥɢ ɢɫɬɨɱɧɢɤ ɡɚɜɟɪɲɢɬ ɩɟɪɟɬɚɫɤɢɜɚɧɢɟ ɢɦɟɧɧɨ ɧɚ ɧɟɦ. Ⱦɥɹ
ɷɬɨɝɨ ɢɫɩɨɥɶɡɭɟɬɫɹ ɦɟɬɨɞ-ɨɛɪɚɛɨɬɱɢɤ OnDragDrop, ɤɨɬɨɪɵɣ ɜɵɡɵɜɚɟɬɫɹ
ɩɪɢ ɨɬɩɭɫɤɚɧɢɢ ɥɟɜɨɣ ɤɧɨɩɤɢ ɦɵɲɢ ɧɚ ɤɨɦɩɨɧɟɧɬɟ–ɩɪɢɟɦɧɢɤɟ.
– Ⱦɥɹ Ʉɨɦɩɨɧɟɧɬɚ Edit2:
procedure TForm1.Edit2DragDrop(Sender, Source: TObject; X, Y: Integer);
   begin
     //ɉɟɪɟɞɚɟɦ ɫɨɞɟɪɠɢɦɨɟ ɢɫɬɨɱɧɢɤɚ ɜ ɩɪɢɟɦɧɢɤ.
     Edit2.text := (Source As TEdit).Text;
     end;
– Ⱦɥɹ ɮɨɪɦɵ:
procedure TForm1.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
     begin
        //ɍɫɬɚɧɚɜɥɢɜɚɟɦ ɢɫɬɨɱɧɢɤɭ ɤɨɨɪɞɢɧɚɬɵ ɦɵɲɢ,
        //ɤɨɬɨɪɵɟ ɨɧɚ ɢɦɟɟɬ ɜ ɦɨɦɟɧɬ ɨɩɭɫɤɚɧɢɹ ɤɧɨɩɤɢ
        (Source As TPanel).Left := x;
        (Source As TPanel).Top := y;
      end;
   4. ɉɪɨɜɟɪɶɬɟ ɩɪɚɜɢɥɶɧɨɫɬɶ ɜɚɲɢɯ ɞɟɣɫɬɜɢɣ, ɨɫɭɳɟɫɬɜɢɜ ɩɪɨɝɨɧ ɩɪɨ-
ɝɪɚɦɦɵ.
     1.4. ɋɨɛɵɬɢɹ, ɫɜɹɡɚɧɧɵɟ ɫ ɤɥɚɜɢɚɬɭɪɨɣ
     ȼ ɪɹɞɟ ɫɥɭɱɚɟɜ ɛɵɜɚɟɬ ɭɞɨɛɧɨ ɡɚɞɚɬɶ ɬɢɩ ɫɢɦɜɨɥɨɜ, ɤɨɬɨɪɵɟ ɦɨɝɭɬ
ɛɵɬɶ ɜɜɟɞɟɧɵ ɜ ɫɬɪɨɤɟ ɪɟɞɚɤɬɢɪɨɜɚɧɢɹ. ɉɪɨɳɟ ɜɫɟɝɨ ɷɬɨɝɨ ɞɨɫɬɢɱɶ ɜ ɨɛɪɚ-
ɛɨɬɱɢɤɟ ɫɨɛɵɬɢɹ OnKeyPress, ɤɨɬɨɪɨɟ ɩɪɨɢɫɯɨɞɢɬ ɩɪɢ ɤɚɠɞɨɦ ɧɚɠɚɬɢɢ
ɤɥɚɜɢɲɢ.
     1. Ⱦɥɹ ɤɨɦɩɨɧɟɧɬɚ Edit1 ɪɟɚɥɢɡɭɟɦ ɩɪɟɨɛɪɚɡɨɜɚɧɢɟ ɜɜɨɞɢɦɨɣ ɢɧɮɨɪ-
ɦɚɰɢɢ ɜ ɫɢɦɜɨɥɵ ɜɟɪɯɧɟɝɨ ɪɟɝɢɫɬɪɚ (ɞɥɹ ɥɚɬɢɧɫɤɢɯ ɫɢɦɜɨɥɨɜ). ɋɨɡɞɚɞɢɦ
ɫɥɟɞɭɸɳɢɣ ɨɛɪɚɛɨɬɱɢɤ:
      procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
      begin
      If Key in ['a'..'z'] Then
          Begin Key := Chr(Ord(Key)-32); End;
      end;
2. ɉɪɨɜɟɪɶɬɟ ɩɪɚɜɢɥɶɧɨɫɬɶ ȼɚɲɢɯ ɞɟɣɫɬɜɢɣ, ɨɫɭɳɟɫɬɜɢɜ ɩɪɨɝɨɧ ɩɪɨ-
   ɝɪɚɦɦɵ.
     1.5. ɋɨɛɵɬɢɹ, ɫɜɹɡɚɧɧɵɟ ɫ ɦɵɲɶɸ


                                   59