我如何输出delphi中某一列下的所有行?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何输出delphi中某一列下的所有行?相关的知识,希望对你有一定的参考价值。
procedure TfrmPlayers.btnPlayersClick(Sender: TObject);
var
i: integer;
begin
memoPlayers.Clear;
with dbgPlayers do
begin
for i := 0 to FieldCount-1 do
begin
memoPlayers.Lines.Add(Fields[i].AsString);
end;
end;
end;
我找到了用于输出第一行中所有列的解决方案。但我想让它在某一列下输出所有行。
答案
您需要遍历所有行(如注释中提到的@BugFinder)。您可以考虑包括两个附加步骤:
- 记住数据集中的记录,以便以后使用
TBookMark
导航。 - 使用
DisableControls
插入数据时禁用数据显示。
示例(根据您的代码):
procedure TfrmPlayers.btnPlayersClick(Sender: TObject);
var
i: integer;
b: TBookMark;
begin
// Clear existing data
memoPlayers.Clear;
// Get the data
b := dbgPlayers.GetBookmark;
dbgPlayers.DisableControls;
try
dbgPlayers.First;
while not dbgPlayers.Eof do begin
for i := 0 to dbgPlayers.FieldCount-1 do begin
memoPlayers.Lines.Add(dbgPlayers.Fields[i].AsString);
endfor;
dbgPlayers.Next;
endwhile;
finally
if dbgPlayers.BookmarkValid then dbgPlayers.GotoBookmark(b);
dbgPlayers.FreeBookmark(b);
dbgPlayers.EnableControls;
endtry;
end;
以上是关于我如何输出delphi中某一列下的所有行?的主要内容,如果未能解决你的问题,请参考以下文章
求代码,Linux系统如何输出文件中某一列数据第一个峰值对应的其他列中的数据