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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2013, 02:07   #1
tortik3399
Пользователь
 
Регистрация: 23.05.2013
Сообщений: 11
По умолчанию Строки

Возникла такая проблема нужно чтоб при добавления файла в sBitBtn1 , производилась удаления дубликатов и сортировка . что бы сразу при добавление это действие происходила с файлом в нутри и потом он его добавлял из файла выбраного и уже отдублированого в файле будут значения типа идут значения например 24565456;5667677 или оааоа@ma.ru;567677 или 453453 или 675464 их много если можно то напишите код через StringList


по прогнозам он должен при нажатие загрузить отсортировать в файле удалить дубли и добавить уже в программу данные например в NumberList и выдавал количество строчек в файле

а вот что пробовал
Код:
procedure TForm1.sBitBtn10Click(Sender: TObject);
var
  StrList: TStringList;
begin
  if sOpenDialog1.Execute then
  begin //Если выбрали файл то
    StrList := TStringList.Create;
    StrList.Sorted := True;
    StrList.Duplicates := dupIgnore;
    StrList.Items.LoadFromFile(sOpenDialog1.FileName); //Загружаем выбранный файл
 
    sListBox1.Clear; //Очищаем на всякий случай.
    sListBox1.Items.AddStrings(StrList);
    StrList.Free;
    sMemo1.Text := sOpenDialog1.FileName; //Выводим путь
    sLabel1.Caption := IntToStr(sListBox1.Count); //Выводим кол-во строк в source
  end;
end;
end;
end;

end.


до этого стоял обычный код

procedure TForm1.sBitBtn10Click(Sender: TObject);
begin
  if sOpenDialog1.Execute then begin //Если выбрали файл то
    NumberList.Clear; //Очищаем на всякий случай.
    NumberList.LoadFromFile(sOpenDialog1.FileName); //Загружаем выбранный файл
    sMemo1.Text:=sOpenDialog1.FileName; //Выводим путь
    AllLabel.Caption:=IntToStr(NumberList.Count-0); //Выводим кол-во строк в source
  end;
  end;

буду благодарен за помощь

Последний раз редактировалось Stilet; 23.05.2013 в 08:08.
tortik3399 вне форума Ответить с цитированием
Старый 01.06.2013, 19:46   #2
tortik3399
Пользователь
 
Регистрация: 23.05.2013
Сообщений: 11
По умолчанию

ну что не кто помоч не может?
нужно чтоб сначало удаляла дуб и сортировала в файле а потом добавляла
tortik3399 вне форума Ответить с цитированием
Старый 01.06.2013, 20:28   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Мало что понял, но из того что понял вот:
Код:
var q,w:TStringList;
...
begin
 q:=TStringList.Create; w:=TStringList.Create;
 q.Duplicates:=dupIgnore; q.sorted:=true;
 w.LoadFromFile('файл');
 q.AddStrings(w);
 w.Free;
 Что-то делаем с списком q 
 q.free;
end;
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.06.2013, 20:47   #4
tortik3399
Пользователь
 
Регистрация: 23.05.2013
Сообщений: 11
По умолчанию /

Цитата:
Сообщение от Stilet Посмотреть сообщение
Мало что понял, но из того что понял вот:
Код:
var q,w:TStringList;
...
begin
 q:=TStringList.Create; w:=TStringList.Create;
 q.Duplicates:=dupIgnore; q.sorted:=true;
 w.LoadFromFile('файл');
 q.AddStrings(w);
 w.Free;
 Что-то делаем с списком q 
 q.free;
end;
Идея ясна?
если честно нет!

просто надо чтоб при выборе файла она дубли и отсортировку делала сначало в файле который ты выбрал например ( выбрать файл) и потом то что она сделала добавляла уже например в sListBox1 для работы
tortik3399 вне форума Ответить с цитированием
Старый 01.06.2013, 21:07   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
делала сначало в файле
Ну и зачем файл курочить?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.06.2013, 22:20   #6
tortik3399
Пользователь
 
Регистрация: 23.05.2013
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну и зачем файл курочить?
ну если тогда не в файле делать и мой способ подайдет?
tortik3399 вне форума Ответить с цитированием
Старый 01.06.2013, 22:59   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и мой способ подайдет?
Конечно подойдет. Я же, посмотри, точно такой же предложил.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.06.2013, 23:48   #8
tortik3399
Пользователь
 
Регистрация: 23.05.2013
Сообщений: 11
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Конечно подойдет. Я же, посмотри, точно такой же предложил.
аа можеш еще подсказать вот в этой строке sLabel1.Caption := IntToStr(sListBox1.Count); //Выводим кол-во строк в source

у мменя идет sLabel1 0/0 как сделать чтобы она меняла только 1 0 тоесть например 1344/0
просто под 2 0 другое должно быть
или лучше вариан чтобы например sLabel1 выглидила 0 потом добавляеш один список она показывала 6767678 2 список она 6767678/676787 3 список она 6767678/676787/7689878

Последний раз редактировалось tortik3399; 02.06.2013 в 00:03.
tortik3399 вне форума Ответить с цитированием
Старый 02.06.2013, 16:38   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Мао что понял, но похоже тебе нужно в конец списка добавлять некий разделитель типа слеша?
Код:
with sLabel1 do begin
 if Length(Caption)>0 then Caption:=Caption+'/';
 Caption := IntToStr(sListBox1.Count);
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача на строки. Даны две строки. Определить можно ли из символов первой строки получить вторую строку.( написать подпрограммой и ANTON1994 Паскаль, Turbo Pascal, PascalABC.NET 5 09.02.2013 14:07
Программа на языке "Ассемблер" - ввод строки, анализ длины строки, добавление точки в конец строки Алексей_2012 Помощь студентам 1 05.04.2012 11:26
Сделать в гриде строки выше, чтобы не растягивать строки до бесконечности kris__tina БД в Delphi 1 09.06.2011 15:31
Создание пустой строки и копирование в неё содержимое предыдущей строки Gvaridos Microsoft Office Excel 2 29.10.2010 13:33
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10