我怎样才能保留一个带有名称的 FireDAC 书签列表?
how can I keep a list of FireDAC bookmarks with a name?
我使用的是最后一个 delphi 版本,我想要一个类似 TStringList 的东西(我可以在其中保存一个字符串列表,并链接一个整数 TObject),但我需要一个列表而不是一个整数 TObject的书签。
我试过仿制药
mySL: TList<TBookmark>;
但我只保存了没有描述的书签。
我希望能够做类似的事情:
var myBookmark1 := TBookmark(mySL('test1'));
var myBookmark2 := TBookmark(mySL('test2'));
你能帮帮我吗?
谢谢
的确,泛型是最简单的解决方案,但您应该使用 TDictionary(键值对的集合)而不是 TList(仅值的集合)。这样您就可以为每个书签关联一个键。
var
mySL: TDictionary<String, TBookmark>;
Bookmark: TBookmark;
begin
...
...
// Create the Dictionary
mySL := TDictionary<String, TBookmark>.Create;
// Store Bookmarks
mySL.Add('Starting Position', MyQuery.GetBookmark);
...
// Retrieve Bookmarks
mySL.TryGetValue('Starting Position', Bookmark);
...
end
方法 TryGetValue 将 return 您一个布尔值,通知您书签是否已找到(并设置为 Bookmark 变量)或书签不存在。
我使用的是最后一个 delphi 版本,我想要一个类似 TStringList 的东西(我可以在其中保存一个字符串列表,并链接一个整数 TObject),但我需要一个列表而不是一个整数 TObject的书签。
我试过仿制药
mySL: TList<TBookmark>;
但我只保存了没有描述的书签。 我希望能够做类似的事情:
var myBookmark1 := TBookmark(mySL('test1'));
var myBookmark2 := TBookmark(mySL('test2'));
你能帮帮我吗? 谢谢
的确,泛型是最简单的解决方案,但您应该使用 TDictionary(键值对的集合)而不是 TList(仅值的集合)。这样您就可以为每个书签关联一个键。
var
mySL: TDictionary<String, TBookmark>;
Bookmark: TBookmark;
begin
...
...
// Create the Dictionary
mySL := TDictionary<String, TBookmark>.Create;
// Store Bookmarks
mySL.Add('Starting Position', MyQuery.GetBookmark);
...
// Retrieve Bookmarks
mySL.TryGetValue('Starting Position', Bookmark);
...
end
方法 TryGetValue 将 return 您一个布尔值,通知您书签是否已找到(并设置为 Bookmark 变量)或书签不存在。