<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=423665&amp;view=findpost&amp;p=3853151</guid>
        <pubDate>Mon, 18 Oct 2021 19:18:36 +0000</pubDate>
        <title>TList: как избежать дублирования элементов?</title>
        <link>https://forum.sources.ru/index.php?showtopic=423665&amp;view=findpost&amp;p=3853151</link>
        <description><![CDATA[vlad2: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=423665&view=findpost&p=3853150'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Славян &#064; <time class="tag-quote__quoted-time" datetime="2021-10-18T21:52:06+03:00">18.10.21, 18:52</time></span><div class='quote '>Если вкратце, то - никак.</div></div><br>
Видимо, придётся ручками. Может, есть WinAPI-шные функции :scratch:]]></description>
        <author>vlad2</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=423665&amp;view=findpost&amp;p=3853150</guid>
        <pubDate>Mon, 18 Oct 2021 18:52:06 +0000</pubDate>
        <title>TList: как избежать дублирования элементов?</title>
        <link>https://forum.sources.ru/index.php?showtopic=423665&amp;view=findpost&amp;p=3853150</link>
        <description><![CDATA[Славян: Если вкратце, то - никак.<br>А если чуть подробнее, то наиболее оптимальный способ, вроде бы, таков:<br>1. Придумываем правило сортировки структуры.<br>2. При каждом добавлении элемента, сравниваем его со всеми в поисках дубликата.<br>3. При непопадании в дубль аккуратно вставляем новый на нужное место.<br><br>Почему оптимальный: время, затрачиваемое на анализ одного элемента, будет всё же небольшим, что положительно скажется на внешней видимости РВ (реального времени). Если же так не делать, а, скажем, проводить поиск дублей каждые 100, 1000, ... включений, то хоть это и может оказаться в сумме быстрее тех первых &#39;каждовключенческих&#39;, но провалы по скорости будут весьма раздражительны.<br><br>Простыми словами: лучше стабильные 20 кадров/секунду, чем непонятное &#39;бросалово&#39; от 5 до 60 кадров/секунду. :blush:]]></description>
        <author>Славян</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=423665&amp;view=findpost&amp;p=3853143</guid>
        <pubDate>Mon, 18 Oct 2021 17:21:40 +0000</pubDate>
        <title>TList: как избежать дублирования элементов?</title>
        <link>https://forum.sources.ru/index.php?showtopic=423665&amp;view=findpost&amp;p=3853143</link>
        <description><![CDATA[vlad2: Наполняю объект TList структурами:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">struct TSTR</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp;UnicodeString Name;</div><div class="code_line">&nbsp;&nbsp;double DB;</div><div class="code_line">&nbsp;&nbsp;double DE;</div><div class="code_line">&nbsp;&nbsp;double Val;</div><div class="code_line">};</div><div class="code_line">...</div><div class="code_line">TList *MyList = new TList();</div><div class="code_line">TSTR *pv;</div><div class="code_line">...</div><div class="code_line">MyList-&#62;Add(new TSTR);</div><div class="code_line">pv = (TSTR*)(MyList-&#62;Items[MyList-&#62;Count - 1]);</div><div class="code_line">pv-&#62;Name = ...;</div><div class="code_line">pv-&#62;DB = ...;</div><div class="code_line">pv-&#62;DE = ...;</div><div class="code_line">pv-&#62;Val &nbsp; = ...;</div><div class="code_line">...</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Как избежать попадание в TList структур с одинаковыми элементами, либо после заполнения его быстро удалить дубликаты?<br>
Может, есть быстрые методы для этого - типа IndexOf или Duplicates в TStringList?<br>
Спасибо.]]></description>
        <author>vlad2</author>
        <category>Borland C++ Builder/Turbo C++ Explorer</category>
      </item>
	
      </channel>
      </rss>
	