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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2014, 07:44   #1
Ken_Watanabe
Пользователь
 
Регистрация: 17.04.2014
Сообщений: 39
По умолчанию Делфи Строка.

Дана строка-предложение на русском языке. Преобразовать строку так, чтобы каждое слово начиналось с заглавной буквы. Нужен код в делфи на форме. К примеру:
Добрый день дамы и господа!
Добрый День Дамы И Господа!
Ken_Watanabe вне форума Ответить с цитированием
Старый 15.09.2014, 08:05   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Я так понимаю, что сам ты не пробовал никак?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.09.2014, 08:08   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Сами что сделали ? Без своих попыток разговор короткий - во фриланс, ну или на кибере вон Вам помогали.
В целом задача сводится к разбиению текста на слова (поиск по форуму даст десятки тем с готовыми функциями, только вызывай себе) и для каждой строки заменить первую букву на заглавную, примерно так:
Код:
S[1] := AnsiChar(AnsiUpperCase(S[1]));
phomm вне форума Ответить с цитированием
Старый 15.09.2014, 08:14   #4
Ken_Watanabe
Пользователь
 
Регистрация: 17.04.2014
Сообщений: 39
По умолчанию

Вот код допустим:
Код:
var
Berilgen:string; // енгизилетин строка
i:integer; // циклдин счетчиги
jauap:String; // натижесин шыгаратын строка
Procedure Zaglav(var S:Char);
begin
case S of <= Препод говорит типо AnsiUppercase чтоли использовать как это сделать                          
'q': S:='Q';
'w': S:='W';
'e': S:='E';
'r': S:='R';
't': S:='T';
'y': S:='Y';
'u': S:='U';
'i': S:='I';
'o': S:='O';
'p': S:='P';
'a': S:='A';
's': S:='S';
'd': S:='D';
'f': S:='F';
'g': S:='G';
'h': S:='H';
'j': S:='J';
'k': S:='K';
'l': S:='L';
'z': S:='Z';
'x': S:='X';
'c': S:='C';
'v': S:='V';
'b': S:='B';
'n': S:='N';
'm': S:='M';
end;
end;
begin
// колданушы енгизеди
Write('Stroka engiz:');
readln(Berilgen);

for i:=1 to length(Berilgen) do
begin
if not(Berilgen[i]=' ') and (Berilgen[i-1]=' ') then Zaglav(Berilgen[i]);
end;
// жауабын шырау
Writeln('Jauap:',Berilgen);
Readln;
end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 15.09.2014 в 08:34.
Ken_Watanabe вне форума Ответить с цитированием
Старый 15.09.2014, 08:39   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Ken_Watanabe
Препод говорит типо AnsiUppercase чтоли использовать как это сделать
поднимите глазки, постом выше вашего как раз приведён пример использования AnsiUpperCase


ну и цикл я бы написал так:
Код:
if Length(Berilgen)>0 then begin
  Berilgen[1] := AnsiChar(AnsiUpperCase(Berilgen[1]));
 
  for i:=2 to length(Berilgen) do
  begin
     if (not (Berilgen[i]=' ')) and (Berilgen[i-1]=' ') 
        then  Berilgen[i] := AnsiChar(AnsiUpperCase(Berilgen[i]));
  end;
end;

Последний раз редактировалось Serge_Bliznykov; 15.09.2014 в 08:42.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.09.2014, 08:43   #6
Foreseen
Техножрец
Форумчанин
 
Аватар для Foreseen
 
Регистрация: 04.07.2014
Сообщений: 328
По умолчанию

Код:
for i:=1 to length(Berilgen) do
 begin
 if not(Berilgen[i]=' ') and (Berilgen[i-1]=' ') then Zaglav(Berilgen[i]);
 end;
 // жауабын шырау
 Writeln('Jauap:',Berilgen);
 Readln;
 end.
Кен, у вас практически готовый код, в чем проблема?
Ну вот, Serge_Bliznykov оказался самым добрым из нас и все сделал
— Двери есть везде. Просто нужно знать, как в них войти.

Последний раз редактировалось Foreseen; 15.09.2014 в 08:45. Причина: п.с.
Foreseen вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строка в делфи Ken_Watanabe Помощь студентам 3 14.09.2014 09:53
Строка состояния в делфи dcPuFic Помощь студентам 0 25.12.2012 23:19
Командная строка в делфи glebast Помощь студентам 1 14.10.2012 12:26
Дана строка. В строке удалить символ двоеточие и подсчитать количество удаленных символов.в делфи _Алексей_ Помощь студентам 3 29.04.2012 15:37
Бегущаая строка в Делфи Claster Помощь студентам 2 18.09.2008 19:14