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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2015, 09:24   #1
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию Delphi. Программа берет 1-ю строку из файла. Нужно удалить все точки, и каждую первую букву всех слов сделать заглавной.

точки заменить на "ничего", а не на "пробелы".

Код:
var
I : Integer;
t: TStringList;

t := TStringList.Create;
t.LoadFromFile('file.txt', Tencoding.UTF8);
Memo3.Clear;

for I := 0 to t.Count - 1 do
Memo3.Lines.Add(t.Strings[I]);

Edit3.Text := Memo3.Lines.Strings[0];
igrok111 вне форума Ответить с цитированием
Старый 25.09.2015, 11:20   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

А где вопрос то?
Точки заменить поможет функция ReplaceString, дальше пробегаешься по всей строке в цикле от начала строки до конца и если находишь пробел, то меняешь последующую букву на заглавную функцией UpperCase например.
FaTaL вне форума Ответить с цитированием
Старый 25.09.2015, 15:42   #3
SQLPowerUser
Форумчанин
 
Аватар для SQLPowerUser
 
Регистрация: 19.01.2015
Сообщений: 158
Вопрос Не совсем понятна задача

Дайте пример исходной строки (та, что в Edit3) и результат, что должно получиться.
SQLPowerUser вне форума Ответить с цитированием
Старый 25.09.2015, 21:33   #4
3D Hunter
Сумрачная тень
Форумчанин
 
Аватар для 3D Hunter
 
Регистрация: 05.03.2009
Сообщений: 689
По умолчанию

Код:
//метод
function EditString(const AStr:string):string;
begin
  Result:=StringReplace(AStr,'.','',[rfReplaceAll]);
  if Length(Result)>0 then
    Result[1]:=UpperCase(Result[1])[1];
end;

//использование
procedure TForm2.FormCreate(Sender: TObject);
begin
  ShowMessage(EditString('datase....t is clo...se'));
end;
"ковыряю изнутри" (с)
3D Hunter вне форума Ответить с цитированием
Старый 13.10.2015, 15:25   #5
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию

Цитата:
Сообщение от 3D Hunter Посмотреть сообщение
Код:
//метод
function EditString(const AStr:string):string;
begin
  Result:=StringReplace(AStr,'.','',[rfReplaceAll]);
  if Length(Result)>0 then
    Result[1]:=UpperCase(Result[1])[1];
end;

//использование
procedure TForm2.FormCreate(Sender: TObject);
begin
  ShowMessage(EditString('datase....t is clo...se'));
end;
Спасибо. Ваша функция удаляет точки, но она почему-то не изменяет буквы на заглавные. А точнее оно делает первую букву большой, но мне нужно что бы все слова начинались с заглавной. На вашем примере:
Dataset Is Close - вот, что должно получится.

Последний раз редактировалось igrok111; 13.10.2015 в 16:11.
igrok111 вне форума Ответить с цитированием
Старый 13.10.2015, 17:04   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Это Вы три недели проверяли?! o_O!

Код:
//метод
function EditString(const AStr:string):string;
var i : integer;
begin
  Result:=StringReplace(AStr,'.','',[rfReplaceAll]);
  if Length(Result)>0 then begin
      Result[1]:=UpperCase(Result[1])[1];
      for i:=2 to Length(Result)-1 do
        if (Result[i]=' ') and (Result[i+1]<>' ') 
              then Result[i+1]:=UpperCase(Result[i+1])[1];
  end; 
end;
p.s. код не проверял, доверяю проверку и отладку Вам
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан текст. Удалить в нём каждую вторую букву от «b» до «d»; .kbz Общие вопросы C/C++ 6 10.05.2015 20:32
считывать каждую первую букву в слове и записывать ее в множество СанекКенас Паскаль, Turbo Pascal, PascalABC.NET 6 05.02.2015 10:34
если слово нечетной длины,то удалить его первую букву!!! locdoc Помощь студентам 2 06.12.2010 16:35
Удалить из текстового файла первую строку. annosinceva Общие вопросы C/C++ 1 31.05.2010 14:19