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

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

case +string


Страницы:   1 2 3

07002 ©   (2007-08-16 20:23:00) 

Я приавильно понимаю, что в операторе case использовать string не представляется возможным?

var
 ss: string[40];
 s1, s2: string[40];
begin
 case ss of
   s1: Halt(1);
   s2: Halt(0);
 end;
end;


DevilDevil   (2007-08-17 13:28:00) [21]

> tesseract ©   (17.08.07 13:20) [26]

а что, собственно, обсуждаем?

- можно ли решить подобный вопрос без использования string-case ?
- можно

- есть ли задачи, в которых такая возможность была бы полезна ?
- есть

- если бы такая возможность поддерживалась в Delphi, хуже было бы ?
- нет, только лучше


tesseract   (2007-08-17 13:20:00) [22]


> задачи такие есть


Кнута мы не читали, там и не такие задачи без стрингов решаються.  

"Кнут программированию не научит, там сплошная математика" (С) какой-то форум.


DevilDevil   (2007-08-17 13:18:00) [23]

> tesseract ©   (17.08.07 12:53) [22]

неважно!
задачи такие есть


Anatoly Podgoretsky   (2007-08-17 13:17:00) [24]

> DevilDevil  (17.08.2007 12:50:20)  [20]

Никто на Дельфи не держит.


Игорь Шевченко   (2007-08-17 13:12:00) [25]


> В gamedev-е, к примеру, вопрос шаблонов актуален.


"во многой мудрости много печали; и кто умножает познания, умножает скорбь." (Еккл. 1.18)


tesseract   (2007-08-17 12:53:00) [26]


> в некоторых случаях используют различные фабрики классов,
>  настроек...



>  Прочитать тег, например, может понадобиться, есть такие
> задачи!


A string-case тут причём ? Тэги конечными автоматами разбираються.


DevilDevil   (2007-08-17 12:52:00) [27]

то же самое про Result и return ...
есть задачи, в которых очень удобен Result, есть задачи, в которых очень удобен return... почему бы не объединить 2 возможности ?

поэтому разработчики "DLangExtensions" - круты!


DevilDevil   (2007-08-17 12:50:00) [28]

кстати говоря, работая на Си чуть более года, я осознал полезность и удобство таких вещей как макросы и операторы типа
Value = (условие)? true_value : false_value;


DevilDevil   (2007-08-17 12:46:00) [29]


> palva ©   (17.08.07 11:30) [17]
> > String в case - это программистский маразм. Если вам нужен
> String в case используйте Basic.


в некоторых случаях используют различные фабрики классов, настроек... по определённым строковым константам. Прочитать тег, например, может понадобиться, есть такие задачи!

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


DevilDevil   (2007-08-17 11:38:00) [30]

В дебаге тоже было бы полезно:

procedure RaiseException(const ExceptionText : string; const UnitStr : string = $__FILE__; const Line : string = $__LINE__);
begin
   Log(Format(Exception! Unit "%s", CodeLine %s : "%s"', [UnitStr, Line, ExceptionText]);  
   raise Exception.Create(ExceptionText);
end;


а в тексте программы так:

if not FileExists(FileName)
 then RaiseException('FileNotFound');


P.S. кстати, подобный код обработается, сели использовать DLangExtensions?


palva   (2007-08-17 11:30:00) [31]


> String в case - это программистский маразм.

Если вам нужен String в case используйте Basic.


DevilDevil   (2007-08-17 11:29:00) [32]

Плохиш, давайте не будем рассуждать о плюсах и минусах Delphi и Си.
В gamedev-е, к примеру, вопрос шаблонов актуален.


Плохиш   (2007-08-17 11:21:00) [33]


> DevilDevil ©   (17.08.07 10:51) [14]
> > Плохиш ©   (17.08.07 10:47) [13]
>
> эта реплика к чему?

К желанию о вводе всяких странных и бесполезных операторов...


DevilDevil   (2007-08-17 10:51:00) [34]

> Плохиш ©   (17.08.07 10:47) [13]

эта реплика к чему?


Плохиш   (2007-08-17 10:47:00) [35]


> DevilDevil ©   (17.08.07 10:17) [9]
> P.S. но лучше бы ввели оператор return

А ещё афтаматическое впуздыривание туда где часики и ещё много всего из вопросов ентой конференции... И вообще пусть сама проги клепает, до того как прогер подумает...


DrPass   (2007-08-17 10:45:00) [36]


> DevilDevil ©   (17.08.07 10:15) [8]


> А как это всё может работать ?

Там замешана черная магия :)

> Там точно есть шаблоны или у меня сегодня конкретные глюки
> ?

Есть и шаблоны :)

На самом деле это просто очень хитрый препроцессор, который преобразует новые конструкции в понятный компилятору код. Те же шаблоны/дженерики - это ведь по сути макросы, хоть в Сях они реализованы на уровне компилятора.


Anatoly Podgoretsky   (2007-08-17 10:43:00) [37]

> DevilDevil  (17.08.2007 10:17:09)  [9]

Много ты странного хочешь, а то что уже есть освоил?


Вася Правильный   (2007-08-17 10:35:00) [38]


> Для простых и перечисляемых

первое и так входит во второе


DevilDevil   (2007-08-17 10:17:00) [39]

P.S. но лучше бы ввели оператор return


DevilDevil   (2007-08-17 10:15:00) [40]

> DrPass ©   (17.08.07 01:35) [6]

ЭЭЭЭЭЭЭ......... (разинув рот...)

А как это всё может работать ?
Начиная с какой версии Delphi ?
Там точно есть шаблоны или у меня сегодня конкретные глюки ?
Почему всё до сих пор официально не введено в Delphi Language ?


Страницы:   1 2 3

Наверх

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