私はデータを格納するためにDelphi 6でDeCALのDMultiMapコンテナを使用しています。キーはマップ内に数回現れる文字列です。DelphiでDMultiMap(DeCAL)の検索結果を適切に反復処理する方法は?
特定のキーを持つすべてのオブジェクトに対して正しく反復処理する方法を知りました。
ウィルこのコード:
function IterateOverObjects(map: DMultimap);
var iter: DIterator;
begin
iter := map.locate(['abc']);
while IterateOver(iter) do
begin
// do something with the value...
end;
end;
リターンキーとして 'ABC' とのすべてのオブジェクト?または、最初のオブジェクトからマップのすべてのオブジェクトを 'abc'をキーとして返しますか?
編集:テスト済みです。 'abc'をキーとして最初のオブジェクトからマップのすべてのオブジェクトを返します。 'abc'を反復処理する最良の方法は何ですか?
ありがとうございます。私は構文が好きです。しかし2つの問題:それは同じアイテムに無期限にとどまり、SetToKeyの呼び出しがありません。あなたの投稿に関数の修正版を追加しましたが、それはピアレビュー後にのみ表示されます。 – Name
@名前:修正されたバージョンを別の回答として投稿する必要があります。 – jalf
私の回答を編集しました – Linas