我知道执行以下操作会刷新查询.
query.Close;
query.Open;
Run Code Online (Sandbox Code Playgroud)
但是在这之后它将焦点设置回cxGrid上的第一条记录.
刷新查询后有没有办法让当前记录保持选中状态?
谢谢.
我做了以下......
procedure Tdatamodule.RefreshGrid;
var pos : tbookmark;
begin
pos := qryMainGrid.GetBookmark;
try
qryMainGrid.Close;
qryMainGrid.Open;
qryMainGrid.GotoBookmark(pos);
finally
qryMainGrid.FreeBookmark(pos);
end;
Run Code Online (Sandbox Code Playgroud)
结束;
但现在获取数据集未找到错误消息书签.
任何建议将不胜感激.
创建了一个复制函数,当尝试在其中使用"CopyFile"时,在编译时,Delphi将其标记为未声明的标识符.
难道我做错了什么?
function TdmData.CopyAFile(Sourcefile, DestFile: string): boolean;
var Src, Dest : PChar;
begin
Src := StrAlloc(Length(SourceFile)+1);
Dest := StrAlloc(Length(DestFile)+1);
try
StrPCopy(Src,SourceFile);
StrPCopy(Dest,DestFile);
result := (CopyFile(Src,Dest,FALSE));
finally
StrDispose(Src);
StrDispose(Dest);
end;
end;
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,谢谢.
首先,我是编码和Delphi的新手,几个月来一直在使用它.
下面是一个示例xml文件.
我想要实现的是解析.xml文件的每个'Name'部分中的所有数据.
我以前从未这样做过.一些指导意见将不胜感激.我在这里看到了类似的其他问题,但我不能完全掌握它.
我没有代码示例提供....这是我的困难,我不知道从哪里开始.
<ds>
<Customers>
<Name>
<address_name>test 1</address_name>
<address_line_1>test 1</address_line_1>
<address_line_2>test 1</address_line_2>
<address_line_3>test 1</address_line_3>
<postcode>test 1</postcode>
<tel_no>test 1</tel_no>
<fax_no>test 1</fax_no>
<email_address>test 1<email_address/>
<website>test 1<website />
</Name>
<Name>
<address_name>test 2</address_name>
<address_line_1>test 2</address_line_1>
<address_line_2>test 2</address_line_2>
<address_line_3>test 2</address_line_3>
<postcode>test 2</postcode>
<tel_no>test 2</tel_no>
<fax_no>test 2</fax_no>
<email_address>test 2<email_address/>
<website>test 2<website />
</Name>
<Name>
<address_name>test 3</address_name>
<address_line_1>test 3</address_line_1>
<address_line_2>test 3</address_line_2>
<address_line_3>test 3</address_line_3>
<postcode>test 3</postcode>
<tel_no>test 3</tel_no>
<fax_no>test 3</fax_no>
<email_address>test 3<email_address/>
<website>test 3<website />
</Name>
<Customers>
</ds>
Run Code Online (Sandbox Code Playgroud)
谢谢,
我有一个带有按钮的delphi表单.单击此按钮,它允许用户浏览文件并将文件复制到目录.
我的功能代码是这样的:
function TdmData.CopyAFile(Const Sourcefile, DestFile: string): boolean;
var Src, Dest : PChar;
begin
Src := StrAlloc(Length(SourceFile)+1);
Dest := StrAlloc(Length(DestFile)+1);
try
StrPCopy(Src,SourceFile);
StrPCopy(Dest,DestFile);
result := (CopyFile(Src,Dest,FALSE));
finally
StrDispose(Src);
StrDispose(Dest);
end;
end;
Run Code Online (Sandbox Code Playgroud)
按钮的单击事件:
CopyAFile(fn, Path +'\'+ ExtractFileName(fn));
Run Code Online (Sandbox Code Playgroud)
当我运行这个表单并按下win XP机器上的按钮时,我无法理解,它工作正常,如果我浏览到它被复制到的目录,我可以在那里看到该文件.
但是,在以后的操作系统(如Win 8.1)上运行此表单时,它不会复制文件,再次检查目录,我看不到其中的文件.
我没有得到任何错误,我已经完成了通过罚款的代码.
有没有人遇到过这个或者知道原因是什么?如果有的话,任何帮助都会很棒.