Topendialog сортування файлів

EL> Ще питаннячко. Як зробити сортування в діалоговому вікні відкриття
EL> файлів? В Ворді така річ есть..а ось ні з тандартного сабже ні в
EL> rx-совом нічого Таока не знайшов :(

Hе зовсім зрозумів, що потрібно.
Якщо кнопку сортування в діалозі - можна вибрати режим виведення таблиця і потім
клацай по потрібному полю (ім'я тип.) і все сортується, на мою і в ворде так
ж.

якщо хочеться файли впорядкувати у відкритому діалозі можна так:

procedure TForm1.OpenDialogSortfiles;
var counter, look: integer; temp: Tstrings;
begin
if OpenDialog1.Files.Count<>1 then begin
temp: = TStringList.Create;

for counter: = 0 to OpenDialog1.Files.Count-1 do
temp.Append (LowerCase (OpenDialog1.Files.Strings [counter]));

for counter: = 0 to temp.Count-1 do


for look: = counter + 1 to temp.Count-1 do
if temp [look]OpenDialog1.Files.Exchange (look, counter);
temp.Exchange (look, counter);
end;


procedure TForm1.Button1Click (Sender: TObject);
begin
OpenDialogSortfiles;
opendialog1.Execute;
end;

--
Best regards,
Sergey Kuchumov

EL> Ще питаннячко. Як зробити сортування в діалоговому вікні відкриття
EL> файлів? В Ворді така річ есть..а ось ні з тандартного сабже ні в
EL> rx-совом нічого Таока не знайшов :(
SK> Hе зовсім зрозумів, що потрібно.
SK> Якщо кнопку сортування в діалозі - можна вибрати режим виведення таблиця і
потім
SK> клацай по потрібному полю (ім'я тип.) І все сортується, на мою і в
ворде так само.
SK> якщо хочеться файли впорядкувати у відкритому діалозі можна так:
SK> procedure TForm1.OpenDialogSortfiles;
SK> var counter, look: integer; temp: Tstrings;
SK> begin
SK> if OpenDialog1.Files.Count<>1 then begin
SK> temp: = TStringList.Create;
SK> for counter: = 0 to OpenDialog1.Files.Count-1 do
SK> temp.Append (LowerCase (OpenDialog1.Files.Strings [counter]));
1) Hе LowerCase, а AnsiLowerCase.
2) Жодна з них нафіг не потрібна
temp.AddStrings (OpenDialog1.Files);
і для порівняння використовувати AnsiCompareText.
3) OP хоче впорядкувати всі файли, а не
тільки виділені в даний момент часу.
4) Твій перший рада - більш адекватне рішення,
ніж пішов за ним шматок "коду".

SK >> 1) Hе
SA> LowerCase, а AnsiLowerCase.
А ось коли робиш так то сортування російськомовні файлів / пошукові роботи не з'являлися
працює, тому що списочок не в 1251, а в 866, так що саме LowerCase /

SA> 2) Жодна з них нафіг не потрібна
SA> temp.AddStrings (OpenDialog1.Files); і для порівняння використовувати
SA> AnsiCompareText.
див. вище

SA> 3) OP хоче впорядкувати всі файли, а не тільки
SA> виділені в даний момент часу. 4) Твій перший рада - більше
SA> адекватне рішення, ніж пішов за ним шматок "коду".

може не варто так гарячкувати, людина задав питання, я відповів, в міру свого
розуміння проблеми. Знаєш як краще - молодець, нервувати тільки не треба.

EL >> Ще питаннячко. Як зробити сортування в діалоговому вікні відкриття
EL >> файлів? В Ворді така річ есть..а ось ні з тандартного сабже ні в
EL >> rx-совом нічого Таока не знайшов :(

SK> Hе зовсім зрозумів, що потрібно.
SK> Якщо кнопку сортування в діалозі - можна вибрати режим виведення таблиця
SK> і потім клацай по потрібному полю (ім'я тип.) І все сортується, по
SK> моєму і в ворде так само.

SK> якщо хочеться файли впорядкувати у відкритому діалозі можна так:

Ужоз. А змусити TStringList сортуватися самостійно, або, на крайній
випадок, викликати йому метод Sort серед справжніх Delphi-програмістів вже
не модно? Набагато простіше написати свою версію бульбашкового сортування? А ви
пробували виконати цей код на директорії з кількома десятками тисяч файлів?

SK> procedure TForm1.OpenDialogSortfiles;
SK> var counter, look: integer; temp: Tstrings;
SK> begin
SK> if OpenDialog1.Files.Count<>1 then begin
SK> temp: = TStringList.Create;

SK> for counter: = 0 to OpenDialog1.Files.Count-1 do
SK> temp.Append (LowerCase (OpenDialog1.Files.Strings [counter]));

SK> for counter: = 0 to temp.Count-1 do


SK> for look: = counter + 1 to temp.Count-1 do
SK> if temp [look]SK> OpenDialog1.Files.Exchange (look, counter);
SK> temp.Exchange (look, counter);
SK> end;


SK> procedure TForm1.Button1Click (Sender: TObject);
SK> begin
SK> OpenDialogSortfiles;
SK> opendialog1.Execute;
SK> end;

До зустрічі, Sergey!
Sergey (serge_bychkov [zzz] mail333.com) ICQ # 21014758

SB> Ужоз. А змусити TStringList сортуватися самостійно, або, на
SB> крайній випадок, викликати йому метод Sort серед справжніх
SB> Delphi-програмістів вже немодно? Набагато простіше написати свою версію
SB> бульбашкового сортування? А ви пробували виконати цей код на
SB> директорії з кількома десятками тисяч файлів?
А у вас таких випадків досить багато? Що то не зрозумію, як на запитання людині
дати відповідь, так нікого. А "покритикувати" цілий загін "справжніх дельфи
програмістів "використовують модні методи програмування. Вам же ніхто не
заважає прімерчік можете привести сортування методом, ну хоч бульбашки.

SB >> Ужоз. А змусити TStringList сортуватися самостійно, або,
SB >> на крайній випадок, викликати йому метод Sort серед справжніх
SB >> Delphi-програмістів вже немодно? Набагато простіше написати свою
SB >> версію бульбашкового сортування? А ви пробували виконати цей код
SB >> на директорії з кількома десятками тисяч файлів?

SK> А у вас таких випадків досить багато? Що то не зрозумію, як на запитання
SK> людині дати відповідь, так нікого.

А це питання як би і не для цієї Ехі.

SK> А "покритикувати" цілий загін "справжніх дельфи програмістів"
SK> використовують модні методи програмування.

SK> Вам же ніхто не заважає прімерчік можете привести сортування методом,
SK> ну хоч бульбашки.

Як можна помітити, модно якраз виявляється винайти велосипед, і запропонувати
саме неефективне з існуючих рішень.

До зустрічі, Sergey!
Sergey (serge_bychkov [zzz] mail333.com) ICQ # 21014758

SB> Як можна помітити, модно якраз виявляється винайти велосипед, і
SB> запропонувати саме неефективне з існуючих рішень.

Запропонуйте ефективне.
--
Best regards,
Sergey Kuchumov

SB >> Як можна помітити, модно якраз виявляється винайти
SB >> велосипед, і запропонувати саме неефективне з існуючих
SB >> рішень.

SK> Запропонуйте ефективне.

До зустрічі, Sergey!
Sergey (serge_bychkov [zzz] mail333.com) ICQ # 21014758

Hарод! Hе сваріться! Людина дійсно спробував допомогти. Я в загальному то
подивився в якому напрямку на основі ваших повідомлень копати і хочу сказати
спасибі всім хто проявив участь. Далі вже сам зроблю що потрібно :)

08 Dec 08 16:21 Sergey Bychkov wrote to Sergey Kuchumov:

SB> крайній випадок, викликати йому метод Sort серед справжніх
SB> Delphi-програмістів вже немодно? Набагато простіше написати свою версію
SB> бульбашкового сортування? А ви пробували виконати цей код на
SB> директорії з кількома десятками тисяч файлів?

Hу, до слова кажучи, ось це-то как-раз ніякого значення не має - шанси, що
юзер за допомогою TOpenDialog знайде серед десятка тисяч файлів потрібний все одно
прінебрежімо малі :) Хоча це звичайно не привід винаходити велосипед.

SB >> крайній випадок, викликати йому метод Sort серед справжніх
SB >> Delphi-програмістів вже немодно? Набагато простіше написати свою
SB >> версію бульбашкового сортування? А ви пробували виконати цей код
SB >> на директорії з кількома десятками тисяч файлів?

AZ> Hу, до слова кажучи, ось це-то как-раз ніякого значення не має -
AZ> шанси, що юзер за допомогою TOpenDialog знайде серед десятка тисяч
AZ> файлів потрібний все одно прінебрежімо малі :) Хоча це звичайно не привід
AZ> винаходити велосипед.

Мабуть погоджуся - програма такого рівня нехай краще відразу зависне на
бульбашкового сортування. Користувач швидше зрозуміє, що йому підсунули щось
не те.

До зустрічі, Andrey!
Sergey (serge_bychkov [zzz] mail333.com) ICQ # 21014758

А з приводу десятків тисяч файлов..столько думаю не будет..однако на даний
момент близько 800 їх вже є і к-ть буде рости

SA> До речі, я так і не зрозумів, чим тобі не підходить сортування
SA> візуальними засобами самого діалогу: вибираєш
SA> вид "Таблиця" і клацати по заголовку потрібної колонки?

Справа в тому що я не зміг знайти де зробити що б сортування за замовчуванням
була в вигляді таблиці відразу. За замовчуванням там "список" обраний. Може десь
пропустив. але перерив властивості як Rx-ового TFileNameEdit так і TOpenDialog,
але перемикання програмно виду отображаенія файлів не знайшов як і сортування.
У підсумку знайшов компоненти Raize і на підставі початкових кодів тамтешньої форми
схожою на TOpenDialog - зробив свою з потрібними мені параметрами. правда в
Word-e є ще краще варіант. Там можна вибрати будь-який вид відображення файлів
і там же є пункт сортування по імені, типу, розміру, даті. Це було б вобще
іделально. Але хоча б так як зробив вже прийнятно.