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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2013, 19:19   #1
Эйфория=*
Пользователь
 
Регистрация: 11.12.2012
Сообщений: 10
По умолчанию Во введенной строке поменять первые буквы каждого слова на прописные

составить текст программы, которая позволяет по введенной строке поменять первые буквы каждого слова на прописные. Вывести на экран символьную строку до и после изменения
Эйфория=* вне форума Ответить с цитированием
Старый 06.06.2013, 20:00   #2
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

и?
что не получается то?
функции Pos и PosEx тебя спасут
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 06.06.2013, 20:11   #3
Эйфория=*
Пользователь
 
Регистрация: 11.12.2012
Сообщений: 10
По умолчанию

все не получается
Эйфория=* вне форума Ответить с цитированием
Старый 06.06.2013, 20:50   #4
Tclass
Пользователь
 
Регистрация: 02.06.2013
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Эйфория=* Посмотреть сообщение
все не получается
что конкретно не получается? У вас есть какие нибудь наработки? Скиньте сюда, посмотрим.
Tclass вне форума Ответить с цитированием
Старый 06.06.2013, 20:54   #5
Эйфория=*
Пользователь
 
Регистрация: 11.12.2012
Сообщений: 10
По умолчанию

procedure TForm1.Button1Click(Sender: TObject);
var
s : string;
i : Integer;
begin
s := Edit1.Text;
for i := 1 to Length(s) do
if (i = 1) or (s[i-1] in [' ', ',', '.']) then s[i] := AnsiUpperCase(s[i])[1];
ShowMessage(s);
end;
Эйфория=* вне форума Ответить с цитированием
Старый 06.06.2013, 20:56   #6
Эйфория=*
Пользователь
 
Регистрация: 11.12.2012
Сообщений: 10
По умолчанию

как сделать так чтобы в ответ выводилась исходная строчка и новая редактированная
Эйфория=* вне форума Ответить с цитированием
Старый 06.06.2013, 20:58   #7
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Код:
var
  s : string;
  i : integer;
begin
  s := Trim(Edit1.Text);
  s[1] := UpCase(s[1]);
  for i := 2 to Length(s) do
    if s[i] in [' ', ',', '.'] then
      s[i+1] := UpCase(s[i+1]);
  Edit2.Text := s;
end;
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Старый 06.06.2013, 21:05   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Yurk@, for i := 2 to Length(s) - 1 do.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 06.06.2013, 21:15   #9
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Ещё бы условие добавить, по длине строки. А то менее 3-х символов (например "ё ") и всё, "ошибка по адресу...", хотя фикс от BDA всё поправит

Последний раз редактировалось zetrix; 06.06.2013 в 21:22.
zetrix вне форума Ответить с цитированием
Старый 06.06.2013, 21:18   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Цитата:
Сообщение от zetrix Посмотреть сообщение
Ещё бы условие добавить, по длине строки. А то менее 3-х символов (например "ё ") и всё, "ошибка по адресу..."
Достаточно проверить на пустоту строку s.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 06.06.2013 в 21:22.
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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