Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Lazarus - Výpis adresářů do ListBoxu

Dobrý den.
Toto mi funguje

procedure TForm1.Button1Click(Sender: TObject);
var SR: TSearchRec;
begin
if FindFirst('f:\Data\*.*', faAnyFile, SR) = 0 then
try
repeat
if Longbool(SR.Attr and faDirectory) then
if (SR.Name <> '.') and (SR.Name <> '..') then
ListBox1.Items.Add(SR.Name);
until FindNext(SR) <> 0;
finally
FindClose(SR);
end;
end;

V adresaři jsou podsložky Leden 2019,Únor 2019,Březen 2019, atd
Jelikož jsem podsložky vytvařel postupně, jsou v Listboxu seřazene podle toho jak jdou po sobě měsice.
Tedy to výpada že zdrojak to nějak setřidí podle datumu vytvoření adresaře.
Když adresař data někam překopirují, cele se to po, a mam to setřizene podle abecedy.
Jak na to, aby se adresaře do listboxu načetle postupně jak jdou měsce?

Načist to do StringListu a pak postupně prohledavat a vypisovat do Listboxu?
Nebo je jednodužší řeení?
Děkojí.

Předmět Autor Datum
Aby se to načetlo podle měsíců, tak to musíš mít možnost podle něčeho seřadit. Třeba si nedělat slož…
Jan Fiala 07.02.2019 15:15
Jan Fiala
V adresaři jsou podsložky Leden 2019,Únor 2019,Březen 2019, atd Takové pojmenování je absolutně nep… poslední
host 07.02.2019 17:23
host

Aby se to načetlo podle měsíců, tak to musíš mít možnost podle něčeho seřadit. Třeba si nedělat složky Leden 2019, ale 2019-01 nebo aspoň 01-2019
Pak je můžeš seřadit podle abecedy

Další možnost je načíst to třeba do StringList, pak seřadit přes CustomSort, kde si napíšeš vlastní proceduru na seřazení, abys zohlednil jména měsíců a nakonec to pak přesypat do ListBox.

Zpět do poradny Odpovědět na původní otázku Nahoru