Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.011 c
8-36773
Sergeys
2003-08-16 00:39
2003.12.12
ListBox + Картинка + Список


1-36635
R@nger
2003-12-01 09:48
2003.12.12
OnDrawColumnCell в TDBGrid


1-36621
alexnmsk
2003-12-01 13:18
2003.12.12
Событие MyEvent


14-36811
wHammer
2003-11-20 10:37
2003.12.12
Подскажите есть ли в природе...


9-36494
s-k
2003-05-26 15:43
2003.12.12
Квест





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский