unit uConfigMQTT; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, inifiles; type TfrmConfigMQTT = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit5: TEdit; Edit6: TEdit; Button1: TButton; Button2: TButton; Edit4: TEdit; procedure FormShow(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmConfigMQTT: TfrmConfigMQTT; implementation uses uMain; {$R *.dfm} procedure TfrmConfigMQTT.FormShow(Sender: TObject); begin edit1.Text := frmMain.mqtt_topic; Edit2.text := frmMain.ClientID; Edit3.Text := frmMain.brokerIP; Edit4.Text := IntToStr(frmMain.brokerPort); Edit5.Text := frmMain.mqtt_user; Edit6.Text := frmMain.mqtt_pw; end; procedure TfrmConfigMQTT.Button1Click(Sender: TObject); var pwd : string; ini : TiniFile; begin pwd := ''; pwd := frmMain.appPath+'NILM_Manager.ini'; ini := TInifile.Create(pwd); with ini do begin WriteString('MQTT','TOPIC', Edit1.text); WriteString('MQTT','BrokerIP',Edit3.text); WriteInteger('MQTT','BrokerPort',StrToInt(Edit4.Text)); WriteString('MQTT','ClientID',Edit2.text); WriteString('MQTT','User',Edit5.Text); WriteString('MQTT','Password',Edit6.text); end; ini.free; frmMain.MQTTClient1.Activate(false); Sleep(300); frmMain.mqtt_topic := edit1.Text; frmMain.ClientID := Edit2.text; frmMain.brokerIP := Edit3.Text; frmMain.brokerPort := StrToInt(Edit4.Text); frmMain.mqtt_user := Edit5.Text; frmMain.mqtt_pw := Edit6.Text; frmMain.MQTTClient1.Activate(true); end; procedure TfrmConfigMQTT.Button2Click(Sender: TObject); begin frmConfigMQTT.Close; end; end.