FDMemTable 右键复制当前行

zuilu5339 2018-06-15 12:51:27
F_Kind:=FDMemTable2.FieldByName('F_Kind').AsString;
F_Unit:=FDMemTable2.FieldByName('F_Unit').AsString;

FDMemTable2.append;
FDMemTable2.FieldByName('F_Type').Value:=F_Type;
FDMemTable2.FieldByName('F_Unit').Value:=F_Unit;
这是手动的

我想根据数据库来,哪些字段设置可以复制行就复制当前行


with FDMemTable1 do
begin
while not Eof do
begin
if DBGridEh1.FieldColumns[FieldByName('F_field').Value].DisplayText<>'' then
F_Type:=DBGridEh1.FieldColumns[FieldByName('F_field').Value].DisplayText;
next;
FDMemTable2.append;
FDMemTable2.FieldByName('F_Color').Value:=F_Type;
end;
end;
类似这样
...全文
1232 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zuilu5339 2018-06-21
  • 打赏
  • 举报
回复
引用 5 楼 lynmison 的回复:
弄个临时数据集(更新模式用批量更新,目的是不提交数据到数据库),复制的时候,把源数据当前记录直接克隆到临时数据集。
粘贴的时候,从临时数据集插入到目标数据集就可以。


关键只是复制,append而已,不是插入
天行归来 2018-06-21
  • 打赏
  • 举报
回复
弄个临时数据集(更新模式用批量更新,目的是不提交数据到数据库),复制的时候,把源数据当前记录直接克隆到临时数据集。
粘贴的时候,从临时数据集插入到目标数据集就可以。
zuilu5339 2018-06-18
  • 打赏
  • 举报
回复
var arr:array [0..10] of string; I:integer; begin arr[0]:=FDMemTable1.Fields[0].AsString; arr[1]:=FDMemTable1.Fields[1].AsString; arr[2]:=FDMemTable1.Fields[2].AsString; arr[3]:=FDMemTable1.Fields[3].AsString; FDMemTable1.Append; FDMemTable1.Fields[0].AsString:=arr[0]; FDMemTable1.Fields[1].AsString:=arr[1]; FDMemTable1.Fields[2].AsString:=arr[2]; FDMemTable1.Fields[3].AsString:=arr[3]; end; 这个方式也不行 不过我们也不知道有多少行,所以能不能用i来代替数组里面的序号,i是字段的序号
zuilu5339 2018-06-18
  • 打赏
  • 举报
回复
procedure CopyData(FrData,ToData:TDataSet;NotCopyField:String;Action:String;isPost:Boolean;isCopySysField:Boolean=False); var I:integer; StrList:TStringList; begin if not (Todata.State in [dsEdit,dsInsert]) then begin if Action = 'I' then ToData.Insert else if Action = 'E' then ToData.Edit end; StrList := TStringList.Create; if not isCopySysField then begin StrList.Add('CMCD'); StrList.Add('CREATEBY'); StrList.Add('CREATEDT'); StrList.Add('EDITBY'); StrList.Add('EDITDT'); StrList.Add('APPROVALBY'); StrList.Add('APPROVALDT'); StrList.Add('STATUSFLAG'); StrList.Add('REVISION'); end; Crlst(StrList,NotCopyField); Try for I:= 0 to Todata.FieldCount -1 do begin if (Todata.Fields[I].DataType <> ftAutoInc) and (Todata.Fields[I].FieldKind = fkData) and (StrList.IndexOf(ToData.Fields[I].FieldName) = -1) and (Frdata.Fields.FindField(Todata.Fields[I].FieldName) <> nil) then begin if not Frdata.Fields.FindField(Todata.Fields[I].FieldName).IsNull then Todata.Fields[I].Value := Frdata.Fields.FindField(Todata.Fields[I].FieldName).Value else Todata.Fields[I].Clear; end; end; if isPost then Todata.Post; Finally StrList.Free; end; end; 这种方式可以不
lyhoo163 2018-06-17
  • 打赏
  • 举报
回复
实质上是复制数据集中,当前行的数据,因为字段类型的关系,要以字符串的形式,保存字段的数据。同时字段数量,双是变化的。 因为,复制这样的数据,使用一个字符数组比较好。将各个字段的值,存入数组中。需要时再读出来。
zuilu5339 2018-06-15
  • 打赏
  • 举报
回复
根据配置复制当前行,自己顶一下
内容概要:本文提出了一种在单向与双向V2G(Vehicle-to-Grid)并环境下,对分布式电源与电动汽车充电站进联合优化配置的方法,并提供了完整的Matlab代码实现。研究综合考虑了分布式光伏、储能系统以及电动汽车充放电为对配电网的影响,构建了一个多目标优化模型,旨在实现电源、负荷与电网之间的协同规划,提升系统运的经济性、稳定性和新能源消纳能力。该方法通过优化分布式电源的选址与定容、充电站布局及V2G调度策略,有效降低网络损耗、改善电压质量,并增强配电网对高渗透率电动汽车的承载能力。文中详细阐述了模型构建、求解算法设计、仿真验证流程及结果分析,适用于城市复杂用电场景下的能源基础设施规划与运优化。; 适合人群:具备电力系统、可再生能源、智能电网等相关专业背景,熟悉Matlab编程与优化算法,从事科研或工程应用的研究生、高校教师及电力业技术人员;特别适合从事电动汽车与电网互动、分布式能源规划、综合能源系统优化等方向的研究人员。; 使用场景及目标:①用于高校与科研机构开展V2G与分布式能源协同优化的课题研究与论文复现;②支撑电网公司、城市规划部门在充电基础设施布局与电网扩容改造中的科学决策;③为撰写高水平SCI/EI期刊论文提供可复现的技术路线、算法框架与仿真代码支持。; 其他说明:资源包含完整Matlab源代码与仿真案例,建议结合文中模型结构、参数设置与优化目标进调试学习,可进一步拓展至不确定性建模、多时间尺度优化、鲁棒优化等高级场景,以提升方法的实际应用价值与学术深度。
内容概要:本文提出了一种基于贝叶斯网络的短期电能负荷预测方法,重点解决电力系统中负荷受天气、节假日等多种不确定性因素影响的问题。通过构建贝叶斯网络模型,融合历史负荷数据及相关外部变量,实现对负荷的概率化预测,有效刻画其随机波动特性与复杂依赖关系。该方法不仅能够量化预测不确定性,还能通过条件概率推理分析各因素对负荷的影响程度,提升预测的鲁棒性与实用性。文中配套提供了完整的Python代码实现,涵盖数据预处理、网络结构学习、参数训练及概率推理全过程,便于读者复现与拓展应用。该技术适用于现代智能电网中的调度决策、需求响应管理与能源规划等场景。; 适合人群:具备一定电力系统基础知识和Python编程能力的科研人员、研究生及从事能源预测、智能电网等相关工作的技术人员。; 使用场景及目标:①应用于短期电能负荷预测,特别是在存在显著不确定性和多源影响因素的实际场景中;②为电力系统运调度、负荷管理、需求响应策略制定以及电网扩容规划提供高可信度的数据支持;③通过动手实践掌握贝叶斯网络在时序预测中的建模流程,深入理解其在处理不确定性问题上的优势与实现细节。; 阅读建议:建议读者结合提供的Python代码逐步实现模型构建过程,重点关注贝叶斯网络的结构设计原则、参数学习算法(如最大似然估计或贝叶斯估计)以及后验概率推理的实现方式,并尝试在不同数据集上进敏感性分析与模型对比实验,以全面掌握该方法的应用精髓。
内容概要:本文系统性地介绍了大语言模型(Large Language Model, LLM)的基本概念、核心技术、发展历程、工作原理及其在人工智能领域的广泛应用。文章首先明确了大语言模型的定义——基于深度神经网络、利用海量文本数据进预训练的模型,具备数十亿至数万亿参数,能够完成文本理解、生成、知识推理和多轮对话等任务。不同于传统AI模型依赖人工规则或针对单一任务设计,大语言模型通过“预训练+微调”范式实现强大的泛化能力,可在不重新训练的情况下适应多种任务。文章进一步阐述了Token、上下文(Context)、Prompt工程、结构化输出、工具调用(Tool Calling)、RAG(检索增强生成)、Agent等关键技术概念,揭示了大模型如何通过概率预测机制逐Token生成内容,并结合外部系统实现复杂任务执。此外,还梳理了大模型的发展脉络,从早期专家系统到深度学习兴起,再到Transformer架构的提出与ChatGPT的爆发,展示了其技术演进的关键节点。 适合人群:对人工智能和大语言模型感兴趣的初学者、高校学生、初级开发者及希望了解AI技术原理的非技术背景从业者。 使用场景及目标:①帮助读者建立对大语言模型的正确认知,区分其与搜索引擎、数据库等传统系统的本质差异;②理解大模型的核心工作机制,如Token处理、上下文管理、Prompt设计与推理过程;③掌握RAG、Agent、工具调用等前沿应用架构,为后续深入学习或开发AI应用打下基础。 阅读建议:本文以科普为导向,侧重概念解释与逻辑梳理,而非底层算法推导,适合循序渐进阅读。建议结合实例思考每个技术点的实际意义,尤其是Token、Context与Prompt之间的关系,以及大模型在真实场景中的局限性(如幻觉问题),从而全面把握其能力边界与发展前景。

16,741

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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