Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.03.2012, 21:16
sasha.belyi sasha.belyi вне форума
Прохожий
 
Регистрация: 13.03.2012
Сообщения: 8
Репутация: 10
По умолчанию Помогите со строками!

Преобразовать строку, заменив в ней каждую точку многоточием.
Вот программа:
Код:
program stroka;
uses crt;
Var s1,s2:string;i:integer;
Begin
clrscr;
Writeln ('‚Введите строку: ');
read (s1);
for i:=1 to length(s1) do begin
if s1[i]='.' then
insert ('...',s1,i);
end;
writeln (s1);
Readkey;
end.
Админ: Пользуемся тегами для оформления кода!

Почему с помощью этой программы не получается ничего?

Напишите пожалуйста подобную программу, чтобы она могла заменять точки в случае, если в исходной строке только точки, точки в начале, в конце и конечно же в середине строки. Буду очень благодарен!

Последний раз редактировалось Admin, 28.03.2012 в 21:22.
Ответить с цитированием
  #2  
Старый 28.03.2012, 21:29
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,088
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Используй StringReplace или такой код:
Код:
function ReplaceDots(AStr : String) : String;
var
  I : Integer;
begin
  Result := '';
  For I := 1 To Length(AStr) Do
    If AStr[i] = '.' Then Result := Result + '...' Else Result := Result + AStr[i];
end;
Ответить с цитированием
  #3  
Старый 28.03.2012, 22:02
sasha.belyi sasha.belyi вне форума
Прохожий
 
Регистрация: 13.03.2012
Сообщения: 8
Репутация: 10
По умолчанию

Мне бы без функции, что бы в самой программе это выполнялось.
Ответить с цитированием
  #4  
Старый 28.03.2012, 22:13
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Поменяй просто в своей версии
Код:
insert ('...',s1,i);
на
Код:
Result := Result + '...' Else Result := Result + AStr[i];
Код:
s2:= s2 + '...' Else s2 := s2 + s1[i];
Ответить с цитированием
Этот пользователь сказал Спасибо YVitaliy за это полезное сообщение:
sasha.belyi (30.03.2012)
  #5  
Старый 30.03.2012, 13:44
PS11011010 PS11011010 вне форума
Новичок
 
Регистрация: 30.03.2012
Сообщения: 98
Репутация: 282
По умолчанию

Могу ошибаться, но попробуй так:

Код:
for i:=1 to length(s1) do begin
 if s1[i]='.' then s2:=s2+'...'
  else s2:=s2+s1[i];
end;
Ответить с цитированием
Этот пользователь сказал Спасибо PS11011010 за это полезное сообщение:
sasha.belyi (30.03.2012)
  #6  
Старый 30.03.2012, 14:43
sasha.belyi sasha.belyi вне форума
Прохожий
 
Регистрация: 13.03.2012
Сообщения: 8
Репутация: 10
Радость

Спасибо! Помогло!
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:32.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025