<?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=249587&amp;view=findpost&amp;p=2459800</guid>
        <pubDate>Fri, 25 Dec 2009 17:11:36 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2459800</link>
        <description><![CDATA[leo: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2459770'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>SourceUser &#064; <time class="tag-quote__quoted-time" datetime="2009-12-25T19:04:50+03:00">25.12.09, 16:04</time></span><div class='quote '>а в OnKeyDown управляющие клавиши. Вуаля </div></div><br>
А ты опять не прав ;) <br>
Зачем вообще ловить управляющие клавиши, если нам не нужно их запрещать ?&#33; По умолчанию они и так разрешены, и ограничение на ввод символов в OnKeyPress на них никак не влияет - зачем тогда вообще что-то ловить в OnKeyDown ?&#33;]]></description>
        <author>leo</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2459770</guid>
        <pubDate>Fri, 25 Dec 2009 16:04:50 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2459770</link>
        <description><![CDATA[SourceUser: Ну да, <strong class='tag-b'>leo</strong> прав ;)<br>
Ну значит точно, делаем у формы KeyPreview := True и в OnKeyPress ловим тру символы, а в OnKeyDown управляющие клавиши. Вуаля :)]]></description>
        <author>SourceUser</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2459605</guid>
        <pubDate>Fri, 25 Dec 2009 12:56:01 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2459605</link>
        <description><![CDATA[leo: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2459509'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>SourceUser &#064; <time class="tag-quote__quoted-time" datetime="2009-12-25T11:06:53+00:00">25.12.09, 11:06</time></span><div class='quote '>if not (Key in [#8 ,&#39;-&#39;, &#39;0&#39;..&#39;9&#39;, Chr(VK_DELETE), Chr(VK_LEFT), Chr(VK_UP), Chr(VK_RIGHT), Chr(VK_DOWN)]) </div></div><br>
Угу, прежде чем ерунду писать сначала попробовал бы вывести все эти символы VK_.. в едит<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">Etit1.Text:=Chr(VK_DELETE)+Chr(VK_LEFT)+Chr(VK_UP)+Chr(VK_RIGHT)+Chr(VK_DOWN);</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
тогда бы сразу увидел что они означают: .%&amp;&#39;(<br>
Повторяю для непонятливых:<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2459313'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>leo &#064; <time class="tag-quote__quoted-time" datetime="2009-12-25T06:05:26+00:00">25.12.09, 06:05</time></span><div class='quote '>Стрелки назад-вперед это не символы, а управляющие клавиши. Поэтому в OnKeyPress они не попадают, только в OnKeyDown&#092;OnKeyUp </div></div><br>
а VK_... это не коды символов, а виртуальные коды клавиш клавиатуры]]></description>
        <author>leo</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2459592</guid>
        <pubDate>Fri, 25 Dec 2009 12:44:51 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2459592</link>
        <description><![CDATA[User32: А не проще ли глобально для всех контролов что лежат на форме обрабатывать.<br>
У формы на которой лежат контролы делаем <strong class='tag-b'>KeyPreview := True</strong> и вешаем обработчик на <strong class='tag-b'>OnKeyPress</strong><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.FormKeyPress(Sender: TObject; var Key: Char);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if not (Key in [#8 ,&#39;-&#39;, &#39;0&#39;..&#39;9&#39;, Chr(VK_DELETE), Chr(VK_LEFT), Chr(VK_UP), Chr(VK_RIGHT), Chr(VK_DOWN)]) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;Key := #0; </div><div class="code_line">end;</div></ol></div></div></div></div><br>
<br>
и не заморачеваемся с перебором класов и т.д. <br>
Хотя это от ситуации зависит.]]></description>
        <author>User32</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2459509</guid>
        <pubDate>Fri, 25 Dec 2009 11:06:53 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2459509</link>
        <description><![CDATA[SourceUser: Еще вариант до кучи по мотивам темы<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.FormCreate(Sender: TObject);</div><div class="code_line">var J: Integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;for J := 0 to ComponentCount-1 do</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Components[J] is TEdit then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;TEdit(Components[J]).OnKeyPress &nbsp;:= klavishi1;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.klavishi1(Sender: TObject; var Key: Char);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if not (Key in [#8 ,&#39;-&#39;, &#39;0&#39;..&#39;9&#39;, Chr(VK_DELETE), Chr(VK_LEFT), Chr(VK_UP), Chr(VK_RIGHT), Chr(VK_DOWN)]) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;Key := #0;</div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>SourceUser</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2459313</guid>
        <pubDate>Fri, 25 Dec 2009 06:05:26 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2459313</link>
        <description><![CDATA[leo: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2459226'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>inmast &#064; <time class="tag-quote__quoted-time" datetime="2009-12-24T22:51:19+00:00">24.12.09, 22:51</time></span><div class='quote '>chr(8),chr(37),chr(39):;</div></div><br>
А при чем тут chr(37) - знак процента %, и chr(39) - одиночный апостроф &#39;<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2459226'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>inmast &#064; <time class="tag-quote__quoted-time" datetime="2009-12-24T22:51:19+00:00">24.12.09, 22:51</time></span><div class='quote '>3)Ну и стрелки назад-вперед,</div></div><br>
Стрелки назад-вперед это не символы, а управляющие клавиши. Поэтому в OnKeyPress они не попадают, только в OnKeyDown&#092;OnKeyUp]]></description>
        <author>leo</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2459226</guid>
        <pubDate>Thu, 24 Dec 2009 22:51:19 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2459226</link>
        <description><![CDATA[inmast: Вот, как раз только что делал такую штуку. Подумал-подумал, и решил, что для цифрового поля должны вводиться<br>
1)Цифры<br>
2)Backspase<br>
3)Ну и стрелки назад-вперед, видимо - иначе представляю, как юзверь будет материться, вогнав длинную строку, и поняв, что сделал ошибку.<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">unit klavishi;</div><div class="code_line">&nbsp;</div><div class="code_line">interface</div><div class="code_line">procedure klavishi1(var key:char);</div><div class="code_line">implementation</div><div class="code_line">procedure klavishi1 (var key:char);</div><div class="code_line">&nbsp;&nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;case key of</div><div class="code_line">&nbsp;&nbsp; &nbsp; &#39;0&#39;..&#39;9&#39;:;</div><div class="code_line">&nbsp;&nbsp; &nbsp; chr(8),chr(37),chr(39):;</div><div class="code_line">&nbsp;&nbsp; &nbsp;else key:=Chr(0);</div><div class="code_line">&nbsp;&nbsp; end;</div><div class="code_line">end;</div><div class="code_line">end.</div></ol></div></div></div></div><br>
<br>
До того, чтобы компонент писать, я вот пока не дошел. Но модуль отдельный как раз сделал - подключаешь его, и пишешь в событие поля ввода на OnKeyPress<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">klavishi;</div></ol></div></div></div></div>]]></description>
        <author>inmast</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222533</guid>
        <pubDate>Thu, 19 Mar 2009 13:15:13 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222533</link>
        <description><![CDATA[vladimir74: вообще то проще посмотреть в ASCII таблице :)]]></description>
        <author>vladimir74</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222525</guid>
        <pubDate>Thu, 19 Mar 2009 13:10:50 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222525</link>
        <description><![CDATA[Romkin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2222408'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>leo &#064; <time class="tag-quote__quoted-time" datetime="2009-03-19T11:33:47+00:00">19.03.09, 11:33</time></span><div class='quote '>Вообще-то табуляция VK_TAB = #9</div></div><br>
Ой. Точно. А 7 - это бип :)]]></description>
        <author>Romkin</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222408</guid>
        <pubDate>Thu, 19 Mar 2009 11:33:47 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222408</link>
        <description><![CDATA[leo: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2222357'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romkin &#064; <time class="tag-quote__quoted-time" datetime="2009-03-19T10:41:03+00:00">19.03.09, 10:41</time></span><div class='quote '>Плюс #7 - табуляция</div></div><br>
Вообще-то табуляция VK_TAB = #9 ;)]]></description>
        <author>leo</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222358</guid>
        <pubDate>Thu, 19 Mar 2009 10:41:28 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222358</link>
        <description><![CDATA[Игорь Акопян: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2067018'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Continental &#064; <time class="tag-quote__quoted-time" datetime="2008-09-11T18:03:13+00:00">11.09.08, 18:03</time></span><div class='quote '>Есть какой-нибудь способ, чтобы сократить данный код?</div></div><br>
цикл сделать по коллекции ParControl.Controls, где ParControl - контрол на котором лежат Едиты (форма или панель, что там у вас)<br>
ParControl.ControlCount - кол-во дочерних контролов]]></description>
        <author>Игорь Акопян</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222357</guid>
        <pubDate>Thu, 19 Mar 2009 10:41:03 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222357</link>
        <description><![CDATA[Romkin: Символы - то, что написано. Плюс #7 - табуляция.<br>Остальные по кодам идут, это OnKeyUp обычно контролирует. VK_F1 и остальные]]></description>
        <author>Romkin</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222354</guid>
        <pubDate>Thu, 19 Mar 2009 10:39:36 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222354</link>
        <description><![CDATA[Санчес: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2222352'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>subsonic &#064; <time class="tag-quote__quoted-time" datetime="2009-03-19T10:33:53+00:00">19.03.09, 10:33</time></span><div class='quote '>а как узнать символы каждой кнопки на клаве? </div></div><br>
Поставь брейкпойнт в обработчике, запусти прогу, и смотри, чему равен Key :)]]></description>
        <author>Санчес</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222352</guid>
        <pubDate>Thu, 19 Mar 2009 10:33:53 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222352</link>
        <description><![CDATA[subsonic: <div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Просто добавить символ бэкспейса (#8)</div></div><br>
 а как узнать символы каждой кнопки на клаве?]]></description>
        <author>subsonic</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222351</guid>
        <pubDate>Thu, 19 Mar 2009 10:32:28 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222351</link>
        <description><![CDATA[Romkin: Backspace - символ #8. Просто допусти и его]]></description>
        <author>Romkin</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222313</guid>
        <pubDate>Thu, 19 Mar 2009 09:43:51 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222313</link>
        <description><![CDATA[leo: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2222294'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>subsonic &#064; <time class="tag-quote__quoted-time" datetime="2009-03-19T09:15:17+00:00">19.03.09, 09:15</time></span><div class='quote '>можно было вводить только цифры, и стирать кнопкой backspace???</div></div><br>
Просто добавить символ бэкспейса (#8) в число разрешенных<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">if not (Key in [#8,&#39;-&#39;,&#39;0&#39;..&#39;9&#39;])</div></ol></div></div></div></div> <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="2009-03-19T10:06:35+00:00">19.03.09, 10:06</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2222262'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>and85 &#064; <time class="tag-quote__quoted-time" datetime="2009-03-19T08:34:59+00:00">19.03.09, 08:34</time></span><div class='quote '>Есть маленькое замечание. Нигде не обрабатывается вставка из буфера винды. Тоесть, если у меня в буфере белиберда &#39;алдывраывлоарыдлаорывдлаорыва&#39;, то нажав Shift+Insert, я смогу эту бяку к себе в эдит вставить:)<br>
<br>
P.S. У andrew.virus это похоже учитывается:) </div></div><br>
Проще добавить обработчик OnChange, чем городить спец.контрол, да еще и &quot;с нуля&quot; ;)<br>
PS: Кстати виндовый стиль эдита ES_NUMBER также не отслеживает вставку &quot;белиберды&quot; из буфера обмена :(]]></description>
        <author>leo</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222309</guid>
        <pubDate>Thu, 19 Mar 2009 09:38:01 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222309</link>
        <description><![CDATA[arj99: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2222262'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>and85 &#064; <time class="tag-quote__quoted-time" datetime="2009-03-19T08:34:59+00:00">19.03.09, 08:34</time></span><div class='quote '>Есть маленькое замечание. Нигде не обрабатывается вставка из буфера винды. Тоесть, если у меня в буфере белиберда &#39;алдывраывлоарыдлаорывдлаорыва&#39;, то нажав Shift+Insert, я смогу эту бяку к себе в эдит вставить:)</div></div><br>
Не сможешь.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2222294'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>subsonic &#064; <time class="tag-quote__quoted-time" datetime="2009-03-19T09:15:17+00:00">19.03.09, 09:15</time></span><div class='quote '>как сделать, чтоб в определенное количество едитов. можно было вводить только цифры, и стирать кнопкой backspace??? </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.Edit1KeyPress(Sender:TObject;var Key:Char);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if not (Key in [#8, &#39;-&#39;,&#39;0&#39;..&#39;9&#39;]) or </div><div class="code_line">&nbsp;&nbsp; &nbsp; (Key = &#39;-&#39;) and (Length((Sender as TEdit).Text) &#60;&#62; 0) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;Key:=#0;</div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>arj99</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222294</guid>
        <pubDate>Thu, 19 Mar 2009 09:15:17 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222294</link>
        <description><![CDATA[subsonic: Минутку, а backspace? почему не работает? можно удалять только кнопкой &quot;delete&quot;.??<br>Объясните пожалуйста, как сделать, чтоб в определенное количество едитов. можно было вводить только цифры, и стирать кнопкой backspace???]]></description>
        <author>subsonic</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222262</guid>
        <pubDate>Thu, 19 Mar 2009 08:34:59 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222262</link>
        <description><![CDATA[and85: Есть маленькое замечание. Нигде не обрабатывается вставка из буфера винды. Тоесть, если у меня в буфере белиберда &#39;алдывраывлоарыдлаорывдлаорыва&#39;, то нажав Shift+Insert, я смогу эту бяку к себе в эдит вставить:)<br><br>P.S. У andrew.virus это похоже учитывается:)]]></description>
        <author>and85</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222229</guid>
        <pubDate>Thu, 19 Mar 2009 07:38:11 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222229</link>
        <description><![CDATA[leo: Нужно создать один обработчик Edit1KeyPress и назначить его нескольким эдитам. Причем если в обработчике используется обращение к св-вам эдита (например Text), то для того, чтобы этот обработчик был универсальным, нужно вместо прямых ссылок типа edt.Text использовать (Sender as TEdit).Text<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.Edit1KeyPress(Sender:TObject;var Key:Char);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if not (Key in [&#39;-&#39;,&#39;0&#39;..&#39;9&#39;]) or </div><div class="code_line">&nbsp;&nbsp; &nbsp; (Key = &#39;-&#39;) and (Length((Sender as TEdit).Text) &#60;&#62; 0) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;Key:=#0;</div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>leo</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222114</guid>
        <pubDate>Thu, 19 Mar 2009 03:23:59 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2222114</link>
        <description><![CDATA[subsonic: Если начать сначала.<br>
 я так и не понял, как сделать чтоб в edit`ы можно было вводить только цифры??? <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">case ch of</div><div class="code_line">&#39;0&#39;..&#39;9&#39;: ;</div><div class="code_line">&#39;-&#39; &nbsp; &nbsp; : if length(edt.Text)&#60;&#62;0 then ch:=#0;</div><div class="code_line">else ch:=#0;</div></ol></div></div></div></div>   <br>
????<br>
<br>
и сразу же второе, <br>
как сделать это сразу для нескольких edit`ов? <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">TForm1.CompanentNameMethode(Sender: TObject...........)</div></ol></div></div></div></div> <br>
<br>
????<br>
заранее спасибо             ........пис]]></description>
        <author>subsonic</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2067252</guid>
        <pubDate>Fri, 12 Sep 2008 06:50:23 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2067252</link>
        <description><![CDATA[leo: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2067018'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Continental &#064; <time class="tag-quote__quoted-time" datetime="2008-09-11T18:03:13+00:00">11.09.08, 18:03</time></span><div class='quote '>Есть какой-нибудь способ, чтобы сократить данный код?</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">Btn_Calc.Enabled:=(Edt_name.Text&#60;&#62;&#39;&#39;) and</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(Edt_price.Text&#60;&#62;&#39;&#39;) and </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(Edt_count.Text&#60;&#62;&#39;&#39;);</div></ol></div></div></div></div><br>
Хотя думается в данном случае лучше не дизэйблить кнопку, а вынести проверки в обработчик нажатия Btn_CalcClick и если один из эдитов не заполнен то выдавать сообщение или бип и переводить фокус на пустой эдит<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.Btn_CalcClick(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp;function IsEmpty(e:TEdit;const what:string):boolean;</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;Result:=e.Text = &#39;&#39;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Result then</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;beep;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;MessageDlg(&#39;Введите значение: &#39;+what,mtWarning,[mbOk],0);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;FocusControl(e);</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;if IsEmpty(Edt_name,&#39;Наименование&#39;) or IsEmpty(Edt_price,&#39;Цена&#39;) or IsEmpty(Edt_count,&#39;Количество&#39;) then</div><div class="code_line">&nbsp;&nbsp; &nbsp;Exit;</div><div class="code_line">&nbsp;&nbsp;...</div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>leo</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2067127</guid>
        <pubDate>Thu, 11 Sep 2008 21:08:29 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2067127</link>
        <description><![CDATA[andrew.virus: <strong class='tag-b'>Continental</strong> думаю помочь решить проблему может написание собственого компонента с рассшренными возможностями по контролю ввода ... ;) <br>
<br>
з.ы.: в архиве прилагается мое видение решения данной проблемы ...]]></description>
        <author>andrew.virus</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2067058</guid>
        <pubDate>Thu, 11 Sep 2008 19:25:00 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2067058</link>
        <description><![CDATA[Continental: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2067054'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Shaggy &#064; <time class="tag-quote__quoted-time" datetime="2008-09-11T19:19:19+00:00">11.09.08, 19:19</time></span><div class='quote '>никаких проверок не производится, и если на самом деле Sender это не TEdit, то в результате получищь кучу глуков - от: странное поведение программы, до AV</div></div><br>
А я видел как Sender использовался с Button.<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">....</div><div class="code_line">procedure TForm1.DigitBtnClick(Sender: TObject);</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp; &nbsp;Btn: TButton;</div><div class="code_line">&nbsp;&nbsp; &nbsp;ch: Char;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Btn := Sender as TButton;</div><div class="code_line">&nbsp;&nbsp;ch &nbsp;:= Chr(48+Btn.Tag);</div><div class="code_line">.....</div><div class="code_line">......</div></ol></div></div></div></div><br>
это значит относится ко второму пункту ----&#62;<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2067054'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Shaggy &#064; <time class="tag-quote__quoted-time" datetime="2008-09-11T19:19:19+00:00">11.09.08, 19:19</time></span><div class='quote '>2) так называемое &quot;безопасное приведение типов&quot;, т.е. производится проверка: Sender - это на самом деле TEdit?<br>
и если нет, возбуждается исключение EInvalidCast</div></div>]]></description>
        <author>Continental</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2067054</guid>
        <pubDate>Thu, 11 Sep 2008 19:19:19 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2067054</link>
        <description><![CDATA[Shaggy: для определённости:<br>1) TEdit(Sender)<br>и<br>2) (Sender as TEdit)<br><br>1)<br>a) стоит исползовать только если Sender - это именно TEdit(в данном случае)<br>   т.е. фактически это инструкция компилятору - &quot;заткнись и делай, что велено...&quot;<br>б) никаких проверок не производится, и если на самом деле Sender это не TEdit, то в результате получищь кучу глуков - от: странное поведение программы, до AV<br><br>2) так называемое &quot;безопасное приведение типов&quot;, т.е. производится проверка: Sender - это на самом деле TEdit?<br>и если нет, возбуждается исключение EInvalidCast]]></description>
        <author>Shaggy</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2067018</guid>
        <pubDate>Thu, 11 Sep 2008 18:03:13 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2067018</link>
        <description><![CDATA[Continental: А почему можно написать в скобках <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2066894'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Shaggy &#064; <time class="tag-quote__quoted-time" datetime="2008-09-11T13:54:05+00:00">11.09.08, 13:54</time></span><div class='quote '>TEdit(Sender).Text</div></div> и с помощью as<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2066897'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>leo &#064; <time class="tag-quote__quoted-time" datetime="2008-09-11T13:56:54+00:00">11.09.08, 13:56</time></span><div class='quote '>(Sender as TEdit).Text</div></div> Т.е. это где-то играет роль в каких-либо определённых случаях, или это просто такая обширность у языка?<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2066902'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>and85 &#064; <time class="tag-quote__quoted-time" datetime="2008-09-11T14:00:26+00:00">11.09.08, 14:00</time></span><div class='quote '>Если такая задача становится достаточно часто, то можно написать свой компонент - потомок от TEdit</div></div><br>
Пока что мне до этого далеко.<br>
<br>
<br>
А вот можете пожалуйста помочь ещё с одним вопросом. В моём случае есть три edit&#39;a и кнопка вычислить (сложить всё что во всех полях), причём если хоть один edit не заполнен - кнопка Button1.Enabled:=false;<br>
Я проверял поля при помощи onChange:<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 TFm_Tover.Pr(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">if Edt_name.Text&#60;&#62;&#39;&#39; then</div><div class="code_line">&nbsp;&nbsp; begin</div><div class="code_line">&nbsp;&nbsp; if Edt_price.Text&#60;&#62;&#39;&#39;then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;if Edt_count.Text&#60;&#62;&#39;&#39;then Btn_Calc.Enabled:=true else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; Btn_Calc.Enabled:=false;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end else Btn_Calc.Enabled:=false;</div><div class="code_line">&nbsp;&nbsp; end else Btn_Calc.Enabled:=false;</div><div class="code_line">&nbsp;</div><div class="code_line">end;</div></ol></div></div></div></div><br>
т.е. я с помошью if .. else проверял каждое поле и устанавливал кнопке значение Enabled. Вот только при трёх полях, алгоритм уже плохо читается. Есть какой-нибудь способ, чтобы сократить данный код?<br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray">Тему новую не стал создавать, так как посчитал, что речь идёт почти про одно и то же, так что не сочтите мусором.</span>]]></description>
        <author>Continental</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2066902</guid>
        <pubDate>Thu, 11 Sep 2008 14:00:26 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2066902</link>
        <description><![CDATA[and85: Если такая задача становится достаточно часто, то можно написать свой компонент - потомок от TEdit :)]]></description>
        <author>and85</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2066897</guid>
        <pubDate>Thu, 11 Sep 2008 13:56:54 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2066897</link>
        <description><![CDATA[leo: [quote=Continental,1221139547,2066876]&#39;-&#39; : if length(Edit1.Text)&lt;&gt;0 then key:=#0; &lt;------- length[/quote]<br>
Параметр Sender это и есть Edit, в который вводится символ<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">&#39;-&#39; : if length((Sender as TEdit).Text)&#60;&#62;0 then key:=#0; &#60;------- length[/quote]</div></ol></div></div></div></div><br>
<br>
PS: опоздал ..]]></description>
        <author>leo</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2066894</guid>
        <pubDate>Thu, 11 Sep 2008 13:54:05 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2066894</link>
        <description><![CDATA[Shaggy: length(TEdit(Sender).Text)]]></description>
        <author>Shaggy</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2066876</guid>
        <pubDate>Thu, 11 Sep 2008 13:25:47 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2066876</link>
        <description><![CDATA[Continental: Спасибо, что помогли. Я понял, впринципе, любому обекту можно один и тот же метод назначить. :) <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="2008-09-11T13:32:43+00:00">11.09.08, 13:32</time></span></span><br>
а как же тогда проверять длинну строки в edit&#39;e?<br>
чтобы минус написать только первым и не &quot;пять&quot; раз есть вот такая проверка:<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.contr(Sender: TObject; var Key: Char);</div><div class="code_line">begin</div><div class="code_line">case key of</div><div class="code_line">&#39;0&#39;..&#39;9&#39;, #8: ;</div><div class="code_line">&#39;-&#39; : if length(Edit1.Text)&#60;&#62;0 then key:=#0; &#60;------- length</div><div class="code_line">else key:=#0;</div><div class="code_line">end;</div><div class="code_line">end;</div></ol></div></div></div></div><br>
И если несколько edit&#39;oв пользуются одним методом, то что надо написать в Length(?)]]></description>
        <author>Continental</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2066858</guid>
        <pubDate>Thu, 11 Sep 2008 13:15:48 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2066858</link>
        <description><![CDATA[vladimir74: сдедай для одного Edit а всем остальным укажи тот же метод.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=249587&view=findpost&p=2066835'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Continental &#064; <time class="tag-quote__quoted-time" datetime="2008-09-11T12:49:26+00:00">11.09.08, 12:49</time></span><div class='quote '>хм, только щас заметил, а почему все заголовки процедур состоят только из TForm1.k*? а где же ещё название edit&#39;a? разьве не должно быть так TForm1.Edit1k1(.....var key:char);?</div></div><br>
методы называются <br>
TForm1.CompanentNameMethode(Sender: TObject...........)]]></description>
        <author>vladimir74</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2066835</guid>
        <pubDate>Thu, 11 Sep 2008 12:49:26 +0000</pubDate>
        <title>Проверка ввода символов в Edit (edit-oв много)</title>
        <link>https://forum.sources.ru/index.php?showtopic=249587&amp;view=findpost&amp;p=2066835</link>
        <description><![CDATA[Continental: На форме содержиться несколько Edit и в каждом надо проверять вводимые символы (только цифры и минус).<br>
Проблема в том, что я не знаю как оптимизировать код (громоздким не делать). Т.е. для каждого edit нужно писать вот этот кусочег кода<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">case key of</div><div class="code_line">&#39;0&#39;..&#39;9&#39;: ;</div><div class="code_line">&#39;-&#39; &nbsp; &nbsp; : if length(Edit1.Text)&#60;&#62;0 then key:=#0;</div><div class="code_line">else key:=#0;</div><div class="code_line">end;</div></ol></div></div></div></div><br>
Можно, конечно, и сделать отдельную процедуру, в которую будем передавать вводимый символ и сам editN. вот так это будет:<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">type</div><div class="code_line">&nbsp;&nbsp;TForm1 = class(TForm)</div><div class="code_line">&nbsp;&nbsp; &nbsp;Edit1: TEdit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Edit2: TEdit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Edit3: TEdit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure k1(Sender: TObject; var Key: Char);</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure k2(Sender: TObject; var Key: Char);</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure k3(Sender: TObject; var Key: Char);</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;</div><div class="code_line">implementation</div><div class="code_line">&nbsp;</div><div class="code_line">{$R *.dfm}</div><div class="code_line">Procedure control(var ch: char; var edt: TEdit);</div><div class="code_line">begin</div><div class="code_line">case ch of</div><div class="code_line">&#39;0&#39;..&#39;9&#39;: ;</div><div class="code_line">&#39;-&#39; &nbsp; &nbsp; : if length(edt.Text)&#60;&#62;0 then ch:=#0;</div><div class="code_line">else ch:=#0;</div><div class="code_line">end;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.k1(Sender: TObject; var Key: Char);</div><div class="code_line">begin</div><div class="code_line">control(key, Edit1);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.k2(Sender: TObject; var Key: Char);</div><div class="code_line">begin</div><div class="code_line">control(key, Edit2);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.k3(Sender: TObject; var Key: Char);</div><div class="code_line">begin</div><div class="code_line">control(key, Edit3);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">end.</div></ol></div></div></div></div><br>
Нельзя ли как нибудь это упростить?<br>
хм, только щас заметил, а почему все заголовки процедур состоят только из TForm1.k*? а где же ещё название edit&#39;a? разьве не должно быть так TForm1.Edit1k1(.....var key:char);?<br>
<br>
Событие onKeyPress обрабатывается.]]></description>
        <author>Continental</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	