Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2011, 22:41   #1
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию правильное оформление функций и процедур

в книге было описано как можно сделать такое

procedure testa:integer = 1; b:string = 'test');
begin
код любой
end;
ошибку выдает вот на это a:integer = 1; b:string = 'test' что я не так сделал???
cargo29 вне форума Ответить с цитированием
Старый 09.08.2011, 22:45   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure test(a:integer = 1; b:string = 'test');
скобку пропустили.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.08.2011, 22:47   #3
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Код:
procedure test(a:integer = 1; b:string = 'test');
скобку пропустили.
нет я понял просто ошибку все равно выдает, я тут писал сам код случайно пропустил уже думал может в книге не правильно было написано
cargo29 вне форума Ответить с цитированием
Старый 09.08.2011, 22:53   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

значит пишите ошибку

у меня все нормально:
Код:
procedure test(a:integer = 1; b:string = 'test');
begin
 ShowMessage(IntToStr(a)+b);
end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.08.2011, 23:05   #5
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Вот ошибка если я правильно понял как указывать
Изображения
Тип файла: jpg Безымянный.JPG (48.0 Кб, 78 просмотров)
cargo29 вне форума Ответить с цитированием
Старый 09.08.2011, 23:12   #6
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Функция имеет необязательные параметры, поэтому если передавать нечего, то писать null, null не надо.
Код:
begin
  test()
end
eoln вне форума Ответить с цитированием
Старый 09.08.2011, 23:14   #7
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

ладно с этим я понял а вот если мне не надо указывать цифры а только указать например текст то тогда как???
cargo29 вне форума Ответить с цитированием
Старый 09.08.2011, 23:31   #8
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Никак. Предыдущие параметры обязательны.
test(1, 'text') //естественно вместо 1 должно стоять то число которое должно быть о умолчанию, иначе смысл теряется.
eoln вне форума Ответить с цитированием
Старый 09.08.2011, 23:36   #9
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Можно поменять параметры местами.

Можно сделать вместо умалчиваемых параметров overload-варианты функций.

Можно передавать не параметры, а объект с набором свойств (в свойствах объекта инициализируются только те "параметры", что вы хотите).

Можно передавать ассоциативный массив.

До фига чего можно придумать, а правильный ответ зависит от того - зачем это надо.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 10.08.2011, 05:27   #10
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

GunSmoker отвечаю знания )))
cargo29 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Использование процедур и функций nelly.nelly Помощь студентам 1 23.02.2011 15:54
Использование процедур и функций Сергей Игоревич Помощь студентам 3 16.02.2011 09:29
использование процедур и функций! ...Оленька... Паскаль, Turbo Pascal, PascalABC.NET 0 24.12.2008 15:33
Глобальность функций и процедур rivers Общие вопросы Delphi 5 01.08.2008 20:35
Параметры процедур и функций shurik_7866 Общие вопросы Delphi 8 10.12.2007 19:49