![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Ищущий
Регистрация: 25.11.2006
Сообщений: 8
|
![]()
Как сделать так, чтобы в процедуре создавались некоторые переменные и были доступны всей программе, если процедура находится в отдельном unit'е.
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you feel Coding and make a Code - you a God. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 01.12.2006
Сообщений: 241
|
![]()
Можно использовать глобальные переменные, описаные в отделбном юните (юнит подключаем через USES), можно через запись в файл-чтение из файла(так медленнее)
Програмисты - единственные люди, которым платят за исправления их же ошибок
![]() |
![]() |
![]() |
![]() |
#3 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]() Цитата:
implementation (в юните - после перечисления процедур и переменных) пишете слово uses и за ним перечисляете имена юнит, которые хотите "подключить". Последний раз редактировалось mihali4; 19.02.2007 в 02:52. |
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 22.01.2007
Сообщений: 25
|
![]()
Использование глобальных переменных может быть опасно, особенно в больших программах. Я бы сделал по-другому. Если в списке формальных параметров перед данной переменной поставить var то фактическая переменная тоже будет изменяться:
procedure proc_name (a:real; var b:integer); Тогда если внутри процедуры значение b будет равным, например, 3 то значение с - тоже 3: var a:real; c:integer; begin proc_name (a,c); end. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 10.02.2007
Сообщений: 16
|
![]()
Никак! Если нет глобальной переменной, которая будет отвечать за то что Вы хотите создать! Лучше всего использовать входно/выходной параметр, пременяя var как описанно в вышеизложенном примере!
А еще лучше, если задача нормального характера, обернуть это дело классом, там завести поле и создать свойства на чтение и на запись! Еще как вариант глобальная переменная в модуле! Ничего страшного! Только обращаться к ней придется для лучшей уверенности так: 'UnitName.X' |
![]() |
![]() |
![]() |
#6 |
Ищущий
Регистрация: 25.11.2006
Сообщений: 8
|
![]()
А как быть с массивами? Как их запихнуть в параметры?
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you feel Coding and make a Code - you a God. |
![]() |
![]() |
![]() |
#7 |
Кодер
Форумчанин
Регистрация: 27.01.2007
Сообщений: 271
|
![]()
Делай записи
|
![]() |
![]() |
![]() |
#8 | |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
![]() Цитата:
потом так как написано выше procedure abcdef (var a:Tmas); |
|
![]() |
![]() |
![]() |
#9 |
Ищущий
Регистрация: 25.11.2006
Сообщений: 8
|
![]()
Ещё вопрос: Можно ли создать массив из объектов? если да, то покажите на примере
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you feel Coding and make a Code - you a God. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 15.02.2007
Сообщений: 183
|
![]()
из объектов, скорее нет, чем да. Потому как объект не значение.
Знать все невозможно, в силу того, что жить бы стало неинтересно.
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос о "создании" процедуры | Rusl92 | Общие вопросы Delphi | 5 | 20.08.2008 18:37 |
Вопрос по работе процедуры GotoXY и TextAttr | Mister Been | Помощь студентам | 0 | 02.06.2008 18:57 |
Вопрос насчёт класса TStringList!!! | KAMENYKA | Компоненты Delphi | 4 | 06.12.2007 14:49 |
Насчёт скина | JoanM | Win Api | 5 | 16.04.2007 16:45 |
Вопрос насчёт домашних страниц браузера и Delphi | evgenyan | Работа с сетью в Delphi | 5 | 01.03.2007 17:06 |