【发布时间】:2017-06-20 03:58:48
【问题描述】:
编辑:
我不得不在快速报告中编辑一些旧的 Pascal 脚本,并且很难只返回不同的记录。任何帮助将不胜感激。
所以基本上,我调用存储过程来返回表中的数据。在这些列之一中,有时会有一个 1 字母代码(A、B、C),用于定义要获取报告的 rtf 文件。
目前它确实会获取相应代码的所有 rtf 文件,但有时代码会重复 (A,A),在这种情况下,我需要它只返回 DISTINCT rtf 文件。所以如果A已经被拉了,不要再拉了,继续在该列中寻找其他代码
我的代码: 注意:在 Memo93 中,我只是插入 (table."Class")
procedure GroupHeader17OnBeforePrint(Sender: TfrxComponent );
var
CarGroup: String ;
CarGroupLoop: String;
begin
CarGroup := Memo93.Value;
if not(CarGroup = CarGroupLoop) then
begin
try
GroupHeader17.Visible := TRUE;
rich23.richedit.lines.LoadFromFile('example\'+ trim(Get('@QteLanguage'))+ '\'+ trim(Get('@QteLanguage'))+'_Group_'+ trim(<Table."class">)+ '.rtf');
except
GroupHeader17.Visible := FALSE;
end;
end
else
begin
GroupHeader17.Visible := False;
end;
CarGroupLoop := <table."Class">;
end;
这似乎已经完成了工作,只带回了不同的 rtf 文件。
procedure GroupHeader17OnBeforePrint(Sender: TfrxComponent );
var
CarGroup: String ;
CarGroupLoop: String;
begin
CarGroup := Memo93.Value;
CarGroupLoop := <table."Class">;
if not(CarGroup = CarGroupLoop) then
begin
try
GroupHeader17.Visible := TRUE;
rich23.richedit.lines.LoadFromFile('example\'+ trim(Get('@QteLanguage'))+ '\'+ trim(Get('@QteLanguage'))+'_Group_'+ trim( <table."Class">)+ '.rtf');
except
GroupHeader17.Visible := FALSE;
end;
end
else
begin
GroupHeader17.Visible := False;
end;
end;
【问题讨论】:
-
听起来您想缓存已加载的文件(其中文件名由从数据集中读取的字符组成)以防止加载相同的文件(对于相同的字符)。但我不明白你提到的循环是什么意思。请您详细说明您的问题吗?
-
欢迎来到 Stack Overflow。请注意,您忽略了提出问题,因此获得答案将具有挑战性。请edit您的问题准确地阐明您需要回答什么。鉴于目前没有显示循环,您可以先指出您遇到问题的循环。
-
我基本上需要知道如何使用循环从数据表中的列中获取不同的代码列表。粘贴的代码仍然显示重复。所以我的意思是。我将如何遍历表格的行。
标签: delphi pascal fastreport