156 lines
4.0 KiB
ObjectPascal
156 lines
4.0 KiB
ObjectPascal
unit uDevConfig;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, StdCtrls, DB, ZAbstractRODataset, ZDataset, Grids, BaseGrid,
|
|
AdvGrid, AdvUtil, AdvObj;
|
|
|
|
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.Text := AdvStringGrid1.Cells[4, ARow];
|
|
//AdvStringGrid1.Cells[5, ARow] := '';
|
|
//AdvStringGrid1.Cells[6, ARow] := '';
|
|
//AdvStringGrid1.Cells[7, ARow] := '';
|
|
end;
|
|
end;
|
|
|
|
end.
|