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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.01.2013, 07:33
masterhex masterhex вне форума
Прохожий
 
Регистрация: 05.12.2012
Сообщения: 19
Репутация: 10
По умолчанию Программа замены определенных букв/символов

Здравствуйте, курсовая, суть такова:
Две текстовые области, ввод текста в первую область, вывод со второй.
В выводе заменяются определенные символы на другие символы заданные заранее.
Заранее извиняюсь если такая тема уже создавалась, я ее искал не нашел.
Буду очень благодарен за помощь или за ссылку на ранее созданную подобную тему.
Я джва года жду такую программу.
Ответить с цитированием
  #2  
Старый 29.01.2013, 09:55
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 29.01.2013, 10:12
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от NumLock
Код:
function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;

Ага, только на больших объемах текста эта штука работает очень медленно. Надо конкретно смотреть задачу. Если надо менять символы, то лучше пройти по строке, как по массиву. Если слова, то надо делать небольшой парсер.

Для символов. Пусть надо менять a на b и c на d:
Код:
function MyCharReplace(S : String) : String;
var
  I : Integer;
begn
  Result := S;
  For I := 1 To Length(S) Do
    Case S[i] Od
      'a' : S[i] := 'b';
      'c' : S[i] := 'd';
    End;
end;

Данный код работает только для замены одних символов на другие, если надо менять слова или менять на слова, то код будет другой.
Ответить с цитированием
  #4  
Старый 29.01.2013, 10:17
masterhex masterhex вне форума
Прохожий
 
Регистрация: 05.12.2012
Сообщения: 19
Репутация: 10
По умолчанию

А если надо массово? т.е. массивный текст, и в нем поменять ВСЕ символы, например "к" на "в", "с" на "б"?
Ответить с цитированием
  #5  
Старый 29.01.2013, 10:21
masterhex masterhex вне форума
Прохожий
 
Регистрация: 05.12.2012
Сообщения: 19
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Ага, только на больших объемах текста эта штука работает очень медленно. Надо конкретно смотреть задачу. Если надо менять символы, то лучше пройти по строке, как по массиву. Если слова, то надо делать небольшой парсер.

Для символов. Пусть надо менять a на b и c на d:
Код:
function MyCharReplace(S : String) : String;
var
  I : Integer;
begn
  Result := S;
  For I := 1 To Length(S) Do
    Case S[i] Od
      'a' : S[i] := 'b';
      'c' : S[i] := 'd';
    End;
end;

Данный код работает только для замены одних символов на другие, если надо менять слова или менять на слова, то код будет другой.

ох вон оно как... Вы меня опередили, спасибо! щас попробую
Ответить с цитированием
  #6  
Старый 29.01.2013, 10:36
masterhex masterhex вне форума
Прохожий
 
Регистрация: 05.12.2012
Сообщения: 19
Репутация: 10
По умолчанию

Странно но ничего не меняет.
Стоп. А вот вы сказали что к словам не будет применено?
т.е. при замене "о" на "а"
слово "слово" не превратится в "слава" ??
Ответить с цитированием
  #7  
Старый 29.01.2013, 10:47
masterhex masterhex вне форума
Прохожий
 
Регистрация: 05.12.2012
Сообщения: 19
Репутация: 10
По умолчанию

Код:
function MyCharReplace(S : String) : String;
var
  I : Integer;
begin
  Result := S;
  For I := 1 To Length(S) Do
    Case S[i] of
      'a' : S[i] := 'b';
      'c' : S[i] := 'd';

    End;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
S1:=Memo1.Text;
S2:= MyCharReplace(S1);
Memo2.text:= S2;
end;

Вот, и не работает, и уточните пожалуйста все таки, будет ли он к примеру "слово" менять на "слава" если вставить
'o' : S[i] := 'a'; ?
Ответить с цитированием
  #8  
Старый 29.01.2013, 14:43
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

lmikle, чё-то ты фейланулся с функцией
Присвоение в функции исходной строке идёт, а не результирующей.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #9  
Старый 29.01.2013, 14:54
masterhex masterhex вне форума
Прохожий
 
Регистрация: 05.12.2012
Сообщения: 19
Репутация: 10
Печаль

Помогите пожалуйста
Ответить с цитированием
  #10  
Старый 29.01.2013, 15:14
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Ну блин, вообще развели тему, программисты-[цензура].
В приложении пример проекта, ввод в левый мемо, вывод в правый. Буквы abcde заменяются на ABCDE соответственно.
Вложения
Тип файла: 7z 2Memo.7z (4.3 Кбайт, 54 просмотров)
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
Этот пользователь сказал Спасибо Aristarh Dark за это полезное сообщение:
masterhex (29.01.2013)
  #11  
Старый 29.01.2013, 15:27
masterhex masterhex вне форума
Прохожий
 
Регистрация: 05.12.2012
Сообщения: 19
Репутация: 10
Хорошо

Вот это здорово, у меня слов нет! Спасибо большое!
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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