program Lab5;
uses
SysUtils, Crt;
type
TMouseButton = (mbLeft, mbRight, mbMiddle);
TShiftState = (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);
procedure DemonstrateMouseEvents;
var
x, y: Integer;
button: TMouseButton;
begin
WriteLn('=== ДЕМОНСТРАЦИЯ СОБЫТИЙ МЫШИ ===');
WriteLn('OnMouseDown - нажатие кнопки мыши');
WriteLn('OnMouseUp - отпускание кнопки мыши');
WriteLn('OnMouseMove - перемещение мыши');
WriteLn;
end;
procedure DemonstrateKeyboardEvents;
var
key: Char;
begin
WriteLn('=== ДЕМОНСТРАЦИЯ СОБЫТИЙ КЛАВИАТУРЫ ===');
WriteLn('OnKeyPress - нажатие символьной клавиши');
WriteLn('OnKeyDown - нажатие любой клавиши');
WriteLn('OnKeyUp - отпускание любой клавиши');
WriteLn;
end;
procedure DemonstrateDragDrop;
begin
WriteLn('=== ДЕМОНСТРАЦИЯ DRAG&DROP ===');
WriteLn('DragMode - режим перетаскивания');
WriteLn('OnDragOver - перетаскивание над компонентом');
WriteLn('OnDragDrop - бросок данных');
WriteLn;
end;
procedure ShowStatusBarInfo;
begin
WriteLn('=== КОМПОНЕНТ TStatusBar ===');
WriteLn('Панель состояния с тремя секциями:');
WriteLn('1. Дата: ', DateToStr(Date));
WriteLn('2. Координаты мыши при нажатии');
WriteLn('3. Текущие координаты мыши');
WriteLn;
end;
procedure ShowHints;
begin
WriteLn('=== ПОДСКАЗКИ (HINT) ===');
WriteLn('Panel1: "Эту панель можно перемещать"');
WriteLn('Edit1: "Введите текст здесь"');
WriteLn('Edit2: "Перетащите сюда текст из Edit1"');
WriteLn;
end;
// Демонстрация преобразования регистра
procedure DemonstrateCaseConversion;
var
input: string;
i: Integer;
begin
WriteLn('=== ПРЕОБРАЗОВАНИЕ В ВЕРХНИЙ РЕГИСТР ===');
Write('Введите текст (латинские буквы): ');
ReadLn(input);
for i := 1 to Length(input) do
begin
if input[i] in ['a'..'z'] then
input[i] := Chr(Ord(input[i]) - 32);
end;
WriteLn('Результат: ', input);
WriteLn;
end;
begin
ClrScr;
WriteLn('ЛАБОРАТОРНАЯ РАБОТА №5');
WriteLn('Основы работы с базами данных и событиями');
WriteLn('==========================================');
WriteLn;
DemonstrateMouseEvents;
DemonstrateKeyboardEvents;
DemonstrateDragDrop;
ShowStatusBarInfo;
ShowHints;
DemonstrateCaseConversion;
WriteLn('Нажмите Enter для выхода...');
ReadLn;
end.