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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2013, 23:17   #21
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Цитата:
рано или поздно прога рухнет
даже спорить не буду)) решение сырое) дотачивать под конкретную задачу нужно)
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 07.06.2013, 20:04   #22
iworm2009
Пользователь
 
Регистрация: 07.05.2013
Сообщений: 51
По умолчанию

1. проверяем длину строки
1.1 если пустая не делаем ничего
1.2 если более 1 символа запускаем цикл с 2-го символа до конца строки и проверяем предыдущий символ на наличие
1.3 в остальном поднимаем единственный символ

Код:
  l := length(s);
  if l > 0 then
  begin
    s[1] := UpCase(s[1]);
    if l > 1 then
      for i := 2 to l do
        if (s[i - 1] in [' ', ',', '.']) then
          s[i] := UpCase(s[i])
  end;
под конкретную задачу)) правда есть одна "Бээда" - может апкейзнуть пару раз первый символ

Последний раз редактировалось iworm2009; 07.06.2013 в 20:15.
iworm2009 вне форума Ответить с цитированием
Старый 07.06.2013, 20:13   #23
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

iworm2009, смысла проверять if l > 1 then нет, так как цикл не выполнится в случае, когда l <= 1.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 07.06.2013, 20:17   #24
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Кстати, почему все так уверены, что в строке будут только английские буквы?
Poma][a вне форума Ответить с цитированием
Старый 07.06.2013, 20:38   #25
iworm2009
Пользователь
 
Регистрация: 07.05.2013
Сообщений: 51
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Кстати, почему все так уверены, что в строке будут только английские буквы?
Код:
  s[1] := AnsiUpperCase(s[1])[1];
     ...
          s[i] := AnsiUpperCase(s[i])[1]
iworm2009 вне форума Ответить с цитированием
Старый 10.06.2013, 17:18   #26
Эйфория=*
Пользователь
 
Регистрация: 11.12.2012
Сообщений: 10
По умолчанию

Приветик)мне нужна твоя помощь очень
Эйфория=* вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан текст, состоящий из букв и пробелов, слова разделяются пробелом. Поменять первую и вторую букву каждого слова. danteone Помощь студентам 6 21.05.2012 12:31
объясните как убрать в предложении из каждого слова все повторяющиеся буквы? st555 Общие вопросы C/C++ 0 29.12.2010 06:31
Поменять слова в строке местами fen1ksss Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 28.11.2010 22:25
Преобразовать строку таким образом, чтобы буквы каждого слова в ней были отсортированы по возрастанию. Matr1x Общие вопросы C/C++ 4 07.01.2010 21:38
В заданной строке символов заменить все первые буквы слов на заглавные NV-salt Общие вопросы C/C++ 4 05.04.2009 18:41