<?xml version="1.0"?>
<rss version="2.0"><channel><title>TText &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43D;&#x438;&#x445; &#x432;&#x43E;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;</title><link>https://fire-monkey.ru/forum/378-ttext/</link><description>TText &#x43F;&#x43E;&#x441;&#x43B;&#x435;&#x434;&#x43D;&#x438;&#x445; &#x432;&#x43E;&#x43F;&#x440;&#x43E;&#x441;&#x43E;&#x432;</description><language>ru</language><item><title>&#x41D;&#x435; &#x43E;&#x43F;&#x442;&#x438;&#x43C;&#x438;&#x437;&#x438;&#x440;&#x43E;&#x432;&#x430;&#x43D;&#x43D;&#x44B;&#x439; TLabel &#x438; TText (&#x440;&#x435;&#x448;&#x435;&#x43D;&#x438;&#x435;)</title><link>https://fire-monkey.ru/topic/5221-%D0%BD%D0%B5-%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9-tlabel-%D0%B8-ttext-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B5/</link><description><![CDATA[
<p>
	Есть такая процедура, <strong>function DelAmp(const Text: string): string; </strong>в FMX.Types.
</p>

<p>
	Которая 2 раза выделяет память для всей строки, и сканирует все символы в строке, в поисках &amp;.
</p>

<p>
	 
</p>

<p>
	TLabel.Text  := 'Text';  - эта процедура  выполнится 2 раза, на любой платформе. Чтобы она выполнилась 1 раз, нужно сделать
</p>

<p>
	TLabel.PrefixStyle := TPrefixStyle.NoPrefix;
</p>

<p>
	 
</p>

<p>
	<strong>TText </strong>
</p>

<p>
	TText.Text  := 'Text'; Процедура DelAmp выполниться в любом случае на любой платформе
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted">
<span class="pln">procedure </span><span>TText</span><span class="pun">.</span><span>SetText</span><span class="pun">(</span><span class="kwd">const</span><span class="pln"> </span><span>Value</span><span class="pun">:</span><span class="pln"> string</span><span class="pun">);</span><span class="pln">
</span><span class="pun">[..]</span><span class="pln">
begin
  </span><span class="kwd">if</span><span class="pln"> </span><span>Text</span><span class="pln"> </span><span class="pun">&lt;&gt;</span><span class="pln"> </span><span>Value</span><span class="pln"> then
  begin
    </span><span>NewText</span><span class="pln"> </span><span class="pun">:=</span><span class="pln"> </span><span>ConvertText</span><span class="pun">(</span><span>DelAmp</span><span class="pun">(</span><span>Value</span><span class="pun">));</span><span class="pln">

</span><span class="pun">[..]</span></pre>

<p>
	Стили состоят из множества TText элементов. Теперь представьте сколько ресурсов тратиться впустую.
</p>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted">
<span class="pln">function </span><span>DelAmp</span><span class="pun">(</span><span class="kwd">const</span><span class="pln"> </span><span>Text</span><span class="pun">:</span><span class="pln"> string</span><span class="pun">):</span><span class="pln"> string</span><span class="pun">;</span><span class="pln">
var
  I</span><span class="pun">,</span><span class="pln"> J</span><span class="pun">:</span><span class="pln"> </span><span>Integer</span><span class="pun">;</span><span class="pln">
  </span><span>Sb</span><span class="pun">:</span><span class="pln"> </span><span>TCharArray</span><span class="pun">;</span><span class="pln">
begin
  </span><span>Result</span><span class="pln"> </span><span class="pun">:=</span><span class="pln"> </span><span class="str">''</span><span class="pun">;</span><span class="pln">
  </span><span class="kwd">if</span><span class="pln"> </span><span>Text</span><span class="pln"> </span><span class="pun">&lt;&gt;</span><span class="pln"> </span><span class="str">''</span><span class="pln"> then
  begin
    </span><span>SetLength</span><span class="pun">(</span><span>Sb</span><span class="pun">,</span><span class="pln"> </span><span>Text</span><span class="pun">.</span><span>Length</span><span class="pun">);</span><span class="pln">
    I </span><span class="pun">:=</span><span class="pln"> </span><span>Low</span><span class="pun">(</span><span>Text</span><span class="pun">);</span><span class="pln">
    J </span><span class="pun">:=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
    </span><span class="kwd">while</span><span class="pln"> I </span><span class="pun">&lt;=</span><span class="pln"> </span><span>High</span><span class="pun">(</span><span>Text</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">do</span><span class="pln">
    begin
      </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span>Text</span><span class="pun">[</span><span class="pln">I</span><span class="pun">]</span><span class="pln"> </span><span class="pun">&lt;&gt;</span><span class="pln"> </span><span class="str">'&amp;'</span><span class="pun">)</span><span class="pln"> then
      begin
        </span><span>Sb</span><span class="pun">[</span><span class="pln">J</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:=</span><span class="pln"> </span><span>Text</span><span class="pun">[</span><span class="pln">I</span><span class="pun">];</span><span class="pln">
        </span><span>Inc</span><span class="pun">(</span><span class="pln">J</span><span class="pun">);</span><span class="pln">
      end
      </span><span class="kwd">else</span><span class="pln">
      begin
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">((</span><span class="pln">I </span><span class="pun">&lt;</span><span class="pln"> </span><span>High</span><span class="pun">(</span><span>Text</span><span class="pun">))</span><span class="pln"> and </span><span class="pun">(</span><span>Text</span><span class="pun">[</span><span class="pln">I </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">'&amp;'</span><span class="pun">))</span><span class="pln"> then
        begin
          </span><span>Sb</span><span class="pun">[</span><span class="pln">J</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:=</span><span class="pln"> </span><span>Text</span><span class="pun">[</span><span class="pln">I</span><span class="pun">];</span><span class="pln">
          </span><span>Inc</span><span class="pun">(</span><span class="pln">J</span><span class="pun">);</span><span class="pln">
          </span><span>Inc</span><span class="pun">(</span><span class="pln">I</span><span class="pun">);</span><span class="pln">
        end</span><span class="pun">;</span><span class="pln">
      end</span><span class="pun">;</span><span class="pln">
      </span><span>Inc</span><span class="pun">(</span><span class="pln">I</span><span class="pun">);</span><span class="pln">
    end</span><span class="pun">;</span><span class="pln">
    </span><span>Result</span><span class="pln"> </span><span class="pun">:=</span><span class="pln"> string</span><span class="pun">.</span><span>Create</span><span class="pun">(</span><span>Sb</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> J</span><span class="pun">);</span><span class="pln">
  end</span><span class="pun">;</span><span class="pln">
end</span><span class="pun">;</span></pre>

<p>
	 
</p>

<p>
	 
</p>

<p>
	<strong>Решение </strong>- скопировать FMX.Types в папку с проектом, и переделать функцию на:<br />
	 
</p>

<pre class="ipsCode prettyprint lang-c prettyprinted">
<span class="pln">function </span><span>DelAmp</span><span class="pun">(</span><span class="kwd">const</span><span class="pln"> </span><span>Text</span><span class="pun">:</span><span class="pln"> string</span><span class="pun">):</span><span class="pln"> string</span><span class="pun">;</span><span class="pln">
begin
  </span><span>Result</span><span class="pln"> </span><span class="pun">:=</span><span class="pln"> </span><span>Text</span><span class="pun">;</span><span class="pln">
end</span><span class="pun">;</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">5221</guid><pubDate>Wed, 22 Aug 2018 20:34:19 +0000</pubDate></item><item><title>&#x412;&#x44B;&#x432;&#x43E;&#x434; &#x44D;&#x43C;&#x43E;&#x434;&#x437;&#x438; &#x432; TText &#x43D;&#x430; Android</title><link>https://fire-monkey.ru/topic/4811-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4-%D1%8D%D0%BC%D0%BE%D0%B4%D0%B7%D0%B8-%D0%B2-ttext-%D0%BD%D0%B0-android/</link><description><![CDATA[<p>
	Добрый день!
</p>

<p>
	Нуждаюсь в помощи.
</p>

<p>
	Необходимо в TText вывести текст в Unicode, содержащий смайлы.
</p>

<p>
	На iOS проблем нет - смайлы отображаются. <img class="ipsImage ipsImage_thumbnailed" data-fileid="3681" src="https://fire-monkey.ru/applications/core/interface/js/spacer.png" alt="ios.png.392d682abf9b40149407ed7cbad60dfd.png" data-src="https://fire-monkey.ru/uploads/monthly_2018_02/ios.png.392d682abf9b40149407ed7cbad60dfd.png" width="365" data-ratio="14,52"></p>

<p>
	На Android - монохромные значки (залитые черным) - <img class="ipsImage ipsImage_thumbnailed" data-fileid="3680" src="https://fire-monkey.ru/applications/core/interface/js/spacer.png" alt="ttext.png.80ec0db4e7a0fdbc180ae9f3cd9c43ef.png" data-src="https://fire-monkey.ru/uploads/monthly_2018_02/ttext.png.80ec0db4e7a0fdbc180ae9f3cd9c43ef.png" width="534" data-ratio="13,3">.
</p>

<p>
	При этом, если выводить в ListView (через TListItemText), то смайлы выходят и на Android. Шрифт при этом тот же, что и для TText. <img class="ipsImage ipsImage_thumbnailed" data-fileid="3679" src="https://fire-monkey.ru/applications/core/interface/js/spacer.png" alt="listview.png.6065fc352d6360f866a76abc0d792e46.png" data-src="https://fire-monkey.ru/uploads/monthly_2018_02/listview.png.6065fc352d6360f866a76abc0d792e46.png" width="534" data-ratio="20,04"></p>

<p>
	Но необходимо именно в TText <img alt=":(" data-emoticon="" height="20" src="https://fire-monkey.ru/applications/core/interface/js/spacer.png" srcset="https://fire-monkey.ru/uploads/emoticons/sad@2x.png 2x" title=":(" width="20" data-src="https://fire-monkey.ru/uploads/emoticons/default_sad.png"></p>

<p>
	Помогите, пожалуйста, как вывести смайлы на Andorid в TText?
</p>

<p>
	 
</p>]]></description><guid isPermaLink="false">4811</guid><pubDate>Mon, 19 Feb 2018 08:23:46 +0000</pubDate></item><item><title>&#x420;&#x430;&#x437;&#x43D;&#x44B;&#x439; &#x446;&#x432;&#x435;&#x442; &#x442;&#x435;&#x43A;&#x441;&#x442;&#x430;</title><link>https://fire-monkey.ru/topic/4395-%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D0%B9-%D1%86%D0%B2%D0%B5%D1%82-%D1%82%D0%B5%D0%BA%D1%81%D1%82%D0%B0/</link><description><![CDATA[
<p>
	Здравствуйте! Возможно ли в компоненте TText или другом аналоге сделать разный цвет текста для слов или букв в одном тексте? Пример:
</p>

<p>
	<span style="color:#c0392b;">Тут </span><span style="color:#16a085;">разные </span><span style="color:#f39c12;">цвета </span><span style="color:#2ecc71;">текста</span>
</p>
]]></description><guid isPermaLink="false">4395</guid><pubDate>Mon, 04 Sep 2017 16:18:05 +0000</pubDate></item><item><title>&#x418;&#x43D;&#x43E;&#x433;&#x434;&#x430; &#x43F;&#x440;&#x438; &#x437;&#x430;&#x43F;&#x443;&#x441;&#x43A;&#x438; &#x43F;&#x440;&#x438;&#x43B;&#x43E;&#x436;&#x435;&#x43D;&#x438;&#x44F; &#x43D;&#x430; Android &#x431;&#x443;&#x43A;&#x432;&#x44B; "&#x43F;&#x43B;&#x44F;&#x448;&#x443;&#x442;"</title><link>https://fire-monkey.ru/topic/3870-%D0%B8%D0%BD%D0%BE%D0%B3%D0%B4%D0%B0-%D0%BF%D1%80%D0%B8-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B8-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BD%D0%B0-android-%D0%B1%D1%83%D0%BA%D0%B2%D1%8B-%D0%BF%D0%BB%D1%8F%D1%88%D1%83%D1%82/</link><description><![CDATA[<p>
	Всем привет! У кого-нибудь бывает такое:
</p>

<p>
	<a class="ipsAttachLink ipsAttachLink_image" href="https://fire-monkey.ru/uploads/monthly_2017_03/01.png.07c32d7b42a3ab5f3d9bfee6e9c4463c.png" data-fileid="2824" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="2824" src="https://fire-monkey.ru/applications/core/interface/js/spacer.png" alt="01.png" data-src="https://fire-monkey.ru/uploads/monthly_2017_03/01.thumb.png.4a838b26b227ccb7d54c40227c1a5ad7.png" width="1000" data-ratio="17,1"></a><img class="ipsImage ipsImage_thumbnailed" data-fileid="2825" src="https://fire-monkey.ru/applications/core/interface/js/spacer.png" alt="02.png" data-src="https://fire-monkey.ru/uploads/monthly_2017_03/02.png.2e0b53776d439074daa552d05a15e6ac.png" width="349" data-ratio="21,78"></p>

<p>
	Rad Studio 10.1 Berlin Update 2
</p>

<p>
	На Rectangle кидаю компонент Text или Label. Иногда при запуске приложения, примерно 1 из 8 запусков, символы отображаются некорректно. Хотелось бы узнать причину такого поведения.
</p>]]></description><guid isPermaLink="false">3870</guid><pubDate>Sun, 05 Mar 2017 16:40:57 +0000</pubDate></item><item><title>&#x41A;&#x43E;&#x441;&#x44F;&#x43A; &#x441; &#x43E;&#x442;&#x43E;&#x431;&#x440;&#x430;&#x436;&#x435;&#x43D;&#x438;&#x435;&#x43C; TText</title><link>https://fire-monkey.ru/topic/3001-kosyak-s-otobrazheniem-ttext/</link><description><![CDATA[<p>
	Как исправит такой косяк с отображением текста TText? Если видно, там остатки от текста отображаются. Платформа андроид, Rad Studio XE 10.
</p>
<p><a href="https://fire-monkey.ru/uploads/monthly_2016_07/5786299ce15d8_.PNG.7cae29771afe89cf546da48a6f5573e7.PNG" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="2077" src="https://fire-monkey.ru/applications/core/interface/js/spacer.png" class="ipsImage ipsImage_thumbnailed" alt="Снимок.PNG" data-src="https://fire-monkey.ru/uploads/monthly_2016_07/5786299ce15d8_.PNG.7cae29771afe89cf546da48a6f5573e7.PNG" width="660" data-ratio="62,73"></a></p>]]></description><guid isPermaLink="false">3001</guid><pubDate>Wed, 13 Jul 2016 11:43:55 +0000</pubDate></item></channel></rss>
