|
 | | |
| Autor | Správa |
jasug
 Užívateľ
 Založený: 05.09.2008 Príspevky: 47
 | Zaslal: Po 01.11.10 21:02 |   |
Dobrý den,
hladám informáciu, či existuje v delphi nejaký príkaz na načítanie názvov súborov v danej zložke ( napr. ako v Clipperi je to adir). Vygooglil som funkciu SearchTreeForFile ale tá funguje na presne definovaný súbor a ja by som potreboval načítat podla prípony napr. *.ntx počet a aj názvy súborov. Prípadne prosím, o radu, ako by som to mohol urobit, lebo ma nič rozumného nenapadá. Vdaka za radu. |
| |
  |
 |
coldak
 Skúsený užívateľ
 Založený: 29.10.2008 Príspevky: 936
 | Zaslal: Po 01.11.10 21:43 |   |
|
  |
 |
Fico
 Skúsený užívateľ
 Založený: 11.01.2009 Príspevky: 1052
 | Zaslal: Po 01.11.10 22:01 |   |
V linku od coldak-a máš nejaký príklad, ale ak by si potreboval niečo konkrétnejšie, tak skús tento kúsok kódu:
| kód: | var
Subor : TSearchRec;
pocet: integer = 0;
// ...
if ( FindFirst( 'C:\zlozka\*.*', 0 or faDirectory, Subor ) = 0 ) then begin
repeat
case Subor.Attr of
faDirectory: begin
ShowMessage( 'najdena zlozka' );
Exit;
end;
0 { súbor }: begin
if ( ExtractFileExt( Subor.Name ) = '.ntx' ) then begin
ShowMessage( 'najdeny subor s priponou ntx' );
inc( pocet );
end else
ShowMessage( 'najdeny subor' );
end;
end;
until FindNext(Subor) <> 0;
FindClose( Subor );
end; |
// je to písane naslepo, tak ak tam mám chybu, oprav ma
Prvý parameter funkcie FIndFirst je cesta, kde sa má vyhľadávať + maska ( masku som ponechal pre všetky súbory *.* , ale môžeš si ju nastaviť podľa potrieb). Po nájdení súboru spĺňajúceho masku sa v premennej Subor.Name uloží jeho meno. Funkcia ExtractFileExt extrahuje z úplnej cesty súboru jeho príponu. Na konci kódu je v premennej pocet počet výskytu súboru s príponou ntx v danej zložke. |
| |
   |
 |
jasug
 Užívateľ
 Založený: 05.09.2008 Príspevky: 47
 | Zaslal: Št 04.11.10 11:41 |   |
Vdaka za usmernenie, už mi to všetko podla rád funguje. Mal by som ešte jednu podotázku, dúfam že nie moc mimo vlákna,
v projekte mám dva spôsoby kopírovania dátovo rôznych súborov, jeden cez otváranie súboru ako char a druhý cez handle a buffer. Existuje nejaký elegantný a výkonný spôsob kopírovania súborov (napr. v Clipperi to bol príkaz copyfile(arg_odkial,arg_kam). Vdaka za informáciu. |
| |
  |
 |
coldak
 Skúsený užívateľ
 Založený: 29.10.2008 Príspevky: 936
 | Zaslal: Št 04.11.10 12:10 |   |
|
  |
 |
|
Nemôžete pridávať nové témy do tohto fóra. Nemôžete odpovedať na témy v tomto fóre. Nemôžete upravovať svoje príspevky v tomto fóre. Nemôžete mazať svoje príspevky v tomto fóre. Nemôžete hlasovať v tomto fóre.
|
| |