Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Относительно BoolToStr


Страницы:   1 2

Павел В. ©   (2010-12-23 17:21:00) 

Сегодня прочитал тему http://www.programmersforum.ru/showthread.php?t=38467, в которой на примере BoolToStr сказано, что создатели VCL - дилетанты. С виду, они правы, можно сделать намного проще. Но, с другой стороны, создатели тоже не дураки и для чего-то написали именно так.

Мой вопрос простой: скажите, кто прав? :) И почему действительно написано именно так?


KilkennyCat   (2010-12-23 18:05:00) [21]


> Rouse_ ©   (23.12.10 17:32) [2]
>
> и в function TryStrToBool(const S: string; out Value: Boolean):
>  Boolean;
>
>    Result := CompareWith(TrueBoolStrs);
>    if Result then
>      Value := True


ну это неудачный пример, в таком огрызке это оправдано.
а вот мне где-то в исходниках встречался комментарий типа "мы это добавили, потому что без этого не работает, а почему - не знаем". Если память не изменяет, у TMSSoftware вроде бы.


Плохиш   (2010-12-23 17:37:00) [22]


> function booltostr(value:boolean;truestr:string='1';falsestr:
> string='0';errorstr:string=' '):string;

Вот это и есть бред психопата.
Упрощение кода, так сказать.


Ega23   (2010-12-23 17:36:00) [23]


>  в которой на примере BoolToStr сказано, что создатели VCL
> - дилетанты.

Дилетанты те, кто это сказал, так как они не дружат с формальной логикой.
Если некоторыефункции в VCL написаны неверно, то это не означает, что всеразработчики дилетантов - VCL-щики


RWolf   (2010-12-23 17:33:00) [24]

Видимо, этот код писался с прицелом на возможность возврата нескольких вариантов строк, но по какой-то причине его не закончили и остановились на одной строке для True и одной для False;
ну, хотя бы возможность настройки строк оставили, тоже неплохо.
да неважно это совершенно — строки нужны для вывода куда-то, а он и так всегда тормозной.


Сергей М.   (2010-12-23 17:32:00) [25]

Если бы Борланд при разработке VCL потакала блажи всяких Квэнди, то VCL вообще бы не вышла в свет)

Цитата из "перлов" преподобного Квэнди:

function booltostr(value:boolean;truestr:string='1';falsestr:string='0';errorstr:string=' '):string;
begin
try
if value then
  result:=truestr
else
  result:=falsestr;
except
result:=errorstr;
end;
end;


Это, спрашивается, что вообще за бредятина с исключением и errstr ?


Rouse_   (2010-12-23 17:32:00) [26]

Ну там перлов и так много :)

и в function TryStrToBool(const S: string; out Value: Boolean): Boolean;

   Result := CompareWith(TrueBoolStrs);
   if Result then
     Value := True


Плохиш   (2010-12-23 17:29:00) [27]


> сказано, что создатели VCL - дилетанты

Зачем сюда всякий бред постить?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо