SmartFactory_NEOL/SOURCE/Agent,Kiosk/NILM_Manager_D104_PostgreSQL/uDevConfig.~pas
2026-09-04 14:08:41 +09:00

156 lines
4.0 KiB
Plaintext

unit uDevConfig;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ZAbstractRODataset, ZDataset, Grids, BaseGrid,
AdvGrid;
type
TfrmDevConfig = class(TForm)
Label1: TLabel;
cb_nilm: TComboBox;
Label2: TLabel;
AdvStringGrid1: TAdvStringGrid;
ZReadOnlyQuery1: TZReadOnlyQuery;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Label3: TLabel;
cb_nilmCh: TComboBox;
Label4: TLabel;
edt_devName: TEdit;
edt_devID: TEdit;
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure AdvStringGrid1ClickCell(Sender: TObject; ARow,
ACol: Integer);
private
{ Private declarations }
select_devID : integer;
public
{ Public declarations }
procedure ShowDev();
end;
var
frmDevConfig: TfrmDevConfig;
implementation
uses uMain;
{$R *.dfm}
procedure TfrmDevConfig.ShowDev();
var
idxNo, i, nilmid, nilmCh : integer;
devID, devName, S : string;
begin
try
try
if not frmMain.ZConnection1.Connected then frmMain.ZConnection1.Connect();
if frmMain.ZConnection1.Connected then
begin
ZReadOnlyQuery1.Active := false;
ZReadOnlyQuery1.SQL.Clear;
ZReadOnlyQuery1.SQL.Add('SELECT * FROM dev_info');
ZReadOnlyQuery1.Open;
if ZReadOnlyQuery1.RecordCount> 0 then
begin
ZReadOnlyQuery1.First;
i := 0;
AdvStringGrid1.RowCount := ZReadOnlyQuery1.RecordCount + 1;
While not ZReadOnlyQuery1.Eof do
begin
Inc(i, 1);
idxNo := ZReadOnlyQuery1.FieldByName('idxNo').asInteger;
devID := ZReadOnlyQuery1.FieldByName('devID').asString;
nilmid := ZReadOnlyQuery1.FieldByName('nilm_id').asInteger;
nilmCh := ZReadOnlyQuery1.FieldByName('nilm_chNo').asInteger;
devName := ZReadOnlyQuery1.FieldByName('devName').asString;
AdvStringGrid1.Cells[0, i] := inttostr(idxNo);
AdvStringGrid1.Cells[1, i] := devID;
AdvStringGrid1.Cells[2, i] := devName;
AdvStringGrid1.Cells[3, i] := inttostr(nilmid);
AdvStringGrid1.Cells[4, i] := inttostr(nilmCh);
AdvStringGrid1.Cells[5, i] := '';
AdvStringGrid1.Cells[6, i] := '';
AdvStringGrid1.Cells[7, i] := '';
ZReadOnlyQuery1.Next;
end;
end;
end;
finally
if frmMain.ZConnection1.Connected then frmMain.ZConnection1.Disconnect;
end;
except
on e : exception do
begin
frmMain.printlog('Database Connect Error :: '+e.Message, 'DB');
end;
end;
end;
procedure TfrmDevConfig.FormShow(Sender: TObject);
begin
ShowDev();
end;
procedure TfrmDevConfig.Button1Click(Sender: TObject);
var
sql, devID, nilmID, nilmCh, S : string;
begin
sql := '';
S := '';
S := cb_nilm.Text;
nilmID := Copy(S, 1, Pos(':',S)-1);
nilmCh := cb_nilmCh.Text;
devID := edt_devID.Text;
sql := 'INSERT INTO dev_info VALUES(null, '+
''''+devID+''', '+
''+nilmID+', '+
''+nilmCh+', '+
''''+edt_devName.Text+''' '+
')';
frmMain.insertSQL(sql);
ShowDev();
end;
procedure TfrmDevConfig.AdvStringGrid1ClickCell(Sender: TObject; ARow,
ACol: Integer);
var
nilmID : integer;
begin
if ARow > 0 then
begin
select_devID := StrToIntDef(AdvStringGrid1.Cells[0, ARow], 0);
edt_DevID.Text := AdvStringGrid1.Cells[1, ARow];
edt_devName.Text := AdvStringGrid1.Cells[2, ARow];
nilmID := StrToIntDef( AdvStringGrid1.Cells[3, ARow], 0);
if nilmID > 0 then
begin
if frmMain.fNILM[nilmID].idxNo>0 then
begin
cb_nilm.Text := format('%d:%s',[nilmID, frmMain.fNILM[nilmID]._NAME]);
end;
end;
cb_nilmCh.ItemIndex := StrToIntDef(AdvStringGrid1.Cells[4, ARow], 0);
//AdvStringGrid1.Cells[5, ARow] := '';
//AdvStringGrid1.Cells[6, ARow] := '';
//AdvStringGrid1.Cells[7, ARow] := '';
end;
end;
end.