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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.03.2010, 22:11
Аватар для Biatov
Biatov Biatov вне форума
Прохожий
 
Регистрация: 04.03.2010
Сообщения: 20
Репутация: 9
Вопрос Как из строки исключить группу символов?

Разработать программу, которая представляет исходную строку в обратном порядке и при этом удаляет в строке результата указанную группу символов.
Могу просто сделать чтобы строка читалась задом наперёд, но вот исключить группу символов не могу
Код:
..... 
var
S: string;
C: char;
BEGIN
S:=Edit1.Text;
N:=length(S);
for i:= 1 to N div 2 do
    begin
      C:= S[i];
      S[i]:= S[N-i+1];
      S[N-i+1]:= C;
  Label4.Caption:=S;
end;
END.

lmikle: пользуемся тегами!
Ответить с цитированием
  #2  
Старый 05.03.2010, 22:34
Ama Ama вне форума
Активный
 
Регистрация: 15.07.2008
Сообщения: 260
Репутация: 23
По умолчанию

Вообще как-то страно переворачиваешь строку. Ну да лана. Ну а в чем прабл. не пойму. Если мож так делать со строкой.
__________________
APPLICATION.TERMINATOR
Ответить с цитированием
  #3  
Старый 05.03.2010, 22:43
Аватар для Biatov
Biatov Biatov вне форума
Прохожий
 
Регистрация: 04.03.2010
Сообщения: 20
Репутация: 9
По умолчанию

Цитата:
Сообщение от Ama
Вообще как-то страно переворачиваешь строку. Ну да лана. Ну а в чем прабл. не пойму. Если мож так делать со строкой.
Короче прописываю в Edit2 группу символов, а программа то исключает их, то нет( Вообщем прога:5_03_2010.RAR

Последний раз редактировалось Biatov, 05.03.2010 в 23:13.
Ответить с цитированием
  #4  
Старый 06.03.2010, 01:52
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,039
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, в общем, правильно он ее переворачивает.
Идет до половины и меняет местами с соотв. с другой стороны.

Вопрос про исключение - тебе надо исключить по символам, или подстроку? Т.е. пусть в edit2 у нас находится "ля". Тебе надо исключить из строки подстроку "ля" (без кавычек, ес-сно) или все символы "л" и "я".
Принцип тут один - пользуем StringReplace на конечной строке, хотя для второго варианта можно и руками.
Ответить с цитированием
  #5  
Старый 06.03.2010, 06:39
Аватар для W1ndow
W1ndow W1ndow вне форума
Новичок
 
Регистрация: 15.09.2009
Адрес: Березники
Сообщения: 61
Репутация: 16
По умолчанию

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

Код:
procedure TForm1.Button1Click(Sender: TObject);
var s,t: string; i: integer; c: char;
begin
  t:=Edit1.Text; s:=Edit2.Text;
  For i:=1 to Length(t) div 2 do begin
    c:=t[i];
    t[i]:=t[Length(t)-i+1];
    t[Length(t)-i+1]:=c;
  end;
  For i:=1 to Length(s) do
    repeat
      if Pos(s[i],t) > 0 then
        Delete(t,Pos(s[i],t),1);
    until Pos(s[i],t)=0;
  Edit1.Text:=t;
end;
Ответить с цитированием
  #6  
Старый 08.03.2010, 22:37
Аватар для Biatov
Biatov Biatov вне форума
Прохожий
 
Регистрация: 04.03.2010
Сообщения: 20
Репутация: 9
По умолчанию

W1ndow, спасибо огромное! Очень понятно! Мы как раз проходили ещё и Pos(подстрока,строка). Я даже и забыл про эту функцию! Спасибо ещё раз!
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter