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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2008, 19:16   #1
ddtpoison
Новичок
Джуниор
 
Регистрация: 02.04.2008
Сообщений: 2
Вопрос работа со строками в Memo

В Memo есть список студентов ("Иванов П.А. 5 4 5 3 5").
Цифры это оценки.
Как удалить ненужные строки, не отвечающие параметрам поиска?

1) список студентов, сдавших экзамены только на «отлично»;
2) список студентов, имеющих тройки;
3) список студентов, имеющих двойки, при этом студент, имеющий более чем одну двойку, исключается из списка.

спс заранее!
ddtpoison вне форума Ответить с цитированием
Старый 31.05.2008, 21:35   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Парсишь каждую строчку, если не удовлетворяет условиям, вызываешь
Код:
Memo1.Lines.Delete(numberofline);
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 01.06.2008, 18:03   #3
ddtpoison
Новичок
Джуниор
 
Регистрация: 02.04.2008
Сообщений: 2
По умолчанию

2Greblin, спасибо, но меня интересовало, как можно в строке определить что все цифры допустим 5 или как узнать что есть повторения n-ой цифры. (p.s. в массив загонять и мутить через него? или есть другой метод?)

Код:
  with Memo.Lines do
    for i := 0 to Memo.Lines.Count do
      if pos('3',Strings[i]) = 0 then
        Memo.Lines.Delete(i);
удаляет по 50% строк =\ где туплю?

Последний раз редактировалось ddtpoison; 01.06.2008 в 18:05.
ddtpoison вне форума Ответить с цитированием
Старый 01.06.2008, 18:33   #4
N!ckeL
Форумчанин
 
Регистрация: 29.03.2008
Сообщений: 300
По умолчанию

Цитата:
удаляет по 50% строк =\ где туплю?
Код:
for i := 0 to Memo.Lines.Count-1 do   
 if pos('3',Memo.Lines.Strings[i])<>0 then   
    Memo.Lines.Delete(i);
Цитата:
как узнать что есть повторения n-ой цифры
Код:
for i := 0 to Memo.Lines.Count-1 do 
begin  
 for i1:=1 to 5 do
  begin
   if pos(inttostr(i1), memo1.lines.strings[i])<>0 then
    if pos(inttostr(i1), copy(memo1.lines.strings[i], pos(inttostr(i1), memo1.lines.strings[i]), length(memo1.lines.strings[i])))<>0 then
//повторяются
  end;
end;
Карп преодолевший водопад становится драконом.
N!ckeL вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками GoAnd Общие вопросы по Java, Java SE, Kotlin 9 22.09.2010 03:36
Работа со строками. ViNcHeStEr Помощь студентам 6 29.06.2008 08:14
Работа со строками . Cveto4eg Помощь студентам 11 26.05.2008 13:36
Работа со строками Nividimka Помощь студентам 11 03.03.2007 15:58