![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сортировка данных [D7, WinXP]
Soi_ © (2007-05-31 10:43:00)Добрый день! Подскажите как можно решить следующий вопрос:
У меня есть 2 excel- файла, вот его содержание.
Файл №1 Файл №2
Вася Федя
Петя Ваня
Федя Петя
Ваня Кузя
Мне необходимо их отсортировать вот в таком порядке:
Файл №1 Файл №2
Ваня Ваня
Петя Петя
Федя Федя
Вася Кузя
(мне в общем надо чтобы имена в какждой ячейке соответствовали друг другу, а те которых нет парных оставались в низу). Результат желательно поместить в третий excel-файл.
Сергей М. (2007-05-31 11:15:00) [1]
> 6000 строк
Не так уж и много.
> принцип
1. Списки строк из обоих xls-таблиц грузятся соответственно в SL1 и SL2.
2. Один из списков, например SL2, подвергается сортировке для ускорения поиска.
3. В цикле по числу элементов списка SL1 для каждого i-го элемента ищется его вхождение в список SL2. Если вхождение найдено, элемент SL1[i] асооциируется с индексом j найденного элемента, например, SL1.Objects[i] = j, иначе SL1.Objects[i] = -1.
4. На основании полученной инф-ции о соответствии оба списка упорядочиваются в соответствии с требованиями топика.
5. Оба списка выгружаются в соответствующие xls-таблицы.
Soi_ (2007-05-31 11:00:00) [2]Да вот содержимое как раз приличное, примерно 6000 строк. А вообще подскажите мне сам принцип, я если честно не представляю как это сделать
Сергей М. (2007-05-31 10:52:00) [3]Если содержимое обоих xls-таблиц сравнительно невелико, можно задействовать класс TStringList.