Topendialog sortează fișierele

EL> Încă voprosik. Cum se face sortarea în caseta de dialog Deschidere
EL> fișiere? În Cuvânt există un astfel de lucru ... dar fără nici standard, nici înăuntru
EL> rx-owl nu a găsit așa ceva :(

Nu prea înțelegea ce era nevoie.
Dacă butonul de sortare din dialog - puteți selecta modul de ieșire al tabelului și apoi
faceți clic pe câmpul dorit (tipul de nume.) și totul este sortat, în opinia mea și într-un cuvânt ca acesta
același.

dacă doriți să sortați fișierele într-un dialog deschis, puteți face acest lucru:

procedura TForm1.OpenDialogSortfiles;
var counter, look: întreg; temp: Tringings;
începe
dacă OpenDialog1.Files.Count<>1 începe apoi
temp: = TStringList.Create;

pentru contor: = 0 la OpenDialog1.Files.Count-1 face
temp.Append (LowerCase (OpenDialog1.Files.Strings [contra]));

pentru contor: = 0 la temp.Count-1 face


pentru aspect: = contra + 1 la temp.Count-1 face
dacă temp [uite]OpenDialog1.Files.Exchange (look, counter);
temp.exchange (look, counter);
se încheie;


procedura TForm1.Button1Click (expeditor: TObject);
începe
OpenDialogSortfiles;
opendialog1.Execute;
se încheie;

--
Cu respect,
Serghei Kuchumov

EL> Încă voprosik. Cum se face sortarea în caseta de dialog Deschidere
EL> fișiere? În Cuvânt există un astfel de lucru ... dar fără nici standard, nici înăuntru
EL> rx-owl nu a găsit așa ceva :(
SK> El nu a înțeles deloc ce este necesar.
SK> Dacă butonul de sortare din dialog - puteți selecta modul de ieșire al tabelului și
atunci
SK> faceți clic pe câmpul dorit (tipul de nume.) Și totul este sortat, în opinia mea și în
Cuvânt în același mod.
SK> dacă ar fi de dorit să sortați fișierele în dialog deschis este posibil astfel:
SK> procedura TForm1.OpenDialogSortfiles;
SK> var counter, look: integer; temp: Tringings;
SK> începe
SK> dacă OpenDialog1.Files.Count<>1 începe apoi
SK> Temp: = TStringList.Create;
SK> pentru contor: = 0 la OpenDialog1.Files.Count-1 nu
SK> Temp.Append (LowerCase (OpenDialog1.Files.Strings [contra]));
1) Nu LowerCase, ci AnsiLowerCase.
2) Nici unul dintre ele nu este necesar
temp.AddStrings (OpenDialog1.Files);
și pentru comparație folosiți AnsiCompareText.
3) OP vrea să sorteze toate fișierele, nu
selectate doar la o anumită oră.
4) Primul sfat este o soluție mai adecvată,
A urmat următoarea bucată de "cod".

SK >> 1) Nu
SA> LowerCase și AnsiLowerCase.
Dar când faceți această sortare a fișierelor / directoarelor în limba rusă nu este
lucrări, tk. lista nu este în 1251, dar în 866, deci este LowerCase /

SA> 2) Nici una dintre ele nu este necesară
SA> temp.AddStrings (OpenDialog1.Files); și pentru utilizarea comparativă
SA> AnsiCompareText.
vezi mai sus

SA> 3) OP vrea să sorteze toate fișierele, nu doar
SA> selectate la momentul dat. 4) Primul sfat este mai mult
SA> soluție adecvată, decât piesa de "cod" care a urmat.

nu poate fi atât de fierbinte, un om a pus o întrebare, am răspuns, în cel mai bun caz al meu
înțelegerea problemei. Știi cât de bine - bine făcut, nu trebuie să fii nervos.

EL >> Încă o întrebare. Cum se face sortarea în caseta de dialog Deschidere
EL >> fișiere? În Cuvânt există un astfel de lucru ... dar fără nici standard, nici înăuntru
EL >> rx-owl nimic care nu a găsit :(

SK> El nu a înțeles deloc ce este necesar.
SK> Dacă butonul de sortare din dialog - puteți selecta modul de ieșire al tabelului
SK> și apoi faceți clic pe câmpul dorit (tipul de nume.) Și totul este sortat, prin
SK> la mine și într-un Cuvânt ca.

SK> dacă ar fi de dorit să sortați fișierele în dialog deschis este posibil astfel:

Uzhoz. Și pentru a forța TStringList să fie sortate independent, sau, la extreme
caz, apelați-l deja la metoda de sortare în rândul programatorilor reali Delphi
unfashionable? Este mult mai ușor să vă scrieți propria versiune de sortare a bulei? Și tu
Ați încercat să executați acest cod într-un director cu câteva zeci de mii de fișiere?

SK> procedura TForm1.OpenDialogSortfiles;
SK> var counter, look: integer; temp: Tringings;
SK> începe
SK> dacă OpenDialog1.Files.Count<>1 începe apoi
SK> Temp: = TStringList.Create;

SK> pentru contor: = 0 la OpenDialog1.Files.Count-1 nu
SK> Temp.Append (LowerCase (OpenDialog1.Files.Strings [contra]));

SK> pentru contor: = 0 la temp.Count-1 do


SK> pentru aspect: = contra + 1 la temp.Count-1 face
SK> dacă temp [aspect]SK> OpenDialog1.Files.Exchange (look, counter);
SK> temp.Exchange (look, counter);
SK> sfârșit;


SK> procedura TForm1.Button1Click (expeditor: TObject);
SK> începe
SK> OpenDialogSortfiles;
SK> opendialog1.Execute;
SK> sfârșit;

Ne vedem, Serghei!
Sergey (serge_bychkov [zzz] mail333.com) ICQ # 21014758

SB> Uzhoz. Și pentru a forța TStringList să fie sortate independent, sau, pe
SB> un caz extrem, pentru a determina metoda lui Sort din prezent
SB> Delphi-programatorii sunt deja demodate? Este mult mai ușor să vă scrieți propria versiune
SB> sortarea bulei? Și ați încercat să executați acest cod
SB> cu câteva zeci de mii de fișiere?
Aveți multe astfel de cazuri? Ceea ce nu înțeleg, ca o întrebare pentru o persoană
da un răspuns, deci nimeni nu. Și "critică" o întreagă echipă "de delfini reali
programatori "folosind metode de programare la modă.
împiedică exemplul pe care îl puteți sorta metoda, bine, cel puțin o bule.

SB >> Uzhoz. Și pentru a forța TStringList să fie sortate independent sau,
SB >> ca o ultimă soluție, să-i provocăm metoda Sortul printre prezent
SB >> Delphi-programatorii sunt deja demodate? Este mult mai ușor să vă scrieți propria voastră
SB >> versiunea de sortare a bulei? Și ați încercat să executați acest cod
SB >> pe un director cu câteva zeci de mii de fișiere?

SK> Și la astfel de cazuri este o mulțime de? Ceva ce nu înțeleg, cum rămâne cu întrebarea
SK> persoanei care dă răspunsul, astfel încât oricine.

Și aceasta este o întrebare, așa cum a fost, și nu pentru acest ehi.

SK> Și "de a critica" întreaga detașare a "programatorilor adevărați delphi"
SK> folosind metode de programare la modă.

SK> pentru tine, nimeni nu deranjează primerul poate duce la sortarea unei metode,
SK> bine, deși un balon.

După cum vedeți, este la modă să inventăm o bicicletă și să oferim
cea mai ineficientă dintre soluțiile existente.

Ne vedem, Serghei!
Sergey (serge_bychkov [zzz] mail333.com) ICQ # 21014758

SB> După cum puteți vedea, este la modă să inventez doar o bicicletă, și
SB> oferă cele mai ineficiente soluții existente.

Propuneți una eficientă.
--
Cu respect,
Serghei Kuchumov

SB >> După cum se poate observa, este la modă doar să inventezi
SB >> biciclete, și oferă cele mai ineficiente existente
SB >> soluții.

SK> Sugerează o eficacitate.

Ne vedem, Serghei!
Sergey (serge_bychkov [zzz] mail333.com) ICQ # 21014758

Oameni! Nu te certa! Omul a încercat într-adevăr să ajute. Eu în general
M-am uitat în ce direcție, pe baza mesajelor voastre de a săpa și vreau să spun
Mulțumită tuturor celor care au participat. Înainte o voi face eu :)

08 decembrie 08 16:21, Serghei Bychkov a scris lui Serghei Kuchumov:

SB> un caz extrem, pentru a determina metoda lui Sort din prezent
SB> Delphi-programatorii sunt deja demodate? Este mult mai ușor să vă scrieți propria versiune
SB> sortarea bulei? Și ați încercat să executați acest cod
SB> cu câteva zeci de mii de fișiere?

Ei bine, apropo, acest lucru nu contează oricum - șansele
utilizatorul cu ajutorul TOpenDialog va găsi printre zecile de mii de fișiere de care aveți nevoie la fel
sunt neglijabil mici :) Deși acest lucru nu este cu siguranță o scuză pentru a reinventa roata.

SB >> caz extrem, să-i provocăm metoda Sortul printre prezent
SB >> Delphi-programatorii sunt deja demodate? Este mult mai ușor să vă scrieți propria voastră
SB >> versiunea de sortare a bulei? Și ați încercat să executați acest cod
SB >> pe un director cu câteva zeci de mii de fișiere?

AZ> Ei bine, apropo, așa nu contează -
AZ> șanse că utilizatorul cu ajutorul TOpenDialog va găsi printre zeci de mii
AZ> fișierele necesare sunt încă neglijabil mici :) Deși acest lucru nu este cu siguranță o scuză
AZ> reinventați roata.

Poate că voi fi de acord - un program de acest nivel, permiteți-i să fie mai bine imediat
sortarea bulei. Utilizatorul va înțelege în curând că a fost alunecat ceva
nu asta.

Ne vedem mai târziu, Andrey!
Sergey (serge_bychkov [zzz] mail333.com) ICQ # 21014758

Și despre zeci de mii de dosare .. cred că nu va .. dar pentru asta
aproximativ 800 dintre ele există deja, iar numărul va crește

SA> Apropo, eu și nu am înțeles, decât să nu vă apropiați de sortare
SA> mijloacele vizuale de dialog în sine: alegeți
SA> un fel de "tabel" și faceți clic pe poziția coloanei necesare?

Faptul este că nu am putut găsi unde să fac ce ar fi sortarea implicită
era sub forma unui tabel deodată. În mod implicit, există o "listă" selectată. Poate undeva
El a ratat. dar proprietati rummaged ca Rx-noi TFileNameEdit și TOpenDialog,
dar nu am găsit schimbarea vizualizării programului de afișare a fișierelor, precum și sortarea.
Ca rezultat, am găsit componentele Raize și pe baza formularului sursă acolo
similar cu TOpenDialog - a făcut-o cu parametrii de care aveam nevoie. Adevărul este
Word-e are o opțiune și mai bună. Acolo puteți selecta orice fel de afișare a fișierelor
și există un element de sortare după nume, tip, dimensiune, dată. Ar fi corect
și terminat. Dar cel puțin așa cum am acceptat deja.