<?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=441074&amp;view=findpost&amp;p=3898652</guid>
        <pubDate>Sat, 06 Jan 2024 14:43:06 +0000</pubDate>
        <title>Как посчитать количество элементов и вывести в StringGrid один элемент?</title>
        <link>https://forum.sources.ru/index.php?showtopic=441074&amp;view=findpost&amp;p=3898652</link>
        <description><![CDATA[Katerina1993: Только сейчас я стала понимать что мне нужно, поэтому буду дальше думать.]]></description>
        <author>Katerina1993</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=441074&amp;view=findpost&amp;p=3898638</guid>
        <pubDate>Fri, 05 Jan 2024 11:55:20 +0000</pubDate>
        <title>Как посчитать количество элементов и вывести в StringGrid один элемент?</title>
        <link>https://forum.sources.ru/index.php?showtopic=441074&amp;view=findpost&amp;p=3898638</link>
        <description><![CDATA[macomics: <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">unit Unit1;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">interface</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">uses</div><div class="code_line">&nbsp;&nbsp; &nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,</div><div class="code_line">&nbsp;&nbsp; &nbsp;Dialogs, Grids;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp; &nbsp;TForm1 = class(TForm)</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;StringGrid1: TStringGrid;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;procedure FormShow(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp; &nbsp;private</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;procedure FirstOption();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;procedure SecondOption();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;procedure ThirdOption();</div><div class="code_line">&nbsp;&nbsp; &nbsp;public</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Public declarations }</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp; &nbsp;Form1: TForm1;</div><div class="code_line">&nbsp;&nbsp; &nbsp;a: array[1..10,1..4] of integer = ((1, 1, 4234,1111),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 5423,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 3, 6532,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 5, 8865,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (2, 4, 3456,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 3, 7898,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (3, 4, 5643,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 5, 7542,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (7, 4, 7532,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 3456,4444));</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">implementation</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">{$R *.dfm}</div><div class="code_line">&nbsp;</div><div class="code_line">function postincrement(var a: Integer): Integer; inline;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Result := a;</div><div class="code_line">&nbsp;&nbsp;inc(a);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.FirstOption(); // Вариант с дополнительным массивом индексов (удобен, если надо обращаться к результатам несколько раз)</div><div class="code_line">var i,t:Integer; b: array of Integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;t:=0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;SetLength(b, Length(a));</div><div class="code_line">&nbsp;&nbsp; &nbsp;StringGrid1.RowCount:=Length(a);</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i:=Low(a) to High(a) do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if a[i][2] = 4 then </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;b[postincrement(t)] := i;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if t &#62; 0 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;for i := Low(b) to t + Low(b) - 1 do begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;StringGrid1.Cells[1,i + 1 - Low(b)] := IntToStr(a[b[i]][1]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;StringGrid1.Cells[2,i + 1 - Low(b)] := IntToStr(a[b[i]][4]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">procedure TForm1.SecondOption(); // Вариант повторным просмотром (удобен при однократном решении)</div><div class="code_line">var i,t:Integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;t:=0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;SetLength(b, Length(a));</div><div class="code_line">&nbsp;&nbsp; &nbsp;StringGrid1.RowCount:=Length(a);</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i:=Low(a) to High(a) do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if a[i][2] = 4 then </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;inc(t);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if t &#62; 0 then begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;t := 1;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;for i := Low(a) to High(a) do if a[i][2] = 4 then begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;StringGrid1.Cells[1,t] := IntToStr(a[b[i]][1]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;StringGrid1.Cells[2,t] := IntToStr(a[b[i]][4]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;inc(t);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">procedure TForm1.ThirdOption(); // Вариант вывода произвольного набора элементов (так же удобен при однократном решении, но позволяет дополнительно выбрать произвольный набор полей)</div><div class="code_line">const b: array [0 .. 1] of Integer = (1, 4);</div><div class="code_line">var i,j,t:Integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;t:=0;</div><div class="code_line">&nbsp;&nbsp; &nbsp;SetLength(b, Length(a));</div><div class="code_line">&nbsp;&nbsp; &nbsp;StringGrid1.RowCount:=Length(a);</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i:=Low(a) to High(a) do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if a[i][2] = 4 then </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;inc(t);</div><div class="code_line">&nbsp;&nbsp; &nbsp;if t &#62; 0 then begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;j := 1;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;for i := Low(a) to High(a) do if a[i][2] = 4 then begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;for t := Low(b) to High(b) do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;StringGrid1.Cells[t + 1 - Low(b),j] := IntToStr(a[i][b[t]]);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;inc(j);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">procedure TForm1.FormShow(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;// Каждая из них делает то что показано на картинке</div><div class="code_line">&nbsp;&nbsp;FirstOption();</div><div class="code_line">&nbsp;&nbsp;// SecondOption();</div><div class="code_line">&nbsp;&nbsp;// ThirdOption();</div><div class="code_line">end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">end.</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>macomics</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=441074&amp;view=findpost&amp;p=3898634</guid>
        <pubDate>Fri, 05 Jan 2024 11:01:20 +0000</pubDate>
        <title>Как посчитать количество элементов и вывести в StringGrid один элемент?</title>
        <link>https://forum.sources.ru/index.php?showtopic=441074&amp;view=findpost&amp;p=3898634</link>
        <description><![CDATA[Katerina1993: Нулевой элемент также следует учитывать как и 1 элемент - 4. Например у меня несколько разных элементов, есть и 2 и 3 и 7 все они входят в номер 4. Соответственно нужно посчитать и если записей больше 0 вывести список.<br>
<br>
Вот например массив.<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">a: array[1..10,1..4] of integer = ((1, 1, 4234,1111),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 5423,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 3, 6532,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 5, 8865,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (2, 4, 3456,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 3, 7898,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (3, 4, 5643,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 5, 7542,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (7, 4, 7532,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 3456,4444));</div></ol></div></div></div></div><br>
А вот результат:<br>
<br>
<span class="b-attach" data-size="9163" data-hits="68" data-attach-id="65332" data-attach-post-id="0">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=0&amp;attach_id=65332' title='Скачать файл' target='_blank'>Screenshot5.png</a> (, : 68)
		</span><br>
Это я подразумевала в сообщении выше.]]></description>
        <author>Katerina1993</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=441074&amp;view=findpost&amp;p=3898614</guid>
        <pubDate>Wed, 03 Jan 2024 19:10:09 +0000</pubDate>
        <title>Как посчитать количество элементов и вывести в StringGrid один элемент?</title>
        <link>https://forum.sources.ru/index.php?showtopic=441074&amp;view=findpost&amp;p=3898614</link>
        <description><![CDATA[macomics: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=441074&view=findpost&p=3898613'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Katerina1993 &#064; <time class="tag-quote__quoted-time" datetime="2024-01-03T18:28:58+00:00">03.01.24, 18:28</time></span><div class='quote '>А как интересно нулевой элемент учитывать в отборе?</div></div><br>
Так t это не индекс, а количество. При этом j и k это индексы в массиве.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=441074&view=findpost&p=3898613'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Katerina1993 &#064; <time class="tag-quote__quoted-time" datetime="2024-01-03T18:28:58+00:00">03.01.24, 18:28</time></span><div class='quote '>При этом подчитывая количество, если больше “0” выводя списком?</div></div><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">unit Unit1;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">interface</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">uses</div><div class="code_line">&nbsp;&nbsp; &nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,</div><div class="code_line">&nbsp;&nbsp; &nbsp;Dialogs, Grids;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp; &nbsp;TForm1 = class(TForm)</div><div class="code_line">&nbsp;&nbsp; &nbsp;StringGrid1: TStringGrid;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure FormShow(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp; &nbsp;private</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Private declarations }</div><div class="code_line">&nbsp;&nbsp; &nbsp;public</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Public declarations }</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp; &nbsp;Form1: TForm1;</div><div class="code_line">&nbsp;&nbsp; &nbsp;a: array[1..10,1..4] of integer = ((1, 1, 4234,1111),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 4, 5423,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 3, 6532,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 5, 8865,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 4, 3456,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 3, 7898,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 4, 5643,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 5, 7542,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 3, 7532,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 4, 3456,4444));</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">implementation</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">{$R *.dfm}</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">procedure TForm1.FormShow(Sender: TObject);</div><div class="code_line">var i,j,k,t:Integer;</div><div class="code_line">b: array of Integer; // Массив с индексами элементов</div><div class="code_line">begin</div><div class="code_line">StringGrid1.RowCount:=Length(a);</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">t:=0;</div><div class="code_line">j:=Low(a)-1; // Начальное значение индекса</div><div class="code_line">k:=Low(a)-1; // Начальное значение индекса</div><div class="code_line">SetLength(b, Length(a));</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">for i:=1 to Length(a) do</div><div class="code_line">&nbsp;&nbsp; &nbsp;if a[i][2] = 4 then</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;//ShowMessage(IntToStr(t));</div><div class="code_line">&nbsp;&nbsp; &nbsp;// StringGrid1.Cells[1,t]:=IntToStr(a[i][3]);</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Для сохранения первого индекса совпавшего с условием</div><div class="code_line">&nbsp;&nbsp; &nbsp;if j &#60; Low(a) then j := i;</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Для сохранения последнего индекса совпавшего с условием</div><div class="code_line">&nbsp;&nbsp; &nbsp;k := i;</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Сохраняем в массив индексы всех совпавших элементов</div><div class="code_line">&nbsp;&nbsp; &nbsp;b[t] := i;</div><div class="code_line">&nbsp;&nbsp; &nbsp;inc(t);</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">if t &#62; 0 then begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Дальше можете оставить одну из этих строк</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Почему вы добавляете 3 индекс, хотя сами же просили в условии 4-ый?</div><div class="code_line">&nbsp;&nbsp; &nbsp;StringGrid1.Cells[1,0]:=IntToStr(a[j][4]); // Значение первого совпавшего с условием элемента</div><div class="code_line">&nbsp;&nbsp; &nbsp;StringGrid1.Cells[2,0]:=IntToStr(a[k][4]); // Значение последнего совпавшего с условием элемента</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i := Low(b) to High(b) do // Цикл вывода элементов из массива индексов</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;StringGrid1.Cells[i,3] := IntToStr(a[b[i]][4]);</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i := 1 to Length(a) do // Цикл повторного поиска совпадений</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;if a[i][2] = 4 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;StringGrid1.Cells[i,4]:=IntToStr(a[i][4]);</div><div class="code_line">end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">end.</div></ol></div></div></div></div>]]></description>
        <author>macomics</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=441074&amp;view=findpost&amp;p=3898613</guid>
        <pubDate>Wed, 03 Jan 2024 18:28:58 +0000</pubDate>
        <title>Как посчитать количество элементов и вывести в StringGrid один элемент?</title>
        <link>https://forum.sources.ru/index.php?showtopic=441074&amp;view=findpost&amp;p=3898613</link>
        <description><![CDATA[Katerina1993: А как интересно нулевой элемент учитывать в отборе? Я немного изменила массив. <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">&nbsp;&nbsp;a: array[1..10,1..4] of integer = ((1, 1, 4234,1111),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 5423,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 3, 6532,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 5, 8865,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (2, 4, 3456,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 3, 7898,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (3, 4, 5643,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 5, 7542,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (7, 4, 7532,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 3456,4444));</div></ol></div></div></div></div><br>
<br>
При этом подчитывая количество, если больше “0” выводя списком?<br>
1 – 4444<br>
2 – 4444<br>
3 – 4444<br>
7 – 4444.<br>
Где первый идентификатор размещается в колонку 1, а второй в колонку 2 StrginGrid.]]></description>
        <author>Katerina1993</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=441074&amp;view=findpost&amp;p=3898612</guid>
        <pubDate>Wed, 03 Jan 2024 17:51:59 +0000</pubDate>
        <title>Как посчитать количество элементов и вывести в StringGrid один элемент?</title>
        <link>https://forum.sources.ru/index.php?showtopic=441074&amp;view=findpost&amp;p=3898612</link>
        <description><![CDATA[macomics: Ну ваш пример же уже почти все решает.<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">unit Unit1;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">interface</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">uses</div><div class="code_line">&nbsp;&nbsp; &nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,</div><div class="code_line">&nbsp;&nbsp; &nbsp;Dialogs, Grids;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp; &nbsp;TForm1 = class(TForm)</div><div class="code_line">&nbsp;&nbsp; &nbsp;StringGrid1: TStringGrid;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure FormShow(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp; &nbsp;private</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Private declarations }</div><div class="code_line">&nbsp;&nbsp; &nbsp;public</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Public declarations }</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp; &nbsp;Form1: TForm1;</div><div class="code_line">&nbsp;&nbsp; &nbsp;a: array[1..10,1..4] of integer = ((1, 1, 4234,1111),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 4, 5423,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 3, 6532,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 5, 8865,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 4, 3456,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 3, 7898,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 4, 5643,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 5, 7542,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 3, 7532,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(1, 4, 3456,4444));</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">implementation</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">{$R *.dfm}</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">procedure TForm1.FormShow(Sender: TObject);</div><div class="code_line">var i,j,k,t:Integer;</div><div class="code_line">begin</div><div class="code_line">StringGrid1.RowCount:=Length(a);</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">t:=0;</div><div class="code_line">j:=Low(a)-1; // Начальное значение индекса</div><div class="code_line">k:=Low(a)-1; // Начальное значение индекса</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">for i:=1 to Length(a) do</div><div class="code_line">&nbsp;&nbsp; &nbsp;if a[i][2] = 4 then</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;//ShowMessage(IntToStr(t));</div><div class="code_line">&nbsp;&nbsp; &nbsp;// StringGrid1.Cells[1,t]:=IntToStr(a[i][3]);</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Для сохранения первого индекса совпавшего с условием</div><div class="code_line">&nbsp;&nbsp; &nbsp;if j &#60; Low(a) then j := i;</div><div class="code_line">&nbsp;&nbsp; &nbsp;// Для сохранения последнего индекса совпавшего с условием</div><div class="code_line">&nbsp;&nbsp; &nbsp;k := i;</div><div class="code_line">&nbsp;&nbsp; &nbsp;inc(t);</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">if t &#62; 0 then begin</div><div class="code_line">&nbsp;&nbsp;// Дальше можете оставить одну из этих строк</div><div class="code_line">&nbsp;&nbsp;// Почему вы добавляете 3 индекс, хотя сами же просили в условии 4-ый?</div><div class="code_line">&nbsp;&nbsp;StringGrid1.Cells[1,0]:=IntToStr(a[j][4]); // Значение первого совпавшего с условием элемента</div><div class="code_line">&nbsp;&nbsp;StringGrid1.Cells[2,0]:=IntToStr(a[k][4]); // Значение последнего совпавшего с условием элемента</div><div class="code_line">end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">end.</div></ol></div></div></div></div>]]></description>
        <author>macomics</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=441074&amp;view=findpost&amp;p=3898611</guid>
        <pubDate>Wed, 03 Jan 2024 17:36:16 +0000</pubDate>
        <title>Как посчитать количество элементов и вывести в StringGrid один элемент?</title>
        <link>https://forum.sources.ru/index.php?showtopic=441074&amp;view=findpost&amp;p=3898611</link>
        <description><![CDATA[Katerina1993: Допустим второй элемент 4 как посчитать количество 4 и вывести в Grid четвертый элемент массива “4444”? <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">var</div><div class="code_line">&nbsp;&nbsp;Form1: TForm1;</div><div class="code_line">&nbsp;&nbsp;a: array[1..10,1..4] of integer = ((1, 1, 4234,1111),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 5423,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 3, 6532,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 5, 8865,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 3456,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 3, 7898,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 5643,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 5, 7542,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 3, 7532,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 3456,4444));</div></ol></div></div></div></div><br>
Если в массиве во втором элемента отсутствует цифра 4, то ничего не выводить. <br>
Другими словами сравнить все элементы второго значения узнать, где 4(если их количество больше 0) вывести один раз значение “4444” в StringGrid.<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">unit Unit1;</div><div class="code_line">&nbsp;</div><div class="code_line">interface</div><div class="code_line">&nbsp;</div><div class="code_line">uses</div><div class="code_line">&nbsp;&nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,</div><div class="code_line">&nbsp;&nbsp;Dialogs, Grids;</div><div class="code_line">&nbsp;</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp;TForm1 = class(TForm)</div><div class="code_line">&nbsp;&nbsp; &nbsp;StringGrid1: TStringGrid;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure FormShow(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp;private</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Private declarations }</div><div class="code_line">&nbsp;&nbsp;public</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Public declarations }</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;Form1: TForm1;</div><div class="code_line">&nbsp;&nbsp;a: array[1..10,1..4] of integer = ((1, 1, 4234,1111),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 5423,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 3, 6532,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 5, 8865,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 3456,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 3, 7898,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 5643,4444),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 5, 7542,5555),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 3, 7532,3333),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (1, 4, 3456,4444));</div><div class="code_line">&nbsp;</div><div class="code_line">implementation</div><div class="code_line">&nbsp;</div><div class="code_line">{$R *.dfm}</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.FormShow(Sender: TObject);</div><div class="code_line">var i,t:Integer;</div><div class="code_line">begin</div><div class="code_line">StringGrid1.RowCount:=Length(a);</div><div class="code_line">&nbsp;</div><div class="code_line">t:=1;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">for i:=1 to Length(a) do</div><div class="code_line">&nbsp;&nbsp;if a[i][2] = 4 then</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;//ShowMessage(IntToStr(t));</div><div class="code_line">&nbsp;&nbsp; &nbsp;StringGrid1.Cells[1,t]:=IntToStr(a[i][3]);</div><div class="code_line">&nbsp;&nbsp; &nbsp;inc(t);</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">end.</div></ol></div></div></div></div>]]></description>
        <author>Katerina1993</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	