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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2010, 16:05   #1
one1991
Пользователь
 
Регистрация: 13.05.2010
Сообщений: 24
По умолчанию ListBox сортировка данных

люди каким образом в ListBox можно отсортировать данные например по имени или кол-ву символов?
one1991 вне форума Ответить с цитированием
Старый 30.05.2010, 19:09   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

ну по количеству можно так
Код:
var
i,x,y:integer;
str_:String;
begin
for i:=0 to ListBox1.Items.Count-2 do
begin
 str_:=ListBox1.Items.Strings[ListBox1.Items.Count-1];
 y:=ListBox1.Items.Count-1;
  for x :=ListBox1.Items.Count - 1 downto  i do
  begin
if length(ListBox1.Items.Strings[x])<=Length(str_) then
       begin
         str_:=ListBox1.Items.Strings[x];
         y:=x;
       end;
  end;

           ListBox1.Items.Delete(y);
           ListBox1.Items.Insert(i,str_);
end;
end;
vovk вне форума Ответить с цитированием
Старый 30.05.2010, 21:16   #3
Китти
Пользователь
 
Регистрация: 22.12.2009
Сообщений: 19
По умолчанию

а как можно отсортировать по расширению????
Китти вне форума Ответить с цитированием
Старый 30.05.2010, 21:40   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

расширению чего? листбокс содержит массив строк.
Телепатну, у вас там список файлов, тогда
Код:
var
i,x,y:integer;
str_:String;
begin
for i:=0 to ListBox1.Items.Count-2 do
begin
 str_:=ListBox1.Items.Strings[ListBox1.Items.Count-1];
 y:=ListBox1.Items.Count-1;
  for x :=ListBox1.Items.Count - 1 downto  i do
  begin
if ExtractFileExt(ListBox1.Items.Strings[x])<=ExtractFileExt(str_) then
       begin
         str_:=ListBox1.Items.Strings[x];
         y:=x;
       end;
  end;

           ListBox1.Items.Delete(y);
           ListBox1.Items.Insert(i,str_);
end;
end;
как говорится найдите 10 отличий (а если честно 1)
vovk вне форума Ответить с цитированием
Старый 30.05.2010, 22:03   #5
Китти
Пользователь
 
Регистрация: 22.12.2009
Сообщений: 19
По умолчанию

Спасибо!!!!
Китти вне форума Ответить с цитированием
Старый 30.05.2010, 22:16   #6
Китти
Пользователь
 
Регистрация: 22.12.2009
Сообщений: 19
По умолчанию

Мне дали задание сделать программу, в которой нужно сделать сортировку файлов по расширению.
Я добавила компоненты DriveComboBox,DirectoryListBox,File ListBox и FilterComboBox. При запуске программы, с помощью этих компонентов я выбираю папку, в которой хотела бы сделать сортировку.
Далее я добавила стринггрид, в котором 2 столбца, в 1 столбце он размещает информацию из FileListBox-а с файлами из папки, во 2-ом расширение...

Вот я теперь ищу информацию как вывести во 2 столбце расширение...
а сортировку скорее всего нужно сделать по алфавиту во 2 столбце и связать его с 1 столбцом... и получится что-то вроде сортировки по расширению...

Надеюсь на вашу помощь
Китти вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка в Listbox с выводом среднего, максимального и минимального значений.... Klim Bassenger Microsoft Office Excel 18 09.01.2010 21:33
Перевод данных из DBGrid в Listbox через Ini Val Rubis БД в Delphi 3 05.01.2010 05:29
сортировка данных (пересчет возможных вариантов комбинаций, перенос данных в таблицу) Vitalik85 Microsoft Office Excel 4 12.08.2009 00:30
Запись данных из Listbox в файл lordsyrius Общие вопросы Delphi 20 11.05.2009 14:28
Привязка данных к Listbox ArcticBear Общие вопросы .NET 2 17.11.2008 17:41