Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
static
|
|||
|---|---|---|---|
|
#18+
В дельфях можно создавать статические переменные, как в С? Т.е. те, которые существуют только в пределах конкретной процедуры и сохраняет прошлое знаечение при оследующем входе в эту процедуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2003, 19:47 |
|
||
|
static
|
|||
|---|---|---|---|
|
#18+
Если я правильно помню, то нельзя. Все переменные, которые объявляются внутри процедуры или функции, хранятся в стеке. То есть, после выхода из неё память будет освобождена. Я обычно в таких случаях использую глобальные переменные, которые объявляются в самом модуле. В зависимости от того, нужен ли к ним доступ из других модулей или нет, объявление делается либо в разделе interfaсe (видмы везде, где есть ссылка на этот модуль в uses), либо в разделе implementation - (видимы только в пределах данного модуля и ниже от места объявления. В том смысле, что можно написать var number:integer; в любом месте между функциями или процедурами, а не только в начале. При этом переменную можно будет использовать только в тех функциях и процедурах, которые написаны ниже. В разных модулях могут быть объявлены перменные (и другие объекты) с одинаковыми именам. В этом случае по умолчанию работает объявление из последнего модуля в списке uses. Для точного указания пишется [имя модуля].[идентификатор] то есть, если у меня переменная number будет объявлена в модулях unit1, unit2 и unit3, то для обращения к переменной в unit1 нужно будет написать unit1.number:=...... Кстати, то же самое касается типов, процедур, констант и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.08.2003, 22:39 |
|
||
|
static
|
|||
|---|---|---|---|
|
#18+
В Delphi тоже можно. Через типизированные константы. Вот так если объявить внутри процедуры const var:integer=0; то var будет той самой статичной переменной. Несмотря на "const", она позволяет изменять значение и сохраняет свое состояние между вызовами процедуры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2003, 19:36 |
|
||
|
static
|
|||
|---|---|---|---|
|
#18+
Вот как, а я и не знал, что такое объявление можно делать. Надо будет попробовать. Хотя, с концептуальной точки зрения это выглядит весьма криво. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 06:20 |
|
||
|
static
|
|||
|---|---|---|---|
|
#18+
Это не криво, так как типизированные константы, склонные к измене, являются фичей паскаля чуть ли не с его рождения. Кстати, в настройках дельфи есть галочка, позволяющая запретить использование типизированных констант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 13:11 |
|
||
|
static
|
|||
|---|---|---|---|
|
#18+
вот именно не криво со времен пискаля енто было известно ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2003, 17:01 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=58&tid=2117348]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 268ms |
| total: | 389ms |

| 0 / 0 |
