понедельник, 24 марта 2014 г.

Події

OnСlick
При клацанні кнопкою миші
OnDblClick
При подвійному натисканні кнопкою миші
OnMouseDown
При натисканні кнопки миші
OnMouseUp
При відпуску кнопки миші
OnMouseMove
При переміщенні миші
OnKeyPress
При натисканні клавіші клавіатури
OnKeyDown
При натисканні клавіші клавіатури. Події   OnKeyDown   і   OnKeyPress   - Це чергуються, повторюються події, які відбуваються до тих пір, поки не буде відпущена утримувана клавіша (у цей момент відбувається подія OnKeyUp)
OnKeyUp
При відпуску натиснутої клавіші клавіатури
OnCreate
При створенні об'єкта (форми, елемента управління). Процедура обробки цієї події зазвичай використовується для ініціалізації змінних, виконання підготовчих дій
OnPaint
При появі вікна на екрані на початку роботи програми, після появи частині вікна, яка, наприклад, була закрита іншим вікном і в інших випадках
OnEnter
При отриманні елементом управління фокусу
OnExit
При втраті елементом управління фокусу


 procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
      Canvas.TextOut(X, Y, 'X='+IntToStr(X)+' Y='+IntToStr(Y));
end;

 procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
     MessageDlg(Chr(Key), mtInformation, [mbOk], 0);
end;

понедельник, 17 марта 2014 г.

Графіка

Деякі команди бібліотеки GraphABC
Ім'я та параметри команди
Дія команди
Line (x1, y1, x2, y2)
Малює відрізок з точки з координатами (x1, y1) в точку з координатами (x2, y2)
LineTo (x, y)
Малює відрізок з поточної точки в точку з координатами (x, y) (відповідає команді сместіться_в з опущеним пером для виконавця Чертежник)
Rectangle (x1, y1, x2, y2)
Малює контур прямокутника зі сторонами паралельними сторонам екрана. Точки з координатами (x1, y1) і (x2, y2) визначають діагональні вершини прямокутника.
FillRect (x1, y1, x2, y2);
Заливає прямокутник, заданий координатами протилежних вершин (x1, y1) і (x2, y2), кольором поточної кисті.
Circle (x, y, radius);
Малює коло з центром в точці з координатами (x, y) і радіусом radius.
Ellipse (x1, y1, x2, y2);
Малює еліпс, заданий своїм описаним прямокутником з координатами протилежних вершин (x1, y1) і (x2, y2).
TextOut (x, y, text)
Виводить Text на екран. Початок тексту в точці з координатами (x, y)
SetPixel (x, y, color)
Зафарбовує кольором color точку з координатами (x, y)
SetPenColor (color)
Задає колір малювання ліній. Параметр color - число в проміжку від 0 до 256 3 -1.
SetPenWidth (n)
Задає товщину малювання ліній. Параметр n - число в проміжку від 1 до 50
SetPenStyle (ps)
Встановлює стиль пера, що задається параметром ps.
Стилі пера задаються наступними іменованими константами:
Значення
Опис
psSolid
Суцільна лінія
psDash
Штрихова лінія
psDot
Пунктирна лінія
psDashDot
Штріхпунктірная лінія
psDashDotDot
Лінія - штрих і два пунктиру
psClear
Відсутність лінії
Arc (x, y, r, a1, a2)
Малює дугу кола з центром в точці (x, y) і радіусом r, укладеної між двома променями, що утворюють кути a1 і a2 з віссю OX (a1 і a2 - речові, задаються в градусах і відраховуються проти годинникової стрілки).
FloodFill (x, y, color);
Заливає область одного кольору кольором color, починаючи з точки (x, y).
SetBrushColor (color)
Встановлює колір кисті, що задається параметром color
SetBrushStyle (bs);
Встановлює стиль кисті, що задається параметром bs.
Стилі пензля задаються наступними іменованими константами:
Константа
Константа
bsSolid
bsClear
bsCross
dsDiagCross
bsHorizontal
bsVertical
bsBDiagonal
bsFDiagonal
SetFontColor (color);
Встановлює колір шрифту
SetFontSize (sz);
Встановлює розмір шрифту в пунктах.
ClearWindow;
Очищає графічне вікно білим кольором
ClearWindow (c);
Очищає графічне вікно кольором (c).
SetWindowSize (w, h)
Встановлює ширину і висоту графічного вікна.

понедельник, 10 марта 2014 г.

Приклад написання програми для підрахунку кількості знаків у тексті.

Приклад написання програми для підрахунку кількості знаків у тексті.
 
Приклад написання програми для підрахунку кількості знаків у тексті. Цикл від i: = 0 до Memo1.Lines.Count (кількості рядків у Memo1). Вважається довжина кожного рядка (k: = length (Memo1.Lines [i])), і підсумовується (p: = p + k). Після чого отримане число виводиться. Edit1.text: = FloatToStr (p).
 

 

понедельник, 3 марта 2014 г.

задача





знайти суму двох чисел

1 . Заведемо 3 змінні а , б, в. ( Var , б , в: ціле ;)
2 . Запис з : = а + б означатиме , що результат суми двох чисел, що лежать в осередках і б буде записаний в змінну с. Звернемо увагу , що в мові програмування Delphi запис з = а + Ь означатиме , що сума чисел а і б дорівнює с.
Тепер , якщо нам необхідно вирішити приклад 2 +4 = 6 , при запуску програми ми в змінну з покладемо 2 , в B - 4 і програма видасть відповідь 6 .
Використовуючи для введення даних у мові програмування Delphi рядкові поля ( наприклад , класів TEdit , TMemo ) , для вирішення математичних завдань необхідно використовувати функції:
StrToInt ( < змінна> ) ( переклад з рядка в цілий тип даних);
StrToFloat ( < змінна> ) ( переклад з рядка в речовинний тип даних);
Для виведення результату потрібно назад переводити з числового в рядковий тип за допомогою функцій :
IntToStr ( < змінна> ) ( переклад числа з цілого в рядковий тип) ;
FloatToStr ( < змінна> ) ( переклад числа з речового в рядковий тип) ;
Розглянемо алгоритм вирішення арифметичної задачі :
1 . введення даних
наприклад:
: = StrToInt ( Memo1.text ) ; { занести в змінну а вміст многострочного редактора Memo1 , перекладене з строкового в числову форму для виконання математичних дій } .
б : = StrToInt ( Edit1.Text ) ; { занести в змінну б вміст однострочного редактора Edit1 , перекладене з строкового в числову форму для виконання математичних дій } .
2 . проведення певних дій , необхідних в умові завдання.
Наприклад , знаходження суми а і б - з : = а + б; { відповідь з }
3 . висновок результату або повідомлення про проведений аналіз даних.
Висновок результату :
Memo1.text : = IntToStr ( с); { висновок результату рішення прикладу в багатостроковий редактор Memo1 шляхом переведення відповіді з числової в строкову форму } .
Висновок повідомлення :
Edit1.Text : = ' Завдання вирішена успішно ! '; { Виведення повідомлення про проведений аналіз даних в багатостроковий редактор Edit1 } . У даному випадку переклад повідомлення з числового типу в строкову форму НЕ ЗДІЙСНЮЄТЬСЯ !