Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.12;
Скачать: CL | DM;

Вниз

Переменные   Найти похожие ветки 

 
A JI E LLI A   (2003-11-30 13:22) [0]

Как и где обьявить переменные, чтобы они сохранялись и переходили в другие процедуры?


 
Nikolay M. ©   (2003-11-30 13:27) [1]

Переменные должны быть только глобальными и должны быть видны во всех модулях. Локальные переменные - это зло. Передача в функцию переменную, которую нельзя изменить внутри этой функции - дурной тон.


> переходили в другие процедуры

Это как? :?)
"Процедура SaveToFile! Переход на процедуру UpdateProperty! Уважаемые переменные, при выходе из процедуры не забывайте свои значения! Двери закрываются, следующая процедура RunApplication!"
:?)


 
hooky-mars   (2003-11-30 13:39) [2]


> Nikolay M. © (30.11.03 13:27) [1]
> Переменные должны быть только глобальными и должны быть
> видны во всех модулях. Локальные переменные - это зло.


Это вы вообще про все переменные или только про те которые используются как минимум в двух функциях?
А если всетаки все, то неслишком ли много памяти это будет занимать?


 
mfender ©   (2003-11-30 13:42) [3]

To A JI E LLI A
Скажем так: избегайте глобальных переменных, где это возможно. Все лишнее храните в ini или реестре, или еще в какой-нибудь файле.
А объявляются глобальные переменные до implementation, олбычно в главном юните.


 
Nikolay M. ©   (2003-11-30 13:53) [4]


> hooky-mars (30.11.03 13:39) [2]

Лучше вообще всех. Кто знает, когда может потребоваться изменить значение переменной - может из другой процедуры, может из другого модуля. Кстати, тогда отпадает потребность в функциях и процедурах с параметрами, что улучшает читабельность кода.


 
hooky-mars   (2003-11-30 14:05) [5]


> Лучше вообще всех. Кто знает, когда может потребоваться
> изменить значение переменной - может из другой процедуры,
> может из другого модуля. Кстати, тогда отпадает потребность
> в функциях и процедурах с параметрами, что улучшает читабельность
> кода


А Вы что не знаете какие переменные могут понадобится для изменения, а какие будут изменятся лишь в одной функции и не где болше , быват промежуточные переменные, которы может исполюзуются всего пару раз, а в вашем примере они будут висеть в памяти без надобности.
Вот код к примеру

....
var s:array [0..255] of char;
....
OemToChar(s1,s);
s1:=s;
...

Переменная s может использоватся всего один раз, но по вашему будет висеть в паяти до конца завершения программы, а таких переменных может быть много, вы понимаета как это может торможить процесс. Всё должно быть в меру!
Ктому же какраз изменение глобальнх перемнных очень трудно отследить.


 
Anatoly Podgoretsky ©   (2003-11-30 14:10) [6]

hooky-mars (30.11.03 13:39) [2]
Нет будет две двери


 
Nikolay M. ©   (2003-11-30 14:13) [7]


> hooky-mars

Тебя всегда так легко развести или у тебя в вск. с утра чуйство юмора отсутствует? :?)
Не сочти за что-то обидное :?)


 
hooky-mars   (2003-11-30 14:15) [8]


> Nikolay M. © (30.11.03 14:13) [7]

Нет охото, по дискутировать



Страницы: 1 вся ветка

Текущий архив: 2003.12.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
3-36549
Pako
2003-11-20 10:04
2003.12.12
Query


11-36588
DrFaust
2003-03-31 16:38
2003.12.12
TreeView Как добавлять записи в режиме дизайна!!!?????


1-36674
Ivolg
2003-11-29 20:16
2003.12.12
Окно!


4-36907
SH
2003-10-20 14:06
2003.12.12
onPaint в TListView


1-36752
Blamyr
2003-12-01 23:24
2003.12.12
Как поймать нажатие кнопки Tab