Створення служби в lazarus - блог lazarus-програміста

Створення служби в lazarus - блог lazarus-програміста
Служби в Windows або як вони називаються в * nix системах Демони призначені для виконання ряду певних завдань без втручання користувача, таких як FTP сервер, WWW або MySQL. Завдяки Lazarus ми можемо створювати такі демони, використовуючи пакет lazdaemon.

Для того щоб почати розробку служби \ демона, встановіть пакет lazdaemon. який за замовчуванням входить до складу Lazarus. Встановити ви його можете як через пункт меню «Пакет / Установка і видалення пакетів», так і через запуск lpk файлу з папки: lazarus / components / daemon / lazdaemon.lpk

Отже, як зазвичай почнемо з постановки завдання: Щоб особливо не мудрувати створимо просту службу, в якій буде запускатися потік, і заносити в файл якийсь текст аж до її зупинки. Запускатися дана служба повинна автоматично при старті системи, мати ім'я devlaz.

Приступимо. Після установки пакети lazdaemon при створенні нової програми, в кінці повинні додасться 3-и рядки. Нас буде цікавити Додаток-демон (служба)

Створення служби в lazarus - блог lazarus-програміста

При створенні нового проекту буде відкрито автоматично 2 невізуальних форми - клас TDaemon і TDaemonMapper.

TDaemon - безпосередньо екземпляр сервісу. Саме цей об'єкт реалізує сам сервіс (його ми бачимо в Windows в «Управління комп'ютерами / Сервіси»). Що потрібно виконати перед \ після установкою \ видалення служби,

TDaemonMapper - Цей компонент виконує реєстрацію служби в системі. Тут ми можемо написати код, який буде виконуватися після установки демона, його видалення і при його запуску.

У властивостях DaemonMapper1 є параметр DaemonDefs, вибираємо його і тиснемо додати:

Створення служби в lazarus - блог lazarus-програміста

Додавши новий потік демона і вибравши його, ми повинні побачити його властивості:

Створення служби в lazarus - блог lazarus-програміста

DaemonClassName за замовчуванням це TDaemon1

Description Це опис нашої служби

DisplayName Коротке ім'я служби

Даних властивостей досить для запуску нашої служби.

Тепер давайте напишемо код. Вибравши DaemonUnit1 додамо в вихідний код наш потік і опишемо в змінної файл в який відбуватиметься запис:

Тепер компілюємо наш проект і запускаємо виконуваний файл з параметром -i для того щоб він встановився в системі. На жаль автоматичний запуск після цього я налаштувати не зміг, якщо комусь це вдалося підкажіть додам до статті, тому запускаємо служби вручну з mmc оснащення Служби:

Створення служби в lazarus - блог lazarus-програміста

Чекаємо приблизно 10 секунд і зупиняємо її звідси ж. В результаті чого в файлі D: \ log.txt повинні з'явиться записи свідчать про роботу потоку.

Для видалення служби з систему потрібно вказати ключ -u

Шлях до служби бажаний без російських символів.

Доп. інформацію ви можете прочитати на сайті Wiki

Вітаю!
Чи не могли б ви описати процес виведення даних з форми зробленої в Lazarus в шаблон документа ms office. Тобто є шаблон наприклад договору, забиваємо дані в форму (номер договору, дата і ін.) і ці дані вставляються в потрібні місця в документі.
З повагою Олег

Привіт, Олег. Вам варто звернути увагу на компонент FPSpreadsheet. довантажувати ваш шаблон і скористатися функцією заміни тексту.

Треба додати Utf8ToSys а то не буде працювати з кирилицею
WordApp.Selection.Find.Text: = WideString (Utf8ToSys ( 'Текст'));
WordApp.Selection.Text: = WideString (Utf8ToSys ( 'Привіт'));

uses
comobj;
procedure TForm1.Button1Click (Sender: TObject);
var
WordApp: OleVariant;
begin
WordApp: = CreateOleObject ( 'Word.Application');

WordApp.Documents.Open ( 'd: \ test.doc'); // Документ вже повинен бути створений


WordApp.Selection.Find.Forward: = True;
WordApp.Selection.Find.Text: = WideString ( 'текст');
if WordApp.Selection.Find.Execute then
WordApp.Selection.Text: = WideString ( 'Привіт');
WordApp.ActiveDocument.Save;
end;

Добрий день. А можете розповісти як зробити так. щоб додатком створеним в lazarus могли користуватися певний час, а потім потрібно було вводити ліцензійний ключ або іншу можливість, щоб можна було обмежити час використання програми. Щоб можна було завантажити тріал версію програми, а потім якщо сподобалося купити ліцензію. ключ або ін. За раніше спасибі

Схожі статті