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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2010, 21:38   #1
Sanek_ntsk
Пользователь
 
Регистрация: 08.11.2007
Сообщений: 91
По умолчанию case для строк

А case для строк не реализовывается чтоли?
Не мы такие, жизнь такая...
Sanek_ntsk вне форума Ответить с цитированием
Старый 22.03.2010, 22:10   #2
bitSoft
Programming...
Форумчанин
 
Аватар для bitSoft
 
Регистрация: 13.03.2010
Сообщений: 198
По умолчанию

зависит от того, что вы делаете
Код:
With TProgrammersForum.Create do  AddNewTopic('Title','Content...');
bitSoft вне форума Ответить с цитированием
Старый 22.03.2010, 22:49   #3
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

нет. и не будет. string - массив символов, а для case нужен численный тип.
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Старый 23.03.2010, 17:34   #4
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Цитата:
Сообщение от notHaker Посмотреть сообщение
нет. и не будет. string - массив символов, а для case нужен численный тип.
А символы не имеют числового значения? А как же ANSII ? Можно посимвольно переводить в ansii, а после это число в case и использовать...
W0LF вне форума Ответить с цитированием
Старый 23.03.2010, 17:39   #5
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

По-моему проще и нагляднее сделать через if, чем городить сложение всех символов в строке, да и не выйдет все равно, если переставить буквы то сумма кодов останется той же, а строки уже не будут равны. Разве что первый символ использовать, при условии что все строки заранее известны, их немного и начинаются с разных букв.

Что-то типа такого (коды символов я от фонаря взял, не помню наизусть):
Код:
case Ord(Sezon[1]) of
  45: лето;
  46: осень;
  47: зима;
  48: весна;
end;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 23.03.2010 в 17:43.
mutabor вне форума Ответить с цитированием
Старый 23.03.2010, 17:42   #6
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

Цитата:
Сообщение от W0LF Посмотреть сообщение
А символы не имеют числового значения? А как же ANSII ? Можно посимвольно переводить в ansii, а после это число в case и использовать...
Наверное, имелась в виду ASCII.
Хорошо, каждый символ строки можем представить числовым эквивалентом.
Что нам это даст?
Нам нужно получить числовой эквивалент строки.
Выход -- использование какой-то хэш-функции. Хотя это, на мой взгляд, убивание мух огнемётом.
Наверное, более оправданным будет использование if'ов.
NikLik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для чего case нужен в record? VintProg Общие вопросы Delphi 14 22.10.2013 23:48
Конечный автомат для строк Infinite Помощь студентам 0 25.12.2009 21:08
Номера строк для блокнота __@cmd@__ Общие вопросы Delphi 1 02.02.2009 09:09
Номера строк для блокнота __@cmd@__ Общие вопросы Delphi 5 01.02.2009 16:36