<?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=75255&amp;view=findpost&amp;p=539753</guid>
        <pubDate>Sat, 11 Dec 2004 08:19:51 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=539753</link>
        <description><![CDATA[Song: <strong class='tag-b'>Kostas</strong>, о ресурсах не почёшься? :)]]></description>
        <author>Song</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=539418</guid>
        <pubDate>Fri, 10 Dec 2004 19:35:28 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=539418</link>
        <description><![CDATA[Kostas: в общем помучавшись я все же добился желаемого результата, однако он меня не устроил. Решил свою проблему совсем по другому: создал вторую форму, а на ней другой СтрингГрид для результатов поиска. Если кому интересно, то вот рабочий код для такого поиска (в ФАКе нету):<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">procedure TForm1.Button2Click(Sender: TObject);</div><div class="code_line">Var i,j,g:integer;</div><div class="code_line">begin</div><div class="code_line">For j:=1 To Form2.StringGrid1.ColCount-1 Do</div><div class="code_line">&nbsp;For i:=1 To Form2.StringGrid1.RowCount-1 Do</div><div class="code_line">&nbsp;&nbsp;Form2.StringGrid1.Cells[j,i]:=&#39;&#39;;</div><div class="code_line">Form2.StringGrid1.RowCount:=2;</div><div class="code_line">&nbsp;</div><div class="code_line">g:=0;</div><div class="code_line">&nbsp;</div><div class="code_line">For i:=0 To StringGrid1.ColCount-1 Do</div><div class="code_line">&nbsp;For j:=0 To StringGrid1.RowCount-1 Do</div><div class="code_line">&nbsp;&nbsp;if pos(AnsiUpperCase(Edit3.Text), AnsiUpperCase(StringGrid1.Cells[i,j]))&#62;0 then</div><div class="code_line">&nbsp;&nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;g:=g+1;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Form2.StringGrid1.Rows[g].Assign(StringGrid1.Rows[j]);</div><div class="code_line">&nbsp;&nbsp; &nbsp;Form2.StringGrid1.RowCount:=Form2.StringGrid1.RowCount+1;</div><div class="code_line">&nbsp;&nbsp; end;</div><div class="code_line">&nbsp;</div><div class="code_line">//Показываем результаты поиска</div><div class="code_line">Form2.StringGrid1.RowCount:=Form2.StringGrid1.RowCount-1;</div><div class="code_line">Form2.StringGrid1.Rows[0].Assign(StringGrid1.Rows[0]);</div><div class="code_line">if Form2.StringGrid1.RowCount&#62;1 then</div><div class="code_line">&nbsp;Form2.Show</div><div class="code_line">else</div><div class="code_line">&nbsp;begin</div><div class="code_line">&nbsp;&nbsp;Form2.StringGrid1.RowCount:=2;</div><div class="code_line">&nbsp;&nbsp;Form2.StringGrid1.FixedRows:=1;</div><div class="code_line">&nbsp;&nbsp;ShowMessage(&#39;Ничего не найдено!&#39;);</div><div class="code_line">&nbsp;end;</div><div class="code_line">end;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>Kostas</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=538338</guid>
        <pubDate>Fri, 10 Dec 2004 00:05:05 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=538338</link>
        <description><![CDATA[J. Bravo: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Curve,8.12.04, 21:15 &#064; <time class="tag-quote__quoted-time" datetime="1970-01-07T05:09:29+00:00">07.01.70, 05:09</time></span><div class='quote '><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">procedure TForm1.Button2Click(Sender: TObject);</div><div class="code_line">Var i,j:integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;For i:=i1 To StringGrid1.ColCount-1 Do</div><div class="code_line">&nbsp;&nbsp; For j:=j1 To StringGrid1.RowCount-1 Do</div><div class="code_line">&nbsp;&nbsp; &nbsp;if pos(AnsiUpperCase(Edit3.Text), AnsiUpperCase(StringGrid1.Cells[i,j]))&#62;0 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StringGrid1.Row:=j;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StringGrid1.Col:=i;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;i1:=i;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;j1:=j;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; end;</div><div class="code_line">//Если поиск закончен (или ничего не найдено) обнуляем переменные</div><div class="code_line">&nbsp;i1:=0;</div><div class="code_line">&nbsp;j1:=0;</div><div class="code_line">end;</div></ol></div></div></div></div></div></div><br>
<br>
1. Правильно будет не j1:=j; а j1:=j + 1;. Иначе мы будем всегда находить одно и то же значение.<br>
2. И ещё после каждого прохода внутреннего цикла нужно обнулять j1.<br>
<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">procedure TForm1.Button2Click(Sender: TObject);</div><div class="code_line">Var i,j:integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;For i:=i1 To StringGrid1.ColCount-1 Do</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; For j:=j1 To StringGrid1.RowCount-1 Do</div><div class="code_line">&nbsp;&nbsp; &nbsp;if pos(AnsiUpperCase(Edit3.Text), AnsiUpperCase(StringGrid1.Cells[i,j]))&#62;0 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StringGrid1.Row:=j;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StringGrid1.Col:=i;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;i1:=i;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;j1:=j+1;//Вместо j1:=j</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;j1:=0;//Чтобы искать во всем следующем столбце, а не в куске от j1 до конца</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;i1:=0;</div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>J. Bravo</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=538154</guid>
        <pubDate>Thu, 09 Dec 2004 18:59:51 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=538154</link>
        <description><![CDATA[Song: <strong class='tag-b'>Art4</strong>, Только если отрисоавывать &quot;выделение&quot; самому.]]></description>
        <author>Song</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=538153</guid>
        <pubDate>Thu, 09 Dec 2004 18:56:41 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=538153</link>
        <description><![CDATA[Art4: Вопрос &quot;вдогонку&quot;: а как выделить ячейки в разных местах TStringGrid, например высвятить сразу все совпадения поиска? Спасибо]]></description>
        <author>Art4</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=537581</guid>
        <pubDate>Thu, 09 Dec 2004 10:56:48 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=537581</link>
        <description><![CDATA[s-mike: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <span class='tag-quote__quote-info'>Kostas,9.12.04, 13:51 &#064; <time class="tag-quote__quoted-time" datetime="1970-01-07T05:19:37+00:00">07.01.70, 05:19</time></span><div class='quote '>Слушайте, а как выделить несколько ячеек StringGrid&#39;a?</div></div><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">procedure TForm1.Button1Click(Sender: TObject);</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;myRect: TGridRect;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;myRect.Left := 3;</div><div class="code_line">&nbsp;&nbsp;myRect.Top := 1;</div><div class="code_line">&nbsp;&nbsp;myRect.Right := 2;</div><div class="code_line">&nbsp;&nbsp;myRect.Bottom := 4;</div><div class="code_line">&nbsp;&nbsp;DrawGrid1.Selection := myRect;</div><div class="code_line">end;</div></ol></div></div></div></div><br>
Взято из дельфийского хелпа.]]></description>
        <author>s-mike</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=537577</guid>
        <pubDate>Thu, 09 Dec 2004 10:51:49 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=537577</link>
        <description><![CDATA[Kostas: Не работает.. Слушайте, а как выделить несколько ячеек StringGrid&#39;a? Может лучше мне за один раз все найденные ячейки выделять и не парится? <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2004-12-09T10:53:25+00:00">09.12.04, 10:53</time></span></span><br>
Может я чего-то неправильно делаю.. можете кинуть исходничек с реализацией этого поиска?]]></description>
        <author>Kostas</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=537535</guid>
        <pubDate>Thu, 09 Dec 2004 10:20:32 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=537535</link>
        <description><![CDATA[Song: <strong class='tag-b'>Kostas</strong>, правильно. Делай хоть break, хоть Exit без разницы, если тебе нужно просто из цикла выйти. А потом после того как юзер нажмёт кнопку &quot;Продолжить поиск&quot; снова запускай свои циклы, начиная с переменных, которые ты запомнил.]]></description>
        <author>Song</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=537452</guid>
        <pubDate>Thu, 09 Dec 2004 09:15:43 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=537452</link>
        <description><![CDATA[Kostas: хм.. я так пробовал, но у меня не получилось :) Видимо дело в break. Я выходил из цикла, используя exit. Попробую такой вариант, может прокатит]]></description>
        <author>Kostas</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=536970</guid>
        <pubDate>Wed, 08 Dec 2004 18:15:24 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=536970</link>
        <description><![CDATA[Song: <strong class='tag-b'>Kostas</strong>, запоминай позиции, на которых поиск остановился.]]></description>
        <author>Song</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=536969</guid>
        <pubDate>Wed, 08 Dec 2004 18:15:21 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=536969</link>
        <description><![CDATA[Curve: <strong class='tag-b'>Kostas</strong>, сохраняй i и j в отдельные глобальные переменные - i1 и j1 (для начала присвой им по нулю). тогда у тебя получится:<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">procedure TForm1.Button2Click(Sender: TObject);</div><div class="code_line">Var i,j:integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;For i:=i1 To StringGrid1.ColCount-1 Do</div><div class="code_line">&nbsp;&nbsp; For j:=j1 To StringGrid1.RowCount-1 Do</div><div class="code_line">&nbsp;&nbsp; &nbsp;if pos(AnsiUpperCase(Edit3.Text), AnsiUpperCase(StringGrid1.Cells[i,j]))&#62;0 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StringGrid1.Row:=j;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StringGrid1.Col:=i;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;i1:=i;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;j1:=j;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;break;</div><div class="code_line">&nbsp;&nbsp; &nbsp; end;</div><div class="code_line">//Если поиск закончен (или ничего не найдено) обнуляем переменные</div><div class="code_line">&nbsp;i1:=0;</div><div class="code_line">&nbsp;j1:=0;</div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>Curve</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=536909</guid>
        <pubDate>Wed, 08 Dec 2004 16:48:47 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=536909</link>
        <description><![CDATA[Kostas: вот мой код: <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">procedure TForm1.Button2Click(Sender: TObject);</div><div class="code_line">Var i,j:integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;For i:=0 To StringGrid1.ColCount-1 Do</div><div class="code_line">&nbsp;&nbsp; For j:=0 To StringGrid1.RowCount-1 Do</div><div class="code_line">&nbsp;&nbsp; &nbsp;if pos(AnsiUpperCase(Edit3.Text), AnsiUpperCase(StringGrid1.Cells[i,j]))&#62;0 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StringGrid1.Row:=j;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StringGrid1.Col:=i;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Exit;</div><div class="code_line">&nbsp;&nbsp; &nbsp; end;</div><div class="code_line">end;</div></ol></div></div></div></div><br>
Все правильно ищется, но вот как сделать так, чтобы при повторном нажатии кнопки поиск продолжадся, а не начинался сначала.. уже все варианты перепробовал  :wall:]]></description>
        <author>Kostas</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=536683</guid>
        <pubDate>Wed, 08 Dec 2004 13:01:17 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=536683</link>
        <description><![CDATA[s-mike: Kostas используй AnsiPos:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
function AnsiPos(const Substr, S: string): Integer;<br>
<br>
Description<br>
<br>
Call AnsiPos to obtain the byte offset of the Substr parameter, as it appears in the string S. For example, if Substr is the string &quot;AB&quot;, and S is the string &quot;ABCDE&quot;, AnsiPos returns 1. If Substr does not appear in S, AnsiPos returns 0.</div></div>]]></description>
        <author>s-mike</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=536674</guid>
        <pubDate>Wed, 08 Dec 2004 12:48:38 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=536674</link>
        <description><![CDATA[Kostas: что то не нашел я ничего...]]></description>
        <author>Kostas</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=535775</guid>
        <pubDate>Tue, 07 Dec 2004 17:06:24 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=535775</link>
        <description><![CDATA[Song: Уже такое было, я даже коду постил вроде.]]></description>
        <author>Song</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=535758</guid>
        <pubDate>Tue, 07 Dec 2004 16:45:11 +0000</pubDate>
        <title>Поиск в StringGrid</title>
        <link>https://forum.sources.ru/index.php?showtopic=75255&amp;view=findpost&amp;p=535758</link>
        <description><![CDATA[Kostas: Вообщем есть edit и кнопка. По нажатию на кнопку нужно искать текст из edit&#39;a по <strong class='tag-b'>всем</strong> ячейкам StringGrid, и при нахождении таковой  - выделять строку, содержащую эту ячейку. При повторном нажатии кнопки нужно продолжать поиск, а не начинать его сначала. Поиск должен быть без учета регистра, не обязательно точное совпадение, сверху вниз и при достижении конца StringGrid&#39;a начинать сначала.<br>
Например: ищем текст &#39;кОМпьЮ&#39; - должна найтись строка, содержащая ячейку &#39;Компьютер&#39;. Надеюсь вам понятно и вы мне поможите.]]></description>
        <author>Kostas</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	