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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 03.10.2013, 19:32   #1
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
Вопрос Числа из второго списка удалить в первом списке, как?

Вобщем нужно числа из второго списка удалить в первом списке и результат вывести в Memo, не получается т.к не умею работать с функцией Delete. Спасибо.

Код:
Код:
procedure TForm1.sButton1Click(Sender: TObject);
var
a, b:TStringList;
i:integer;
begin
a:=TStringList.Create;
b:=TStringList.Create;
a.LoadFromFile('1.txt');
b.LoadFromFile('2.txt');
for i:=0 to b.Count-1 do begin
if Pos(b[i], a[i])<>0 then
Delete(.....); // т.е если число из второго списка нашли в первом списке то удаляем его из первого списка, в конце результат выводим в мемо
end;
end;
FleXik вне форума
Старый 03.10.2013, 19:52   #2
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Код:
for i:=0 to b.Count-1 do begin
  if a.IndexOf(b[i]) >= 0 then a.Delete(a.IndexOf(b[i])); 
end;
northener вне форума
Старый 03.10.2013, 20:09   #3
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Код:
for i:=0 to b.Count-1 do begin
  if a.IndexOf(b[i]) >= 0 then a.Delete(a.IndexOf(b[i])); 
end;
не работает

-----------------------

блин, извиняюсь, все работает, я про memo забыл))) спасибо большое

Последний раз редактировалось FleXik; 03.10.2013 в 20:12.
FleXik вне форума
Старый 03.10.2013, 20:13   #4
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
не работает
Что значит не работает?
northener вне форума
Старый 03.10.2013, 20:21   #5
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Что значит не работает?
уже работает, но почему-то не все добавляет в мемо, в первом списке 250 строк, во втором 600, должно выдавать 350 строк а выдает всего 250 почему-то
FleXik вне форума
Старый 03.10.2013, 20:39   #6
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Цитата:
Сообщение от FleXik Посмотреть сообщение
уже работает, но почему-то не все добавляет в мемо, в первом списке 250 строк, во втором 600, должно выдавать 350 строк а выдает всего 250 почему-то
С тем какой список первый а какой второй разобрался? Из какого списка должны удаляться строки?
northener вне форума
Старый 03.10.2013, 20:43   #7
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
С тем какой список первый а какой второй разобрался? Из какого списка должны удаляться строки?
строки должны удаляться с первого списка, а строки которые остались (результат) должны выводиться в мемо, они и выводятся но не все (чуть меньше половины нету), я заметил что строк выводится столько сколько и строк во второй тхт файле (переменная b)
FleXik вне форума
Старый 03.10.2013, 22:20   #8
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

все еще не получается...

Последний раз редактировалось FleXik; 03.10.2013 в 22:47.
FleXik вне форума
Старый 04.10.2013, 00:56   #9
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

помогите кто-то пожалуйста

northener, дал нормальный код, но почему-то мне не выводит все строки, строк выводит столько, сколько строк во втором файле (т.е 247) а должно выводить 353 строки (т.к в первом в файле 600 строк)

Код:
procedure TForm1.sButton1Click(Sender: TObject);
var
a, b:TStringList;
i:integer;
begin
a:=TStringList.Create;
b:=TStringList.Create;
a.LoadFromFile('1.txt');
b.LoadFromFile('2.txt');
for i:=0 to b.Count-1 do begin
if a.IndexOf(b[i]) >= 0 then
a.Delete(a.IndexOf(b[i])); 
end;
Form1.sMemo1.Lines.Add(a[i]);
end;
end;
FleXik вне форума
Старый 04.10.2013, 01:31   #10
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Код:
for i:=0 to b.Count-1 do begin
  if a.IndexOf(b[i]) >= 0 then begin
    a.Delete(a.IndexOf(b[i])); 
  end;
end;
sMemo1.Lines.Assign(a);
northener вне форума
Закрытая тема


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
горитм нахождения строки в первом списке, которую можно составить из двух любых строк второго списка edikesh Помощь студентам 1 14.05.2012 21:24
как удалить в списке объект по ссылке the_deer_one C# (си шарп) 4 25.04.2012 06:34
Атрибуты выпадающего списка, как ускорить выбор в выпадающем списке sevalery PHP 1 01.08.2011 13:51
Вывод второго selecta в зависимости от выбранного пункта в первом pavelslap PHP 5 20.01.2011 16:28
Как удалить совпадающие записи из списка? Ivan_RIV Microsoft Office Access 12 12.04.2010 18:55