📄 readdata.pas
字号:
unit ReadData;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, Db, DBTables, StdCtrls, ExtCtrls, ImgList, ComCtrls,
ToolWin, Buttons, Menus;
type
TfrmRead = class(TForm)
DataListView: TListView;
DataPanel: TPanel;
Label9: TLabel;
UNO_E: TEdit;
Label10: TLabel;
Label11: TLabel;
ADDRESS_E: TEdit;
NAME_E: TEdit;
Label14: TLabel;
Label15: TLabel;
SCP_E: TEdit;
FIG_E: TEdit;
Label12: TLabel;
Label13: TLabel;
MODEL_E: TEdit;
Label2: TLabel;
Label3: TLabel;
DNO_E: TEdit;
Label4: TLabel;
Label5: TLabel;
MNO_E: TEdit;
CNST_E: TEdit;
Label6: TLabel;
PHS_E: TComboBox;
SpeedButton1: TSpeedButton;
BY_E: TEdit;
Label1: TLabel;
ImageList1: TImageList;
SavePanel: TPanel;
btnSave: TSpeedButton;
btnCancel: TSpeedButton;
Label7: TLabel;
AMP_E: TEdit;
USG_E: TComboBox;
Label8: TLabel;
BYS_E: TComboBox;
btnAppend: TSpeedButton;
btnDelete: TSpeedButton;
Bevel1: TBevel;
Bevel2: TBevel;
Bevel3: TBevel;
Bevel4: TBevel;
PanelID: TPanel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
PFIG_E: TEdit;
GFIG_E: TEdit;
JFIG_E: TEdit;
Label19: TLabel;
FFIG_E: TEdit;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
ampere_E: TEdit;
procedure FormCreate(Sender: TObject);
procedure DataListViewSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
procedure SpeedButton1Click(Sender: TObject);
procedure DataListViewColumnClick(Sender: TObject;
Column: TListColumn);
procedure DataListViewCompare(Sender: TObject; Item1, Item2: TListItem;
Data: Integer; var Compare: Integer);
procedure N2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure btnDeleteClick(Sender: TObject);
procedure btnAppendClick(Sender: TObject);
procedure PanelIDDblClick(Sender: TObject);
procedure DataListViewDblClick(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
TfrmRead: TForm;
end;
var
frmRead: TfrmRead;
ColumnToSort: Integer;
columntosortold:integer;
addorinsert:integer;
implementation
uses pasMain, DM, Promot, Info, err, Global, Moduler, InterCom, find;
{$R *.DFM}
procedure TfrmRead.FormCreate(Sender: TObject);
begin
// Setup windows size
Left := frmInfo.Left + frmInfo.Width;
Top := 0;
Width := frmMain.Width - Left - 12;
Height := frmMain.StatusBar.Top - frmMain.CoolBar1.Height - 5;
columntosortold:=0;
columntosort:=0;
end;
procedure TfrmRead.DataListViewSelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
var
i: Integer;
begin
if Selected = FALSE then exit;
if ChartFlag = COMMANDTN0 then exit;
if chartflag=9 then exit;
with DataListView do
begin
//Disable selected arrow
for i := 0 to Items.Count - 1 do
Items[i].ImageIndex := -1;
//Enable selected arrow
Items[Selected.index].ImageIndex := 3;
end;
if (RUNFLAG =USEREDIT) and (MonitorFlag=False) then
with DataListview do
begin
UNO_E.Text := Items[Selected.index].Caption;
MNO_E.Text := Items[Selected.index].SubItems.Strings[0];
NAME_E.Text :=Items[Selected.index].SubItems.Strings[1];
ADDRESS_E.Text := Items[Selected.index].SubItems.Strings[2];
FIG_E.Text := Trim(Items[Selected.index].SubItems.Strings[3]);
FFIG_E.Text := Trim(Items[Selected.index].SubItems.Strings[4]);
PFIG_E.Text := Trim(Items[Selected.index].SubItems.Strings[5]);
GFIG_E.Text := Trim(Items[Selected.index].SubItems.Strings[6]);
JFIG_E.Text := Trim(Items[Selected.index].SubItems.Strings[7]);
SCP_E.Text := Items[Selected.index].SubItems.Strings[8];
CNST_E.Text := Items[Selected.index].SubItems.Strings[9];
AMP_E.Text := Items[Selected.index].SubItems.Strings[10];
MODEL_E.Text := Items[Selected.index].SubItems.Strings[11];
USG_E.Text := Items[Selected.index].SubItems.Strings[12];
PHS_E.Text := Items[Selected.index].SubItems.Strings[13];
BYS_E.Text := Items[Selected.index].SubItems.Strings[14];
BY_E.Text := Items[Selected.index].SubItems.Strings[15];
end;
//Load data
IF RUNFLAG<>SEARCHRDT then
begin
UNOstr := DataListView.Items[DataListView.Selected.index].Caption;
NameStr :=DataListView.Items[DataListView.Selected.index].SubItems.Strings[1];
AddressStr := DataListView.Items[DataListView.Selected.index].SubItems.Strings[2];
end;
//Selecttion for monitoring
if RUNFLAG = MONITORING then
begin
frmInfo.MeterID.Caption := UNOstr;
frmInfo.ShowLab.Caption := 'ID: ' + UNOstr;
if SearchFlag=False then
begin
frmInfo.lMAX.Caption := DataListView.Items[DataListView.Selected.index].SubItems.Strings[8];
frmInfo.rkWh.Caption := DataListView.Items[DataListView.Selected.index].SubItems.Strings[9];
end;
exit;
end;
if RUNFLAG <> ANALYZING then exit;
end;
procedure TfrmRead.SpeedButton1Click(Sender: TObject);
begin
DataPanel.Visible := False;
end;
procedure TfrmRead.DataListViewColumnClick(Sender: TObject;
Column: TListColumn);
begin
ColumnToSort := Column.Index;
if ColumnToSort <> ColumnToSortOld then DataListView.Column[ColumnToSortOld].ImageIndex := -1;
ColumnToSortOld := ColumnToSort;
if SortFlag = 0 then
begin
SortFlag := 1;
DataListView.Column[ColumnToSort].ImageIndex := 0;
end
else
begin
SortFlag := 0;
DataListView.Column[ColumnToSort].ImageIndex := 1;
end;
(Sender as TCustomListView).AlphaSort;
end;
procedure TfrmRead.DataListViewCompare(Sender: TObject; Item1,
Item2: TListItem; Data: Integer; var Compare: Integer);
var
ix: Integer;
begin
if ColumnToSort = 0 then
begin
if SortFlag = 0 then
Compare := CompareText(Item1.Caption,Item2.Caption)
else
Compare := -CompareText(Item1.Caption,Item2.Caption)
end
else
begin
ix := ColumnToSort - 1;
if SortFlag = 0 then
Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix])
else
Compare := -CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
end;
end;
procedure TfrmRead.N2Click(Sender: TObject);
begin
sortflag:=0;
//frmRead.DataListViewColumnClick(sender,listcolumn);
end;
procedure TfrmRead.N1Click(Sender: TObject);
begin
sortflag:=1;
frmRead.DataListView.ColumnClick:=true;
end;
procedure TfrmRead.btnCancelClick(Sender: TObject);
begin
SavePanel.Visible := FALSE;
frmRead.DataListView.Color := clWhite;
ChartFlag:=9 ;//temp
activecommand:=false;
end;
procedure TfrmRead.btnSaveClick(Sender: TObject);
begin
frmMain.SaveData(Sender);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -