看看代码,问题在哪里??

tongki 2002-08-19 04:03:27
我想当移动记录指针时,EDIT里的内容也跟着改变。(不用DBEDIT)。
如何得到正解?

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, Grids, DBGrids, ADODB, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
ADOTable1: TADOTable;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ADOTable1MoveComplete(DataSet: TCustomADODataSet;
const Reason: TEventReason; const Error: Error;
var EventStatus: TEventStatus);
procedure DBGrid1ColumnMoved(Sender: TObject; FromIndex,
ToIndex: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
ADOTable1.Next;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ADOTable1.Prior;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ADOTable1.open;
ADOTable1.First;
edit1.text:=ADOTable1.Fieldbyname('dm').asstring;
edit2.text:=ADOTable1.fieldbyname('mc').asstring;
end;

procedure TForm1.ADOTable1MoveComplete(DataSet: TCustomADODataSet;
const Reason: TEventReason; const Error: Error;
var EventStatus: TEventStatus);
begin
// edit1.text:=ADOTable1.Fieldbyname('dm').asstring;
// edit2.text:=ADOTable1.fieldbyname('mc').asstring;
end;

procedure TForm1.DBGrid1ColumnMoved(Sender: TObject; FromIndex,
ToIndex: Integer);
begin
edit1.text:=ADOTable1.Fieldbyname('dm').asstring;
edit2.text:=ADOTable1.fieldbyname('mc').asstring;
end;

end.

...全文
110 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhzqf1980 2002-08-19
  • 打赏
  • 举报
回复
当然你可以在dbgrid的单击事件中写啊
edit1.text:=ADOTable1.Fieldbyname('dm').asstring;
edit2.text:=ADOTable1.fieldbyname('mc').asstring;
prosectinfo 2002-08-19
  • 打赏
  • 举报
回复
AfterScroll Event 在数据集发生滚动时执行,例如从一条记录移动到另一条记录时,这个事件会自动执行。
你的这段代码 就是用来记录发生变化时,用edit1,edit2显示记录的代码和名称。(如果你用的是TDBedit,数据集滚动时会自动显示,这个事件就用不着了)
tongki 2002-08-19
  • 打赏
  • 举报
回复
我找到了,不过以上的事件是有什么用处?要是有中文的HELP,DELPHI也就有天地了

procedure TForm1.ADOTable1AfterScroll(DataSet: TDataSet);
begin
edit1.text:=ADOTable1.Fieldbyname('dm').asstring;
edit2.text:=ADOTable1.fieldbyname('mc').asstring;
end;
tongki 2002-08-19
  • 打赏
  • 举报
回复
有一个例子,不过是STRINGGRID的。

The following code displays the number of rows a row was moved in a label.

procedure TForm1.StringGrid1RowMoved(Sender: TObject; FromIndex, ToIndex: Longint);

begin
Label1 := IntToStr(Abs(FromIndex-ToIndex));

end;

内容概要:本文围绕基于XGBoost的光伏阵列故障诊断方法展开研究,提出利用XGBoost这一先进的集成学习算法对光伏阵列多类型复合故障进行高效、准确的诊断。文中系统阐述了XGBoost算法的核心原理及其在分类任务中的显著优势,如强大的高维数据处理能力、优异的抗过拟合性能和高预测精度,并将其创新性地应用于光伏发电系统中常见的故障模式识别,涵盖短路、断路、局部阴影遮挡等多种典型故障。通过科学构建特征工程,提取电流、电压、温度等关键运行参数作为模型输入,结合真实运行环境下的实测数据集,完成了模型的训练、验证与性能评估。实验结果充分证明,该方法相较于传统的阈值判断或单一机器学习模型,在诊断准确率、鲁棒性和泛化能力方面均有显著提升,能够有效增强光伏发电系统的智能化运维水平,及时发现潜在故障,从而保障系统安全稳定运行并提高发电效率。; 适合人群:具备一定机器学习基础,从事新能源、电力系统或智能算法研究的研发人员及高校研究生。; 使用场景及目标:①应用于光伏发电系统的实时故障监测与早期预警;②提升光伏电站的智能化运维水平,减少非计划停机时间,降低人工巡检成本;③为风力发电、储能系统等其他可再生能源领域的智能故障诊断提供可借鉴的技术路径与实现方案。; 阅读建议:读者应结合文中提供的Python代码实例,深入理解XGBoost模型从数据预处理、特征工程、模型构建、超参数调优到性能评估的全流程实现细节,建议在自有或公开的光伏数据集上进行复现实验,并通过交叉验证和对比实验优化模型性能,以深刻掌握其在复杂故障诊断场景下的应用精髓。
内容概要:本文研究了考虑阶梯碳交易与绿证联合机制的虚拟电厂多时间尺度优化调度问题,并基于Matlab实现了相应的代码模型。通过构建日前、日内、实时等多时间尺度的协同优化调度框架,整合风电、光伏等可再生能源出力、负荷需求及电力市场交易机制,深入探讨了阶梯式碳定价与绿色证书交易对虚拟电厂运行经济性与低碳效益的耦合作用。研究建立了包含分布式电源、储能系统、可控负荷等多种资源的虚拟电厂聚合模型,采用数学优化算法求解各时间尺度下的调度方案,旨在实现系统运营成本最小化与碳排放强度最低化的双重优化目标。通过仿真案例验证了该联合机制在促进清洁能源消纳、引导削峰填谷、降低系统碳强度以及提升虚拟电厂市场竞争力方面的有效性与优越性。; 适合人群:具备电力系统分析、能源经济学或优化建模基础知识,从事综合能源系统、虚拟电厂运营、碳市场机制设计、低碳调度等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①研究虚拟电厂在碳交易与绿证双重市场机制下的协同优化运行策略;②掌握多时间尺度滚动优化调度的建模方法及其Matlab实现技术;③分析低碳政策工具(如阶梯碳价、绿证)对能源系统调度决策与经济效益的影响机制; 阅读建议:建议结合Matlab代码与文档中的模型结构进行对照学习,重点关注目标函数构建、约束条件设定及时序耦合逻辑,宜通过修改参数和场景设置进行敏感性分析以加深理解。

5,943

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧