Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.09.2022, 16:25   #1
Dima170792
Пользователь
 
Аватар для Dima170792
 
Регистрация: 04.04.2011
Сообщений: 76
По умолчанию Загрузка и чтение настроек

Добрый день уважаеммые господа.
Сломал весь мозг (милион лет назад работал с Delphi), возможно сможете подсказать или помось в решении задачи.

Делаю микро службу, зада которой при старте запускать файл bat.

Код юнита:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs, IniFiles;

type
  TBOT_srv = class(TService)
    procedure ServiceStart(Sender: TService; var Started: Boolean);
  private
    { Private declarations }
  public
    function GetServiceController: TServiceController; override;
    { Public declarations }
  end;

var
  BOT_srv: TBOT_srv;
  ini:Tinifile;
  s: string;
implementation

{$R *.DFM}

procedure ServiceController(CtrlCode: DWord); stdcall;
begin
  BOT_srv.Controller(CtrlCode);
end;

function TBOT_srv.GetServiceController: TServiceController;
begin
  Result := ServiceController;
end;

procedure TBOT_srv.ServiceStart(Sender: TService; var Started: Boolean);
begin
ini := Tinifile.Create('Settings.ini');
s := ini.ReadString('Bot_set','folder', 'Îøèáêà ïðè ÷òåíèè!');

WinExec('cmd /c "python "'+s+'', SW_Normal);
end;

end.
Не получается считать с файла ini параметр пути выполняемого скрипта.
собственно сам Settings.ini
Код:
[Bot_set]
folder=C:\zabbix\scripts\users\_bot.py
Если не сложно - подскажите где туплю?

Последний раз редактировалось Dima170792; 16.09.2022 в 16:46.
Dima170792 вне форума Ответить с цитированием
Старый 16.09.2022, 18:43   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от Dima170792 Посмотреть сообщение
ini := Tinifile.Create('Settings.ini');
Попробуйте так:
Код:
ini := Tinifile.Create(ExtractFilePath(ParamStr(0)) + 'Settings.ini');
Arigato вне форума Ответить с цитированием
Старый 16.09.2022, 18:45   #3
Dima170792
Пользователь
 
Аватар для Dima170792
 
Регистрация: 04.04.2011
Сообщений: 76
По умолчанию

Код:
procedure TBOT_srv.ServiceStart(Sender: TService; var Started: Boolean);
begin
ini := Tinifile.Create('C:\zabbix\scripts\users\bin\Settings.ini');
s := ini.ReadString('Bot_set','folder', 'Îøèáêà ïðè ÷òåíèè!');
 
WinExec('cmd /c "python "'+s+'', SW_Normal);
end;
на выходе


Код:
[Error] Unit1.pas(41): Incompatible types: 'String' and 'PAnsiChar'
Dima170792 вне форума Ответить с цитированием
Старый 16.09.2022, 18:50   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Код:
WinExec(PAnsiChar('cmd /c "python "'+s), SW_Normal);

Последний раз редактировалось Arigato; 16.09.2022 в 18:56.
Arigato вне форума Ответить с цитированием
Старый 16.09.2022, 19:00   #5
Dima170792
Пользователь
 
Аватар для Dima170792
 
Регистрация: 04.04.2011
Сообщений: 76
По умолчанию

Arigato, СПАСИБО ОГРОМНЕЙШЕЕ! Вы БОГ!!! хорошего Вам вечера.!!!
Dima170792 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чтение настроек из файла 7in Windows 1 13.10.2017 11:27
Сохранение и чтение настроек программы с .ini файла.. FleXik Общие вопросы Delphi 6 25.01.2013 07:00
Загрузка настроек Volkogriz Общие вопросы Delphi 1 19.12.2012 06:25
C# сохранение и загрузка настроек для numericUpDown lamer811 Windows Forms 1 11.07.2011 12:40
Чтение/запись настроек в саму себя(в exe). Человек_Борща Общие вопросы Delphi 19 04.06.2010 20:21