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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2014, 06:40   #1
Saren
Пользователь
 
Регистрация: 02.11.2014
Сообщений: 13
По умолчанию Преобразовать заданную строку

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

Преобразовать заданную строку, заменив в ней каждое сочетание символов '<–>' на '–+–'

Код:
 procedure TForm1.Button1Click(Sender: TObject);
var
  Str : string;
begin
str:=Edit1.Text;
  while Pos('<–>', Str) <> 0 do
Str.Replace('<–>','–+–'); 
end;
Str.Replace('<–>','–+–'); - на эту команду выдает ошибку.
[Ошибка] Unit1.pas(33): Record, object or class type required
Saren вне форума Ответить с цитированием
Старый 28.11.2014, 07:07   #2
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Цитата:
на эту команду выдает ошибку
Не удивительно. Где Вы такую чушь скопировали?
Код:
uses StrUtils;
...
Str := ReplaceStr(Str, '<–>', '–+–');
WinCoder вне форума Ответить с цитированием
Старый 28.11.2014, 08:05   #3
Saren
Пользователь
 
Регистрация: 02.11.2014
Сообщений: 13
По умолчанию

Вот так полностью выглядит код:

Код:
 unit Unit1;

interface

uses
  Windows, StrUtils, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Str : string;
begin
str:=Edit1.Text;
  while Pos('<–>', Str) <> 0 do
Str := ReplaceStr(Str, '<–>', '–+–');
end;

end.

Все равно на эту команду Str := ReplaceStr(Str, '<–>', '–+–'); выдает ошибку
Saren вне форума Ответить с цитированием
Старый 28.11.2014, 08:10   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
begin
 Edit1.Text:=StringReplace(Edit1.Text,'<–>', '–+–',[rfreplaceall]);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 28.11.2014, 08:13   #5
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Saren Посмотреть сообщение
Все равно на эту команду Str := ReplaceStr(Str, '<–>', '–+–'); выдает ошибку
А так?
Код:
Str := StringReplace(Str, '<–>', '–+–',[rfReplaceAll]);
Опоздал...)))
Iron Monk вне форума Ответить с цитированием
Старый 28.11.2014, 08:46   #6
Saren
Пользователь
 
Регистрация: 02.11.2014
Сообщений: 13
По умолчанию

НЕ Преобразовывает строку <–> следующая команда:

Код:
 Str := StringReplace(Str, '<–>', '–+–',[rfReplaceAll]);
Saren вне форума Ответить с цитированием
Старый 28.11.2014, 08:52   #7
Saren
Пользователь
 
Регистрация: 02.11.2014
Сообщений: 13
По умолчанию

Все разобрался спасибо
Saren вне форума Ответить с цитированием
Старый 28.11.2014, 08:52   #8
Saren
Пользователь
 
Регистрация: 02.11.2014
Сообщений: 13
По умолчанию

Код:
 unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Str : string;
begin
str:=Edit1.Text;
  while Pos('<–>', Str) <> 0 do
 Str := StringReplace(Str, '<–>', '–+–',[rfReplaceAll]);
 Edit1.Text:=str;
end;

end.
Saren вне форума Ответить с цитированием
Старый 28.11.2014, 08:52   #9
Iron Monk
Форумчанин
 
Аватар для Iron Monk
 
Регистрация: 05.10.2007
Сообщений: 478
По умолчанию

Цитата:
Сообщение от Saren Посмотреть сообщение
НЕ Преобразовывает строку <–> следующая команда:
Код:
 Str := StringReplace(Str, '<–>', '–+–',[rfReplaceAll]);
Вот эту строку '<–>' скопируй из своего Edit1 и вставь в свой код.
И всё станет замечательно...
Iron Monk вне форума Ответить с цитированием
Старый 28.11.2014, 08:59   #10
WinCoder
Заблокирован
 
Регистрация: 24.11.2014
Сообщений: 721
По умолчанию

Цитата:
Все разобрался спасибо
Не заметно. Цикл в данном коде не нужен вообще.
Цитата:
Все равно на эту команду Str := ReplaceStr(Str, '<–>', '–+–'); выдает ошибку
А всё потому, что кто-то не потрудился указать среду.

Последний раз редактировалось WinCoder; 28.11.2014 в 09:01.
WinCoder вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразовать строку в число hon Паскаль, Turbo Pascal, PascalABC.NET 4 10.10.2012 18:44
Заданную логическую формулу преобразовать в эквивалентную днф sergei15 Паскаль, Turbo Pascal, PascalABC.NET 2 29.05.2012 06:21
заданную строку записать в обратном порядке Defa4ka Помощь студентам 1 13.05.2009 11:50
Перевернуть строку заданную интервалом Gongled Паскаль, Turbo Pascal, PascalABC.NET 0 08.05.2009 17:26
Содержит ли текст заданную отдельную строку длинной не более 255 из символов 0 и 1 Curtis Помощь студентам 1 15.02.2009 20:08