powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Memo убрать текст после знака
16 сообщений из 16, страница 1 из 1
Memo убрать текст после знака
    #39611945
vlad.cmd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в memo имеется текст в таком формате

Анна --> тут может быть какой-то тест
Владимир --> тут может быть какой-то тест
Сергей --> тут может быть какой-то тест
Татьяна -->



Нужно убрать текст после --> ну и сами символы эти, оставить только имена. Подскажите,как можно это всё реализовать.
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39611949
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlad.cmdПодскажите,как можно это всё реализовать.

Смотрите TMemo.Lines, функции Pos, Copy и циклы.
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39611954
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По времени как на сессию не похоже.
Разве что пересдача "последний шанс". Судя по вопросам - весьма вероятно.
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39611959
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччДРазве что пересдача "последний шанс". Судя по вопросам - весьма вероятно.
ага. судя по нику, он использует DXE2 и выше
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39611961
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x1ca4064Смотрите TMemo.Lines, функции Pos, Copy и циклы.Вместо copy я бы предложил LeftTrim
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39612331
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДокВместо copy я бы предложил LeftTrimА разве эта функция делает еще что-то, кроме удаления всех символов с кодами <= 32 с начала строки?
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39612338
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_ДокВместо copy я бы предложил LeftTrimА разве эта функция делает еще что-то, кроме удаления всех символов с кодами <= 32 с начала строки?Опечатка, думаю. Ннаверно, он имел ввиду LeftStr
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39612381
Фотография Док
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockОпечатка, думаю. Ннаверно, он имел ввиду LeftStr
абсолютно верно, спасибо :) Давно ею не пользовался

зы. в Лазаре, помимо LeftStr, есть еще и TrimLeft, которая удаляет только пробелы. Вот что-то в голове и переключилось
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39612394
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Докв Лазаре, помимо LeftStr, есть еще и TrimLeftВ делфи он тоже есть, как и TrimRight ;)
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39612401
LoneFast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vlad.cmd... после знака ...
Так после символа или после строки? А то у TLines есть NameValueSeparator и Values[].
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39612442
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LoneFastvlad.cmd... после знака ...
Так после символа или после строки? А то у TLines есть NameValueSeparator и Values[].

Скорее после строки, так что NameValueSeparetor не прокатит.

В принципе там 1 цикл со строкой внутри должне сработать:
Код: pascal
1.
  Memo1.Lines.Strings[i]:=LeftStr(Memo1.Lines.Strings[i],Pos('-->',Memo1.Lines.Strings[i]);
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39612453
LoneFast
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну а вдруг один символ? А автор не знает об существовании Names/Values... :)

А вот что будет с производительностью интересно, если там например миллион строк?
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39613380
pal_bil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlad.cmd,

Код: pascal
1.
2.
3.
4.
5.
6.
var
  i: integer;
begin	
  for i := Memo1.Lines.Count - 1 downto 0 do
    Memo1.Lines(i) := Trim(Copy(Memo1.Lines(i), 1, Pos('-->', Memo1.Lines(i) - 1)));
end;
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39613465
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pal_bilvlad.cmd,

Код: pascal
1.
2.
3.
4.
5.
6.
var
  i: integer;
begin	
  for i := Memo1.Lines.Count - 1 downto 0 do
    Memo1.Lines(i) := Trim(Copy(Memo1.Lines(i), 1, Pos('-->', Memo1.Lines(i) - 1)));
end;



Зачем Вы опубликовали эту помесь тривиальности с ошибками?
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39613503
pal_bil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x1ca4064,

Ну, может от того, что на этих помесях я учился сам )).
...
Рейтинг: 0 / 0
Memo убрать текст после знака
    #39613860
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать покрутить регексами с Memo.Lines.Text. Или 'руками': ищем в строке (Memo.Lines.Text) куски от 0d0a до '-->', их клеим к буферу (кроме первого раза, первый раз ищем от начала строки), остальное пропускаем.
Возможно будет быстрее на больших наборах, чем перебирать построчно. Если же строк сотня-другая, то не стоит заморачиваться, пробежаться просто в цикле.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Memo убрать текст после знака
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]