Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировка данных [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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо