Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Считывание текста memo

10K
23 февраля 2008 года
In0stRAnez
66 / / 16.02.2008
Как можно сделать так что считывать определённые символы в мемо1, например первые пять символов, или вторые пять символов, а потом например сделать действие: сверить вторые пять символов с текстом например из мемо2. Если кто знает прошу привести хороший пример с пояснением!

Заранее спасибо!
9.4K
23 февраля 2008 года
AIGrifon
165 / / 13.11.2007
Первый способ - использовать свойство Caption:
 
Код:
var
  s : string;
begin
   s := Memo1.Text; //Заносим в строчку текст
   //Далее работаем с ней
end;


В строку будет заноситься и многострочный текст, т.е. символы #13, #10.

Второй способ - использование свойства Lines. У свойсва есть набор строк текста. Строки нумеруются с 0.

 
Код:
var
  s : string;
begin
  s := Memo1.Lines.Strings[1]; //Заносим в s вторую строку из Memo1
  //Если второй строки нет, то в s будет пусто.
end;


Так что можно работать как и со строками.
10K
23 февраля 2008 года
In0stRAnez
66 / / 16.02.2008
ты не понял я конкретно имел в виду в первой строке от 5 до 10 символы сравнить с мемо2
9.4K
23 февраля 2008 года
AIGrifon
165 / / 13.11.2007
Я показал возможные варианты работы с текстом Memo.

В твоем случае задачу можно решить с помощью второго способа. Смотри код ниже.

 
Код:
var
  s : string;
begin
  //Копируем в s символы с пятого по десятый
  //включительно
  //Использование s не обязательно
  s := copy(Memo1.Lines.Strings[0],5,6);
  if s = Memo2.Text then
    ShowMessage('s = Memo2');
end;


Введем в первое поле: 0123456789
Во второе: 456789
Получим сообщение: s = Memo2.
10K
23 февраля 2008 года
In0stRAnez
66 / / 16.02.2008
спс, то что нужно братан =)
10K
24 февраля 2008 года
In0stRAnez
66 / / 16.02.2008
Вот такой у меня возник вопрос в догонку Copy(Memo1.Text, 6, 5) - копирование с 5 по 6 символ, а как сделать удаление с 5 по 6 символ?
9.4K
24 февраля 2008 года
AIGrifon
165 / / 13.11.2007
Copy(Memo1.Text, 6, 5) - это копирование из Memo1.Text пяти символов начиная с шестого. Будь внимателен.

Удалять можно с помощью delete:

 
Код:
...
  //удаление с 5 по 6 символ из строки s
  //т.е. удаление двух символов, начиная с пятого
  Delete(s,5,2);
  ...
10K
24 февраля 2008 года
In0stRAnez
66 / / 16.02.2008
спасиб, очень помогли!
1.9K
26 февраля 2008 года
Cool Xacker
148 / / 06.06.2006
Цитата: AIGrifon
Я показал возможные варианты работы с текстом Memo.

В твоем случае задачу можно решить с помощью второго способа. Смотри код ниже.

 
Код:
var
  s : string;
begin
  //Копируем в s символы с пятого по десятый
  //включительно
  //Использование s не обязательно
  s := copy(Memo1.Lines.Strings[0],5,6);
  if s = Memo2.Text then
    ShowMessage('s = Memo2');
end;


Введем в первое поле: 0123456789
Во второе: 456789
Получим сообщение: s = Memo2.



А как сделать это в цикле, т.е. автоматически прогнать все строки в этот мемо и вывести все похожие значения в 3 memo???

1.9K
26 февраля 2008 года
Cool Xacker
148 / / 06.06.2006
Всё я понял и сделал :)

вот что у меня получилось и работает автоматом:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  s : string;
  i:integer;
begin
Memo3.Clear;
for i:=0 to Memo1.Lines.Count do
 begin
  s:=copy(Memo1.Lines.Strings,1,5);
  if s=Edit1.Text then
   begin
    s:=Memo1.Lines.Strings;
    Memo3.Lines.Add('Сегодня день рождение');
    Memo3.Lines.Add(s);
    end;
   end;
end;


:D
1.9K
26 февраля 2008 года
Cool Xacker
148 / / 06.06.2006
Окей, а если длина слова не определена (т.е. искомые слова разной длины), то как их сыскать и их значение записать в поле.

Вот у меня такой текст:

======================
#FOLDER
ID=12
NAME=Opera
ON PERSONALBAR=YES
PERSONALBAR_POS=0
EXPANDED=YES
#URL
ID=13
NAME=Загрузка Opera
URL=http://www.opera.com/download/
VISITED=1198159316
#URL
ID=14
NAME=Сообщество Opera
URL=http://my.opera.com/
ICONFILE=my.opera.com.ico
ON PERSONALBAR=YES
PERSONALBAR_POS=1
======================

мне надо найти в этом тексте значение ID, NAME и URL
и записать это построчно, т.е.
ID=12;NAME=Opera;
ID=13;NAME=Загрузка Opera;URL=http://www.opera.com/download/;
ID=14;NAME=Сообщество Opera;URL=http://my.opera.com/; :confused:
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог