⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readdata.pas

📁 Monitor.dfm Meter.dpr pasMain.pas
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    SavePanel.Visible := FALSE;
    frmRead.DataListView.Color := clWhite;
    ChartFlag:=9 ;//temp
    activecommand:=false;
end;

procedure TfrmRead.btnDeleteClick(Sender: TObject);
var
    MeterID: String;
begin

    if UNO_E.Text = '' then exit;

    DM1.ModuleDB.Active := TRUE;
    MeterID := ConvertID(UNO_E.Text);

    if DM1.ModuleDB.Locate('DNO;UNO', VarArrayOf([DNOstr,MeterID]), [loCaseInsensitive]) then
    begin
        frmPromot.Hide;
        frmPromot.Promot.Caption := '是否删除 [' + UNO_E.Text + '] 用户信息?';
        if frmPromot.ShowModal <> mrOK then exit;

        DM1.ModuleDB.Delete;
        DataListView.Items.Delete(DataListView.Selected.Index);
    end
    else
    begin
        frmPromot.Hide;
        frmPromot.Promot.Caption := '无此 [' + UNO_E.Text + '] 用户信息!';
        if frmPromot.ShowModal <> mrOK then exit;
    end;
    if DM1.DSTdb.Locate('DNO', DNOstr, [loCaseInsensitive]) then
    begin
        DM1.DSTdb.Edit;
        DM1.DSTdb.FieldByName('DNO').ASSTRING := DNOstr;
        DM1.DSTdb.FieldByName('NMB').AsInteger := DM1.ModuleDB.RecordCount;
        DM1.DSTdb.Post;
        DM1.DSTdb.FlushBuffers ;
        dm1.DSTdb.Refresh;
    end;
end;

procedure TfrmRead.btnAppendClick(Sender: TObject);
var
    I, tStatus: Integer;
    ListItem: TListItem;
    MeterID: String;
begin

    if UNO_E.Text = '' then exit;

    DM1.ModuleDB.Active := TRUE;
    MeterID := ConvertID(UNO_E.Text);

    if DM1.ModuleDB.Locate('DNO;UNO', VarArrayOf([DNOstr,MeterID]), [loCaseInsensitive]) then
    begin
        tStatus := 1;
        DM1.ModuleDB.Edit;
        frmPromot.Hide;
        frmPromot.Promot.Caption := '是否修改 [' + UNO_E.Text + '] 用户信息?';
        if frmPromot.ShowModal <> mrOK then exit;
    end
    else
    begin
        tStatus := 2;
        if addorinsert=1 then
                begin
                        if DM1.ModuleDB.Locate('DNO;UNO', VarArrayOf([DNOstr,datalistview.items[datalistview.selected.index].caption]), [loCaseInsensitive]) then
                                DM1.ModuleDB.insert
                        else
                                exit;

                        frmPromot.Hide;
                        frmPromot.Promot.Caption := '是否插入 [' + UNO_E.Text + '] 用户信息?';
                        if frmPromot.ShowModal <> mrOK then exit;
                end
        else
                begin
                        DM1.ModuleDB.append;
                        frmPromot.Hide;
                        frmPromot.Promot.Caption := '是否添加 [' + UNO_E.Text + '] 用户信息?';
                        if frmPromot.ShowModal <> mrOK then exit;
                end;
    end;

    //Modify Item
    if tStatus = 1 then
    begin
        with DataListview do
        begin
            for I := 0 to Items.Count - 1 do
            begin
                if Items[I].Caption = MeterID then
                begin
                    Items[I].SubItems.Strings[0] := MNO_E.Text;
                    Items[I].SubItems.Strings[1] := NAME_E.Text;
                    Items[I].SubItems.Strings[2] := ADDRESS_E.Text;
                    Items[I].SubItems.Strings[3] := FIG_E.Text;
                    Items[I].SubItems.Strings[4] := FFIG_E.Text;
                    Items[I].SubItems.Strings[5] := PFIG_E.Text;
                    Items[I].SubItems.Strings[6] := GFIG_E.Text;
                    Items[I].SubItems.Strings[7] := JFIG_E.Text;
                    Items[I].SubItems.Strings[8] := SCP_E.Text;
                    Items[I].SubItems.Strings[9] := CNST_E.Text;
                    Items[I].SubItems.Strings[10] := AMP_E.Text;
                    Items[I].SubItems.Strings[11] := MODEL_E.Text;
                    Items[I].SubItems.Strings[12] := USG_E.Text;
                    Items[I].SubItems.Strings[13] := PHS_E.Text;
                    Items[I].SubItems.Strings[14] := ampere_E.Text;
                    Items[I].SubItems.Strings[15] := BY_E.Text;

                    Items[I].Selected := True;
                    Items[I].Focused := True;
                end;
            end;
        end;
    end;

    //Append Item
    if tStatus = 2 then
    begin

        with DataListview do
        begin
            if addorinsert=1 then
                   ListItem := Items.insert(selected.index)
            else
                   ListItem := Items.add;

            ListItem.Caption := MeterID;
            ListItem.ImageIndex := -1;

            ListItem.SubItems.Add(MNO_E.Text);
            ListItem.SubItems.Add(NAME_E.Text);
            ListItem.SubItems.Add(ADDRESS_E.Text);
            ListItem.SubItems.Add(FIG_E.Text);
            ListItem.SubItems.Add(FFIG_E.Text);
            ListItem.SubItems.Add(PFIG_E.Text);
            ListItem.SubItems.Add(GFIG_E.Text);
            ListItem.SubItems.Add(JFIG_E.Text);
            ListItem.SubItems.Add(SCP_E.Text);
            ListItem.SubItems.Add(CNST_E.Text);
            ListItem.SubItems.Add(AMP_E.Text);
            ListItem.SubItems.Add(MODEL_E.Text);
            ListItem.SubItems.Add(USG_E.Text);
            ListItem.SubItems.Add(PHS_E.Text);
            ListItem.SubItems.Add(ampere_E.Text);
            ListItem.SubItems.Add(BY_E.Text);
        end;
    end;

    //Write Table
    DM1.ModuleDB.FieldByName('DNO').AsString := DNOstr;
    DM1.ModuleDB.FieldByName('UNO').AsString := MeterID;
    DM1.ModuleDB.FieldByName('MNO').AsString := MNO_E.Text;
    DM1.ModuleDB.FieldByName('NAME').AsString := NAME_E.text;
    DM1.ModuleDB.FieldByName('ADDRESS').AsString := ADDRESS_E.Text;
    DM1.ModuleDB.FieldByName('FIG').AsString := FIG_E.Text;
    DM1.ModuleDB.FieldByName('PEAKFIG').AsString := FFIG_E.Text;
    DM1.ModuleDB.FieldByName('SHOULDERFIG').AsString := PFIG_E.Text;
    DM1.ModuleDB.FieldByName('OFFPEAKFIG').AsString := GFIG_E.Text;
    DM1.ModuleDB.FieldByName('SHARPFIG').AsString := JFIG_E.Text;
    DM1.ModuleDB.FieldByName('SCP').AsString := SCP_E.Text;
    DM1.ModuleDB.FieldByName('CNST').AsString := CNST_E.Text;
    DM1.ModuleDB.FieldByName('AMP').AsString := AMP_E.Text;
    DM1.ModuleDB.FieldByName('MODEL').AsString := MODEL_E.Text;

    if DM1.BillDB.Locate('NAME', USG_E.Text, [loCaseInsensitive]) then
        DM1.ModuleDB.FieldByName('USG').AsString := DM1.BillDB.FieldByName('USG').AsString;

    DM1.ModuleDB.FieldByName('PHS').AsString := PHS_E.Text;
    DM1.ModuleDB.FieldByName('AMPERE').AsString := AMPERE_E.Text;
    DM1.ModuleDB.FieldByName('BY').AsString := BY_E.Text;

    DM1.ModuleDB.Post;
    DM1.moduleDB.FlushBuffers;
    DM1.ModuleDB.refresh;

    if DM1.DSTdb.Locate('DNO', DNOstr, [loCaseInsensitive]) then
    begin
        DM1.DSTdb.Edit;
        DM1.DSTdb.FieldByName('DNO').ASSTRING := DNOstr;
        DM1.DSTdb.FieldByName('NMB').AsInteger := DM1.ModuleDB.RecordCount;
        DM1.DSTdb.Post;
        DM1.DSTdb.FlushBuffers ;
        dm1.DSTdb.Refresh;
    end;

    frmInfo.ListView1.Items.Clear;
    frmInfo.FormCreate(Sender);
    addorinsert:=0;
end;

procedure TfrmRead.PanelIDDblClick(Sender: TObject);
var
    i: Integer;
begin

    frmPromot.Hide;
    frmPromot.Promot.Caption := '下载 [' + DNO_E.Text + '] 集中器表号?';
    if frmPromot.ShowModal <> mrOK then exit;

    frmRead.Cursor := crHourGlass;

    with DataListView do
    for i := 0 to Items.Count - 1 do
    begin
        DM1.ModuleDB.Append;

        DM1.ModuleDB.FieldByName('DNO').AsString := DNO_E.Text;
        DM1.ModuleDB.FieldByName('UNO').AsString := Items[i].Caption;

        DM1.ModuleDB.FieldByName('FIG').AsString := Items[i].SubItems.Strings[2];

        DM1.ModuleDB.FieldByName('SCP').AsString := SCP_E.Text;
        DM1.ModuleDB.FieldByName('CNST').AsString := cnst_e.text;
        DM1.ModuleDB.FieldByName('AMP').AsString := AMP_E.Text;
        DM1.ModuleDB.FieldByName('MODEL').AsString := MODEL_E.Text;

        if DM1.BillDB.Locate('NAME', USG_E.Text, [loCaseInsensitive]) then
            DM1.ModuleDB.FieldByName('USG').AsString := DM1.BillDB.FieldByName('USG').AsString;

        DM1.ModuleDB.FieldByName('PHS').AsString := Items[i].SubItems.Strings[8];
        DM1.ModuleDB.FieldByName('BYS').AsString := Items[i].SubItems.Strings[9];
        DM1.ModuleDB.FieldByName('BY').AsString := Items[i].SubItems.Strings[10];

        DM1.ModuleDB.FieldByName('RDT').AsString := CurTime;

        DM1.ModuleDB.post;
        DM1.ModuleDB.FlushBuffers ;
        DM1.ModuleDB.Refresh ;
    end;

    frmRead.Cursor := crDefault;

    ChartFlag := 0;
end;

procedure TfrmRead.DataListViewDblClick(Sender: TObject);
begin
         frmMain.StatisticConsumerExecute(Sender);
end;

procedure TfrmRead.SpeedButton2Click(Sender: TObject);
begin
        addorinsert:=1;
        frmRead.btnAppendClick(Sender);
        addorinsert:=0;
end;

procedure TfrmRead.SpeedButton3Click(Sender: TObject);
begin
        frmfind.showmodal ;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -