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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.12.2013, 00:31
tesla tesla вне форума
Прохожий
 
Регистрация: 15.07.2012
Сообщения: 14
Репутация: 10
По умолчанию Копирование текста между знаками

Доброго времени суток!
Есть текст подгружаемый в Memo1 из файла, пример:

:test;1111@4444%8u#
:red;regr@5555%5r#
:edfrtg;rgwrf@6666%6t#
:erwgr;erger@7777%8u#

В Memo2 нужно скопирвоать и вывести текст, который находится ":" и ";"
Пример:

test
red
edfrtg
erwgr

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  f: string;
  k: Integer;
begin
  for k:=0 to Memo1.Lines.Count-1 do
  begin
   f:=Copy(Memo1.Lines.Text, Pos(':',Memo1.Lines.Text)+1, Pos(';',Memo1.Lines.Text)-2);
   Memo2.Lines.Add(f);
  end;
end;

но в memo2 получаю:
test
test
test
test

Пожалуста, помогите!
Ответить с цитированием
  #2  
Старый 23.12.2013, 00:46
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

А так?:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  f: string;
  k, p1, p2: Integer;
begin
  for k := 0 to Memo1.Lines.Count - 1 do
  begin
    f := Memo1.Lines[k];
    p1 := Pos(':', f);
    if p1 > 0 then
    begin
      Inc(p1);
      p2 := PosEx(';', f, p1);
      if p2 > 0 then Memo2.Lines.Add(Copy(f, p1, p2 - p1));
    end;
  end;
end;
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
tesla (23.12.2013)
  #3  
Старый 23.12.2013, 00:53
tesla tesla вне форума
Прохожий
 
Регистрация: 15.07.2012
Сообщения: 14
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
А так?:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  f: string;
  k, p1, p2: Integer;
begin
  for k := 0 to Memo1.Lines.Count - 1 do
  begin
    f := Memo1.Lines[k];
    p1 := Pos(':', f);
    if p1 > 0 then
    begin
      Inc(p1);
      p2 := PosEx(';', f, p1);
      if p2 > 0 then Memo2.Lines.Add(Copy(f, p1, p2 - p1));
    end;
  end;
end;

ругается на
Код:
p2 := PosEx(';', f, p1);
[Error] Unit1.pas(49): Undeclared identifier: 'PosEx'
Ответить с цитированием
  #4  
Старый 23.12.2013, 00:57
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от tesla
ругается на
Код:
p2 := PosEx(';', f, p1);
[Error] Unit1.pas(49): Undeclared identifier: 'PosEx'
Код:
uses StrUtils;
Ответить с цитированием
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение:
tesla (23.12.2013)
  #5  
Старый 23.12.2013, 00:59
tesla tesla вне форума
Прохожий
 
Регистрация: 15.07.2012
Сообщения: 14
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Код:
uses StrUtils;

Большое Спасибо!
Ответить с цитированием
  #6  
Старый 23.12.2013, 01:00
tesla tesla вне форума
Прохожий
 
Регистрация: 15.07.2012
Сообщения: 14
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Код:
uses StrUtils;

Большое Спасибо!



Извеняюсь, заглючило...
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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