Mam nadzieję, że dobrze uda mi się opisać problem.
w zmiennej 'sciezka : string' jest zapisana ścieżka do katalogu w którym znajduje się kilka plików:
tekst*.docx
tekst*.docx
tekst*.docx
gwiazdka oznacza dowolny ciąg znaków.
Co należy wpisać w procedurze kliknięcia buttona, aby otworzyły się wszystkie pliki których nazwa zaczyna się na 'tekst' i kończy rozszerzeniem '.docx'.
Nie mogą to być wszystkie pliki 'docx' ponieważ będą tam również pliki o innych nazwach.
FindFirst()
, FindNext()
, FindClose()
Jednym ze sposobów jest:
Po pierwsze założenie filtra na wczytanie tylko plików z rozszerzeniem *.docx . Kolejny krok to sprawdzenie czy nazwa pliku zaczyna się od wyrazu "tekst".
itp.
Azarien napisał(a)
FindFirst()
,FindNext()
,FindClose()
Dzięki za podpowiedź.
Tak więc stworzyłem coś takiego:
var
SearchResult : TSearchRec;
plik : string;
plik2 : PAnsiChar;
sciezka : string;
begin
sciezka:='D:\test\';
if FindFirst(sciezka+'zz*.txt', faAnyFile, SearchResult) = 0 then
begin
repeat
plik:=(sciezka+(SearchResult.Name));
plik2:=PCHAR(plik);
ShellExecute(Handle, 'open', plik2, nil, nil, SW_SHOW);
until FindNext(SearchResult) <> 0;
FindClose(searchResult);
end;
end;
Zmienna 'sciezka' w docelowym programie, będzie przypisana w innej części.
Powyższy kod otwiera wszystkie pliki zaczynające się od 'zz', a kończące '.txt', znajdujące się w lokalizacji zadeklarowanej jako 'sciezka'.
Może kiedyś się to komuś przyda, ja szukałem i nie udało mi się odszukać czegoś takiego.
O_o jeżeli uważasz, że te kilka linijek kodu jest warte więcej jak 50zł, to podaj cenę, bo to interesujące.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.