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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2009, 09:40   #1
Юрий2009
Пользователь
 
Регистрация: 17.01.2009
Сообщений: 32
Восклицание Задача Delphi 7 - Замена подстроки в строке

В строке между словами вставить вместо пробела запятую и пробел. Напишите please решение задачи подробно! Заранее спасибо!!!
Юрий2009 вне форума Ответить с цитированием
Старый 23.04.2009, 09:50   #2
Олвин
Экспериментатор
Форумчанин
 
Аватар для Олвин
 
Регистрация: 16.04.2008
Сообщений: 218
По умолчанию

Процедура Insert вставляет ',' в строку s в позиции, переданной в третьем параметре. А там у нас функция Pos, возвращающая позицию пробела в строке s. Запятая вставляется на месте пробела, а остаток строки сдвигается дальше.
Код:
var
s : string;
begin
s := 'Hello world!';
Insert(',', s, Pos(' ', s));
WriteLn(s);
ReadLn
end;
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс
Олвин вне форума Ответить с цитированием
Старый 23.04.2009, 10:03   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Для Delphi можно использовать функцию:
Код:
=StringReplace(Строка,Что менять,На что менять,[rfReplaceAll])
Подробности в Хелпе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.04.2009, 10:12   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var s,s1:string;
begin
 s1:='';
  s:=edit1.Text;
  while s<>'' do
  begin
   if pos(' ',s)<>0 then
   begin
    s1:=s1+(copy(s,1,pos(' ',s)-1))+', ';
    delete(s,1,Pos(' ',s));
   end
   else
    begin
     s1:=s1+s;
     s:='';
    end;
  end;
  edit1.Text:=s1;
end;
SERG1980 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает функция проверки подстроки в строке Cold_Night Помощь студентам 1 25.03.2009 01:30
Найти позицию подстроки в строке Ozerich Общие вопросы C/C++ 5 15.12.2008 16:06
Замена подстрок в строке по шаблону _SERGEYX_ Общие вопросы Delphi 0 08.09.2008 08:45
Замена многоточия одной точкой в строке S. Карась Помощь студентам 9 18.01.2008 18:13
Работа с текстом (замена подстроки) GAGARIN-NEW Общие вопросы Delphi 12 20.11.2007 16:54