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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.04.2009, 12:41
malay malay вне форума
Прохожий
 
Регистрация: 18.04.2009
Сообщения: 5
Репутация: 10
По умолчанию delphi

мне в программе нужно заменить в поле memo слово "html" на "xml" и вот что у меня получилось:

Код:
procedure TForm1.Button3Click(Sender: TObject);
var
 a: integer;
 begin
  for a:=0 to Memo1.Lines.Count do
  Memo1.Lines[a]:=Replace(Memo1.Lines[a], 'html', 'xml');
 end;
 end;

lmikle: Где теги???

но на "Replace" он ругается! в чем дело? подскажите пожалуйста!
Ответить с цитированием
  #2  
Старый 18.04.2009, 12:43
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,031
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Потому что нужная тебе функция называется StringReplace
Ответить с цитированием
  #3  
Старый 18.04.2009, 12:45
malay malay вне форума
Прохожий
 
Регистрация: 18.04.2009
Сообщения: 5
Репутация: 10
По умолчанию

зачем они? мне нужно просто слова поменять! все равно что "собака" на "кошку"
Ответить с цитированием
  #4  
Старый 18.04.2009, 12:47
malay malay вне форума
Прохожий
 
Регистрация: 18.04.2009
Сообщения: 5
Репутация: 10
Восклицание

Цитата:
Сообщение от lmikle
Потому что нужная тебе функция называется StringReplace
спасибо! но теперь вот что[Error] rd_.pas(129): Not enough actual parameters
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
 a: integer;
 begin
  for a:=0 to Memo1.Lines.Count do
  Memo1.Lines[a]:=StringReplace(Memo1.Lines[a], 'html', 'xml');//курсор здесь
 end;
 end;
Admin: Теги, и еще раз теги! При рецедиве - бан.

Последний раз редактировалось malay, 18.04.2009 в 12:54.
Ответить с цитированием
  #5  
Старый 18.04.2009, 12:56
malay malay вне форума
Прохожий
 
Регистрация: 18.04.2009
Сообщения: 5
Репутация: 10
По умолчанию

Цитата:
Сообщение от malay
спасибо! но теперь вот что[Error] rd_.pas(129): Not enough actual parameters
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
 a: integer;
 begin
  for a:=0 to Memo1.Lines.Count do
  Memo1.Lines[a]:=StringReplace(Memo1.Lines[a], 'html', 'xml');//курсор здесь
 end;
 end;
Admin: Теги, и еще раз теги! При рецедиве - бан.
куда эти теги?
Ответить с цитированием
  #6  
Старый 18.04.2009, 12:59
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,564
Версия Delphi: Delphi 7
Репутация: выкл
По умолчанию

Цитата:
Сообщение от malay
куда эти теги?
http://www.delphisources.ru/pages/forum_rules.html
Ответить с цитированием
  #7  
Старый 18.04.2009, 13:09
malay malay вне форума
Прохожий
 
Регистрация: 18.04.2009
Сообщения: 5
Репутация: 10
По умолчанию

Код:
procedure TForm1.Button3Click(Sender: TObject);
var
 a: integer;
 begin
  for a:=0 to Memo1.Lines.Count do
  Memo1.Lines[a]:=StringReplace(Memo1.Lines[a], 'html', 'xml');//курсор здесь
 end;
 end;
 
.
вот так?
Ответить с цитированием
  #8  
Старый 18.04.2009, 13:17
malay malay вне форума
Прохожий
 
Регистрация: 18.04.2009
Сообщения: 5
Репутация: 10
По умолчанию

если че не так извените я здесь первыый раз!
Ответить с цитированием
  #9  
Старый 18.04.2009, 13:23
malay malay вне форума
Прохожий
 
Регистрация: 18.04.2009
Сообщения: 5
Репутация: 10
По умолчанию

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

Справку читать почаще - проблем будет поменьше:
Цитата:
Returns a string with occurrences of one substring replaced by another substring.

Unit

SysUtils

Category

string handling routines

Delphi syntax:

function StringReplace(const S, OldPattern, NewPattern: string; Flags: TReplaceFlags): string;


Description

StringReplace replaces occurrences of the substring specified by OldPattern with the substring specified by NewPattern. StringReplace assumes that the source string may contain Multibyte characters.

S is the source string, whose substrings are changed.

OldPattern is the substring to locate and replace with NewPattern.

NewPattern is the substring to substitute for occurrences of OldPattern.

Flags is a set of flags that govern how StringReplace locates and replaces occurrences of OldPattern. If Flags does not include rfReplaceAll, StringReplace only replaces the first occurrence of OldPattern in S. Otherwise, StringReplace replaces all instances of OldPattern with NewPattern. If the Flags parameter includes rfIgnoreCase, The comparison operation is case insensitive.
и вот
Цитата:
TReplaceFlags indicates how to perform a search-and-replace operation

Unit

SysUtils

Delphi syntax:

type TReplaceFlags = set of (rfReplaceAll, rfIgnoreCase);

Description

TReplaceFlags is a set of flags that govern how to locate and replace a substring within a string.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #11  
Старый 18.04.2009, 15:19
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Можно несколько уменьшить код если написать так:
Код:
procedure TForm1.Button3Click(Sender: TObject);
begin
 Memo1.Text := StringReplace(Memo1.Text, 'html', 'xml',[rfReplaceAll]);
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #12  
Старый 18.04.2009, 17:28
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Я бы ещё добавил флаг Ignore Case...
Код:
 Memo1.Text := StringReplace(Memo1.Text, 'html', 'xml',[rfReplaceAll,rfIgnoreCase]);
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter