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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2011, 22:48   #21
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ещё рекомендую на досуге (просто для развлечения) подумать над таким кодом...

Код:
type
  TForm1 = class(TForm)
  private
    procedure AddNewValue(a, b : integer);  overload;
    procedure AddNewValue(a, b, c : integer); overload;
    procedure AddNewValue(a, b, c, d : integer); overload;
    procedure AddNewValue(a, b : integer; c, d : variant); overload;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.AddNewValue(a, b: integer);
begin
//
end;

procedure TForm1.AddNewValue(a, b, c: integer);
begin
//
end;

procedure TForm1.AddNewValue(a, b, c, d: integer);
begin
//
end;

procedure TForm1.AddNewValue(a, b: integer; c, d: variant);
begin
//
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.07.2011, 09:39   #22
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

Увы, проблема получила продолжение... замечательный тип Variant тоже оказался недоделанным, тк не позволяется ему устанавливать значение по-умолчанию: [DCC Error] uForm.pas(92): E2268 Parameters of this type cannot have default values.
Почему?! Какой в этом смысл?! и какая нахер тогда это вообще универсальная переменная, ежели нельзя по-умолчанию присвоить значение... ппц идиотизм.
PS Дополнительным бредом является жёсткое ограничение на указание типов атрибутов процедуры - если указан тип со значением по-умолчанию, все следующие за ним - также обязаны быть со значением по-умочланию - бредятина! это может и удобно разработчикам Delphi, но это совершенно неудобна разработчикам В Delphi! Приходится подгонять порядок атрибутов вместо удобного и отвечающего чему-то в программе, по значениям по-умочланию. Тупизна какая.
delphicoding вне форума Ответить с цитированием
Старый 30.07.2011, 09:51   #23
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

надо правильно объявлять дефалтные параметры
сначала надо объявить параметры без значения, а потом параметры со значением
Код:
procedure calc(x,y: integer; x2: integer; y2: integer; x3:integer=6; y3:integer=8);
ZuBy вне форума Ответить с цитированием
Старый 30.07.2011, 10:45   #24
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

Я не говорю, что я этого не понял, я утверждаю - что это бред и неудобство!
delphicoding вне форума Ответить с цитированием
Старый 30.07.2011, 10:59   #25
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

а что тут неудобного?
разницы нет как поставить параметры, тут дело просто в эстетике...
удобно когда параметры "сгруппированы"
ZuBy вне форума Ответить с цитированием
Старый 30.07.2011, 11:04   #26
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

Сам пишешь, сам не понимаешь. Конечно УДОБНО когда параметры СГРУППИРОВАНЫ, только вопрос в том - КАК сгруппированы параметры??? Мне как разработчику удобнее группировать параметры не по наличию значения по умолчанию, а по например реальному порядку в таблице... использовать же порядок отличный от порядка в таблице (а сгруппированный по наличию значения по-умолчанию) - наоборот - НЕУДОБНО!
delphicoding вне форума Ответить с цитированием
Старый 30.07.2011, 11:14   #27
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

ты можешь понять, что делфи не должно подстраиваться под одну конкретную задачу
(в твоем случае работа с БД).
Разработчик должен сам подстраиваться под те или иные задачи, чтобы решить их.
ZuBy вне форума Ответить с цитированием
Старый 30.07.2011, 11:24   #28
delphicoding
Заблокирован
 
Регистрация: 04.07.2011
Сообщений: 261
По умолчанию

В данном случае функции элементарны - Delphi просто лажает.
delphicoding вне форума Ответить с цитированием
Старый 30.07.2011, 11:57   #29
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Странный спор! Автор просто предлагает написать свой компонент, который бы поддерживал отсутствие параметра или передачу NULL в качестве параметра. Давайте поприветствуем инициативу и не будем его отговаривать!!!
ReportCube вне форума Ответить с цитированием
Старый 30.07.2011, 12:33   #30
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Параметры со значением по умолчанию ставятся в конце, только потому, что
Код:
procedure x (b2: byte = 0; b1: byte; );
в таком случае, при вызов процедуры с одним параметром x(5) процедура не будет знать какому формальному параметру принадлежит этот фактический параметр. в Программировании все должно быть однозначно и программист дожен знать что он хочет и как это правильно организовать. Delphicoding, ищите ошибку в себе, возможно вы не доконца понимаете сущность программирования, работы компилятора, философии Delphi. Если программирование вас сильно раздражает, вы чувствуете себя овощем, может бросайте его? доверьте это людям, которые смогут писать программы правильно, без ошибок, быдлокодерства. Чтобы имя Программист звучало гордо, а не винили прогера за его ошибки.
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.

Последний раз редактировалось chertovich; 30.07.2011 в 12:36.
chertovich вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перевести integer в Date demiancz Общие вопросы Delphi 11 17.02.2011 23:08
КАк сделать JOIN в Access с объединением по NULL Izhic Помощь студентам 1 09.02.2011 11:18
FireBird. Как конвертировать Integer в Date и обратно? BeJIuKuu_Hexo4yxa SQL, базы данных 5 25.10.2010 10:10
как сравнить c null? MigelCNB Общие вопросы Delphi 4 22.09.2010 15:06
Как сделать подобие NOT NULL в DataGridView? C# Sparkman Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 18.08.2010 11:07