/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
PABCNetHelp/LangGuide/Operators/plusequal.html
64 строки
3 KB
samuraiGH
adding working-tree-encoding attribute (#3325)
07 ноя 2025, 16:12
Не верифицирован
07 ноя 2025, 16:12
cf1fd29
Код
Авторство
О чём код?
<html> <head> <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> </object> <object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param name="Keyword" value="with"> </object> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title></title> <link rel="StyleSheet" href="../../default.css"> </head> <body> <H1>Операторы += и -= для процедурных переменных</H1> <p>Оператор присваивания <code>+=</code> предназначен для присоединения к процедурной переменной процедуры, оператор присваивания <code>-=</code> - для отсоединения. Подпрограммы вызываются в порядке присоединения. Например:</p> <blockquote> <p><code><b>procedure</b> mult2(<b>var</b> r: real);<br><b>begin</b><br> r := 2 * r;<br> <b>end</b>;</code></p> <p><code><b>procedure</b> add3(<b>var</b> r: real);<br><b>begin</b><br> r := r + 3;<br> <b>end</b>;</code></p> <p><code><b>var</b> <br> p: <b>procedure</b> (<b>var</b> x: real);<br> r: real;</code></p> <p><code><b>begin</b><br> r := 1;<br> p := mult2;<br> p += add3;<br> p(r); // r := 2 * r; r := r + 3;<br> p -= mult2;<br> p(r); // r := r + 3; <br> <b>end</b>.</code></p> </blockquote> <p>Отсоединение не присоединенных подпрограмм не выполняет никаких действий.</p> <p>Кроме того, к процедурной переменной можно прикреплять/откреплять статические и экземплярные методы классов. Пример см. в теме <a href="../Types/proctype.html">процедурные переменные</a>.</p> <p>Операторы <code>+=</code> и <code>-=</code> используются также для добавления/удаления обработчиков для событий .NET. Например:</p> <blockquote> <p><code><b>procedure</b> OnTimer1(sender: object; e: System.Timers.ElapsedEventArgs);<br> <b>begin</b><br> write(1);<br> <b>end</b>;</code></p> <p><code><b>begin</b><br> <b>var</b> Timer1 := new System.Timers.Timer(1000);<br> <b><font color="#FF0000">Timer1.Elapsed +=</font></b> OnTimer1;<br> Timer1.Start;<br> <b>while</b> True <b>do</b> <br> Sleep(1000);<br> <b>end</b>.</code></p> </blockquote> </body> </html>