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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2011, 11:45   #21
Русик123
 
Регистрация: 09.08.2011
Сообщений: 7
По умолчанию

а что собственно вы хотите получить в TImage
Русик123 вне форума Ответить с цитированием
Старый 10.08.2011, 12:15   #22
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Русик123 Посмотреть сообщение
а что собственно вы хотите получить в TImage
там будет картинка в формате jpg урл прямой путь к картинке что то в самой процедуре не так..
cargo29 вне форума Ответить с цитированием
Старый 10.08.2011, 14:05   #23
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от eoln Посмотреть сообщение
Вадим, я эти null увидел на скрине, потому и написал. Но и nil писать нельзя. На счёт скобок - ни не надо, а не обязательно. Если написать test(), то сразу видно что функция, а если просто test, то визуально это не заметно. Иногда это надо, иногда нет.
Я знаю, что нельзя писать NIL, это же просто несоответствие типов будет тогда.

А по поводу test(); - честно скажу, не знал.
Да и потом = "видно/не видно". Ведь можно посмотреть, ЧТО это (переменная, имя ф-ции...). Для этого достаточно просто навести курсов мыши на идентификатор.
Вадим Мошев вне форума Ответить с цитированием
Старый 10.08.2011, 14:05   #24
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Код:
function Funcenstein(A: Integer = 3; B: Integer = 3; C: Integer = 3);

Funcenstein(3, 3); // <- вызвали вы A + B, B + C или A + C?
по-моему в VB был (а может до сих пор ещё есть) относительно красивый выход из этой неоднозначности:

Код:
Funcenstein(3, 3); // A + B
Funcenstein(3, , 3); // A + C
Funcenstein(, 3, 3); // B + C
Т.е., если нужно пропустить дефолтовый параметр, просто ставим запятую, ничего не указывая.

> overload тоже не сильно походит что бы потом каждую функцию расписывать

всё там подходит, если не лениться:

Код:
procedure Test(a: integer = 1; const b: string = 'test'); overload;
begin
   //...
end;

procedure Test(const b: string = 'test'); overload;
begin
  Test(1, b);
end;

.....

  Test(); // хотя не, так не прокатит, наверно
  Test(2);
  Test(2, 'фыва');
  Test('фыва');
> достаточно просто навести курсов мыши

а если исходник не загружен в IDE, эта магия недоступна. Поэтому, имхо, желательно всегда скобочки добавлять, слава богу Дельфи начиная с 4 версии это отлично понимает.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."

Последний раз редактировалось veniside; 10.08.2011 в 14:11.
veniside вне форума Ответить с цитированием
Старый 10.08.2011, 14:18   #25
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
// <- вызвали вы A + B, B + C или A + C?
A+B мы вызвали, все однозначно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.08.2011, 14:41   #26
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
по-моему в VB был
Ну так то-ж в Бейсике. А в Паскале-же так нельзя.

Хотя можно относительно похоже:

Код:
function Funcenstein(A: PInteger; B: PInteger; C: PInteger);
begin
  if A = nil then
    ArgA := 3
  else
    ArgA := A;
  ...

end;

Funcenstein(3, nil, 3);
Цитата:
A+B мы вызвали, все однозначно.
Из контекста вырвал. Это с текущими правилами однозначно.

А я говорил про то, что бы было, если бы можно было указывать параметры не строго слева-направо (как сейчас), а в произвольном порядке (как хочет ТС).
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 10.08.2011, 14:52   #27
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
А я говорил про то, что бы было, если бы можно было указывать параметры не строго слева-направо (как сейчас), а в произвольном порядке (как хочет ТС).
бедный компиль...
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.08.2011, 16:39   #28
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

cargo29 Очень рекомендую вам прочитать вот этот файлик с п.2.8.3 и до конца
Вложения
Тип файла: rar Глава 2_ Основы языка Delphi_ Часть III.rar (15.8 Кб, 10 просмотров)
SERG1980 вне форума Ответить с цитированием
Старый 10.08.2011, 17:16   #29
cargo29
Форумчанин
 
Регистрация: 13.12.2010
Сообщений: 603
По умолчанию

Цитата:
Сообщение от SERG1980 Посмотреть сообщение
cargo29 Очень рекомендую вам прочитать вот этот файлик с п.2.8.3 и до конца
Хорошо почитаю спасибо)))
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