|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.02.2007, 12:47 | #1 |
Ищущий
Регистрация: 25.11.2006
Сообщений: 8
|
Вопрос насчёт процедуры.
Как сделать так, чтобы в процедуре создавались некоторые переменные и были доступны всей программе, если процедура находится в отдельном unit'е.
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you feel Coding and make a Code - you a God. |
18.02.2007, 15:05 | #2 |
Форумчанин
Регистрация: 01.12.2006
Сообщений: 241
|
Можно использовать глобальные переменные, описаные в отделбном юните (юнит подключаем через USES), можно через запись в файл-чтение из файла(так медленнее)
Програмисты - единственные люди, которым платят за исправления их же ошибок
|
18.02.2007, 15:35 | #3 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
implementation (в юните - после перечисления процедур и переменных) пишете слово uses и за ним перечисляете имена юнит, которые хотите "подключить". Последний раз редактировалось mihali4; 19.02.2007 в 02:52. |
|
18.02.2007, 20:41 | #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. |
19.02.2007, 01:20 | #5 |
Пользователь
Регистрация: 10.02.2007
Сообщений: 16
|
Никак! Если нет глобальной переменной, которая будет отвечать за то что Вы хотите создать! Лучше всего использовать входно/выходной параметр, пременяя var как описанно в вышеизложенном примере!
А еще лучше, если задача нормального характера, обернуть это дело классом, там завести поле и создать свойства на чтение и на запись! Еще как вариант глобальная переменная в модуле! Ничего страшного! Только обращаться к ней придется для лучшей уверенности так: 'UnitName.X' |
19.02.2007, 08:55 | #6 |
Ищущий
Регистрация: 25.11.2006
Сообщений: 8
|
А как быть с массивами? Как их запихнуть в параметры?
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you feel Coding and make a Code - you a God. |
19.02.2007, 11:22 | #7 |
Кодер
Форумчанин
Регистрация: 27.01.2007
Сообщений: 271
|
Делай записи
|
19.02.2007, 14:22 | #8 | |
Delphi/C++/C#
Участник клуба
Регистрация: 29.10.2006
Сообщений: 1,972
|
Цитата:
потом так как написано выше procedure abcdef (var a:Tmas); |
|
21.02.2007, 15:05 | #9 |
Ищущий
Регистрация: 25.11.2006
Сообщений: 8
|
Ещё вопрос: Можно ли создать массив из объектов? если да, то покажите на примере
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you feel Coding and make a Code - you a God. |
21.02.2007, 15:53 | #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 |