Creați cel mai simplu manager de fișiere în Delphi, Delphi, Delphi, Surse delphi

funcția SlashSep (Cale, FName: șir): șir;

dacă Calea [Lungime (Calea)] despre 'V apoi Rezultat: = Cale + + FNoate altceva

Rezultat: = Calea + FName; se încheie;

Funcția siashsep a fost utilizată o singură dată, dar amintiți-vă ce se întâmplă aici. Această funcție primește doi parametri - calea spre fișier și numele fișierului, pe care trebuie să se alăture într-o singură linie, astfel încât să se obțină calea completă la fișier. Dar, mai întâi trebuie să verificăm dacă traiectoria (primul rezultat parametru - Path) se termină cu V. Clear Path - este un tip string: string, ceea ce înseamnă că putem descurca ca o matrice de caractere. Pentru a accesa primul personaj, trebuie să scriem Path.







Trebuie să verificăm ultimul caracter, astfel încât Lungimea (Calea) este folosită în paranteze pătrate. Funcția Lungime returnează lungimea variabilei de șir atribuită acesteia, ceea ce înseamnă că în paranteze specificăm lungimea șirului, adică ultimul caracter.

Dacă era nevoie de caracterul penultim, atunci vom scrie Calea [Lungime (Calea) -1]. În acest caz, unul este scos din lungimea șirului, iar rezultatul este indicele penultimului caracter.

Dacă ultimul caracter nu este egal cu \\ adăugați-l mai întâi și apoi numele fișierului. Dacă acest caracter este în șir, atunci trebuie doar să adăugați numele fișierului și să îl scrieți la variabila Result, astfel încât funcția să returneze calea completă la fișier.

Această funcție este terminată și este timpul să revenim la enumerarea fișierelor noastre. Apoi este apelul la funcția sistemului SHGetFileinfo. Aceasta returnează informații despre fișier. Nu vom mai vorbi acum. În principiu, este simplu și probabil că o puteți înțelege prin cod, iar dacă nu, vom reveni la ea mai târziu.

Acum suntem mai interesați să lucrăm cu componenta Listview. Următorul cod adaugă o nouă intrare în listă: Listviewi.items.Add. Acest lucru se face în interiorul constructei, astfel încât toate acțiunile ulterioare între început și sfârșit vor fi executate cu noul element. Anume - titlul elementului nou se modifică:

Fiecare element are o proprietate Subitems care stochează informații suplimentare. Când componenta este în modul de afișare a pictogramelor, informațiile suplimentare nu sunt vizibile. Dar dacă selectați vsReport în proprietatea viewstyle, componenta va arăta ca un tabel, în care fiecare coloană afișează informații suplimentare, așa cum se arată în Fig. 11.38.







Pentru a adăuga coloane suplimentare elementului nou, trebuie să executați instrucțiunea:

Pentru a afișa coloanele, trebuie să specificați numele coloanelor în proprietatea coloanelor. Dacă numele coloanelor nu sunt specificate, nimic nu va fi afișat. Și nu uitați că atunci când descrieți coloane, primul este titlul elementelor, restul sunt parametri suplimentari în ordinea adăugării lor folosind subitems.Add.

Și ultimul lucru pe care trebuie să îl luați în considerare este funcția FileTimeToDateTimeStr, care traduce ora / data din formatul sistemului într-un șir. Codul ei poate fi văzut în listă:

funcția FileTimeToDateTimestr (FileTime: TFileTime): șir;

LocFTime: TFileTime; SysFTime: TSystemTime; Dt, Tm: TDateTime; începe

FileTimeToLocalFileTime (FileTime, LocTime); FileTimeToSystemTime (LocFTime, SysFTime); încerca

cu SysFTime să înceapă

Dt: = EncodeDate (wYear, wMonth, wDay);

Tm: = EncodeTime (w / wMinute, wSecond, wMilliseconds);

Rezultat: = DateTimeToStr (Dt + Tm); cu excepția

Încă de la început, menționăm data fișierului în timp universal (în conformitate cu Greenwich Mean Time). Pentru aceasta, utilizăm funcția FileTimeToLocalFileTime, care are doi parametri:

  • o variabilă de tipul TFileTime care trebuie tradusă;
  • variabilă în care rezultatul va fi scris.

A doua etapă, traducem timpul global universal în timpul sistemului de calcul al calculatorului. Pentru aceasta, aveți nevoie de funcția FileTimeToSystemTime, care are de asemenea doi parametri:

  • timp universal;
  • rezultat variabil.

Acum avem data stocată în variabila sysFTime și are tipul TSystemTime. Variabila SysFTime are un tip de structură și următoarele proprietăți:

  • wYear - an;
  • wMonth - lună;
  • wDay-day;
  • wOperile - ore;
  • wMinute - minute;
  • wsecond - secunde;
  • wMilli secunde - milisecunde.

Toate acestea sunt numere și trebuie să le transformăm într-un șir, dar pentru ca linia de date să se potrivească cu setările locale ale sistemului. Dacă vom scrie un program care va fi efectuată în același tip de sistem (de exemplu, în versiunea rusă a Windows cu data și ora la vizualizarea rusă), puteți utiliza IntToStr, pentru a converti toate câmpurile din șirul și formatați-le pe cont propriu.

Cu toate acestea, acum vom proceda mai universal. Mai întâi transformăm datele într-un format DateTime. Pentru aceasta, există funcțiile EncodeDate și EncodeTime. Aceste funcții creează variabile de tip TDate și TTime bazate pe valorile numerice care le sunt transmise.

După ce a primit aceste variabile, le combina într-un format comun DateTime plus simplu și traduce într-un șir de caractere utilizând funcția DateTimeToStr. Această funcție traduce data într-un șir în funcție de setările locale din regiune în Windows. De asemenea, puteți utiliza funcția FormatDate, care poate crea un șir de date în orice formă.

Ajutați proiectul! Spuneți prietenilor dvs. despre acest site:







Trimiteți-le prietenilor: