четвер, 19 квітня 2018 р.

Лабораторна робота №14 Створення інтерфейсу власної форми

Лабораторна робота №14 Створення інтерфейсу власної форми

Мета: Навчитись будувати інтерфейси власної програми.

Завдання 1.
Використовуючи компоненти Edit, ListBox, ComboBox та інших компонентів створити програму, яка буде конструктором  для Вашої форми для опитування.

Завдання 2.
Створити програму, яка буде проводити опитування та записувати результати до файлу протоколу.

Примітка:
При побудові форми опитування максимально використовувати варіанти відповідей у компонентах ListBox, ComboBox у текстових файлах
Прикрасити форму тематичними малюнками.

Продемонструвати роботу програм..

понеділок, 16 квітня 2018 р.

Метод Application.ProcessMessages


Метод Application.ProcessMessages
 Метод Application.ProcessMessages необходимо применять в динамичных приложениях, требующих немедленного отображения выполненных в программе действий. Для повышения быстродействия программы сообщения (Messages!), которые объект Application посылает объектам программы, этими объектами выполняются не сразу после получения, а по мере накопления некоторой очереди.

   Для иллюстрации работы метода Application.ProcessMessages рассмотрим процедуру, троекратным "мельканием" текста в строке ввода обращающего внимание пользователя на то, что данные не введены:

procedure TForm1.Button1Click(Sender: TObject);
 var i: Integer;
begin
 if Edit1.Text='' then
  begin
   for i:=1 to 3 do
    begin
      Edit1.Text:='Введите данные';
      //Application.ProcessMessages;
      sleep(300);
      Edit1.Text:='';
      //Application.ProcessMessages;
      sleep(300);
    end;
   Edit1.SetFocus;
  end;
end;

   Попробуйте выполнить приложение с закомментированными операторами Application.ProcessMessages, и вы никогда не увидите желаемого 
появления-исчезания текста. Программа идёт дальше, невзирая на то, что необходимые действия визуально не отражены на Форме. Теперь раскомментируйте - и желаемый эффект достигнут. Таким образом, метод Application.ProcessMessages заставляет программу немедленно отразить результат действия уже выполненных ею операторов.

   Аналогично, программа, выполняющая длительные вычисления, может выглядеть зависшей, так как даже сообщения на перемещение её окна или нажатия на кнопки не будут обработаны, пока вычисления не будут закончены. Поэтому нужно либо выполнять вычисления в отдельном потоке, либо периодически выполнять Application.ProcessMessages. Однако, в этом случае нужно учитывать, что выполнение этого метода несколько тормозит выполнение программы, и его вызов не должен быть слишком частым.

   Другой пример, связанный с работой с 
графикой в Delphi. Динамика построения графиков функций, когда график рисуется постепенно, по мере вычисления очередной точки, выглядит в программе очень эффектно. Чтобы добиться такого эффекта, также необходимо применять метод Application.ProcessMessages. Вычисляя положение очередной точки, нужно после её выведения на холст:

 Canvas.LineTo(X[n], Y[n]);
 sleep(200);


добавлять:

 Application.ProcessMessages;

   Без применения последнего оператора мы получим сразу готовый график функции, и даже применение оператора задержки перед выводом очередной точки не поможет.

Лабораторна робота №13 Створення меню

четвер, 5 квітня 2018 р.

Лабораторна робота № 12 Середовище delphi Файли

Лабораторна робота № 12 Середовище delphi Файли
Мета: Навчитись складати та реалізовувати програми у середовищі delphi.

Завдання до лабораторної роботи:
  1. Створити програму, яка буде вводити числа з текстового файлу та знаходити:
- кількість додатніх та від'ємних чисел
- середнє значення
- суми додатніх та від'ємних чисел окремо та разом
Файл чисел створити за допомогою блокнота, де в кожному рядку знаходиться одне ціле число. Кількість чисел у файлі невідома.

2. Написати програму, яка буде виводити два випадкових числа та місце для введення відповіді , наприклад суми. Приклад та введене значення відповіді записати у текстовий файл - протокол роботи програми.
Оформити дизайн програми.

3.Продемонструвати роботу програм.