unit uConfigMQTT; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IntNum, 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; IntNum1: TIntNum; Button1: TButton; Button2: TButton; 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; intnum1.Value := 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',intnum1.value); WriteString('MQTT','ClientID',Edit2.text); WriteString('MQTT','User',Edit5.Text); WriteString('MQTT','Password',Edit6.text); end; ini.free; frmMain.mqtt_topic := edit1.Text; frmMain.ClientID := Edit2.text; frmMain.brokerIP := Edit3.Text; frmMain.brokerPort := intnum1.Value; frmMain.mqtt_user := Edit5.Text; frmMain.mqtt_pw := Edit6.Text; end; procedure TfrmConfigMQTT.Button2Click(Sender: TObject); begin frmConfigMQTT.Close; end; end.