Вниз
Скачать: CL | DM;

Сортировка в ComboBox   Найти похожие ветки 

← →
Кос   (2012-06-23 15:44) [0]

функция сортировки по дате

function CompareDates(List: TStringList; Index1, Index2: Integer): Integer;
var
  d1, d2: TDateTime;
begin
 d1 := StrToDateTime(List[Index1]);
 d2 := StrToDateTime(List[Index2]);
 if d2 < d1 then
    Result := -1
 else if d2 > d1 then Result := 1
 else
    Result := 0;
end;


FindRes := FindFirst("F:\1\*.*", faAnyFile, SR);
 while FindRes = 0 do
 begin
   if (SR.Name <> ".") and (SR.Name <> "..") then
     begin
       ListBox1.Items.Add(DateTimeToStr(FileDateToDateTime(SR.time))+"  "+SR.Name);
       ComboBox1.Items.Add(SR.Name);
       ListBox2.Items.Add(SR.Name);
     end;
       FindRes := FindNext(SR);
 end;
 FindClose(SR);  //Закрываем поиск

sl:=TStringList.Create;
try
  sl.Assign(listbox1.Items);
  sl.CustomSort(CompareDates);
  listbox1.Items.Assign(sl);
finally
  sl.Free
end;

В ListBox1 складываю для наглядности файлы со временем их создания и названием и сортирую их по дате, примерно такой вид 01.01.12 00:11:22 12312455 (дата_время_название файла)
В ComboBox1 и ListBox2 просто названия.
Вопрос как мне теперь отсортированные названия файлов (из ListBox1) в ComboBox1 отправить, поскольку дальше я по названию файла загружаю их в StringGrid.


← →
AV ©   (2012-06-23 17:49) [1]

var
 sl: TStringList;
begin
 ComboBox1.Items.Add("aaaa");
 ComboBox1.Items.Add("cccc");
 ComboBox1.Items.Add("dddd");
 ComboBox1.Items.Add("bbbb");
 sl := TStringList.Create;
 sl.Assign(ComboBox1.Items);
 sl.Sort;
 ComboBox1.Clear;
 ComboBox1.Items.Assign(sl);
 FreeAndNil(sl);


← →
Inovet ©   (2012-06-23 18:03) [2]

> [1] AV ©   (23.06.12 17:49)

У ТС дата текстом. Но он не позаботился о японцах, американцах и других.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: -0.932 c
15-1335417549
Palladin
2012-04-26 09:19
2013.03.22
EurekaLog и юнит ExceptionLog


15-1324935817
Германн
2011-12-27 01:43
2013.03.22
eBook


15-1352269270
Chorus
2012-11-07 10:21
2013.03.22
Вычисление высот в произвольном треугольнике


15-1338277495
Scott Storch
2012-05-29 11:44
2013.03.22
отображение имени файла


15-1329209570
Димка На
2012-02-14 12:52
2013.03.22
Как сделать чтобы WinControl ловил mousemove за пределами себя.?




   Наверх