Eli miten sais tehtyä sellasen ohjelman joka nappia painamalla etsii koneesta tiettyjä ohjelmia? Lazaruksella sellasen haluaisin tehdä.
Tiedoston etsiminen.
Apuja?
1300
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 1
Vanhimmat
Mielestäni sillä ei ole paljonkaan eroa onko kehitysympäristö Lazarus vai Delphi (kieli on kuitenkin Pascal).
Tässä nyt jonkinlainen ratkaisuyritys.
Eli tee uusi projekti. Laita lomakkelle kaksi Edit- "tekstin syöttölaatikkoa", ListBox ja painonappi Button.
Luo Buttonille tapahtumankäsittelijä. Täydennä lähdekoodia seuraavasti:
procedure TForm1.Button1Click(Sender: TObject);
var etsittava_nimi, tiedostopolku:string;
begin
ListBox1.Clear;
etsittava_nimi := Edit1.Text;
tiedostopolku:= Edit2.Text;
TiedostonHaku(tiedostopolku, etsittava_nimi);
end;
procedure TForm1.TiedostonHaku(const tiedostoPolunNimi, tiedostonNimi : string);
var searchResult : TSearchRec;
polku : string;
begin
polku := IncludeTrailingBackslash(tiedostoPolunNimi);
if FindFirst(polku tiedostonNimi, faAnyFile - faDirectory, searchResult) = 0 then
try
repeat
ListBox1.Items.Add(polku searchResult.Name);
until FindNext(searchResult) 0;
finally
FindClose(searchResult);
end;
if FindFirst(polku '*.*', faDirectory, searchResult) = 0 then
try
repeat
if ((searchResult.Attr and faDirectory) 0) and (searchResult.Name'.') and (searchResult.Name'..') then
TiedostonHaku(polku searchResult.Name, tiedostonNimi);
until FindNext(searchResult) 0;
finally
FindClose(searchResult);
end;
end;
Huomaa että procedure TiedostonHaku on esiteltävä luokan TForm1 esittelyn yhteydessä. Sen voi kirjoittaa sinne käsin tai sitten
menet tuolle riville jossa on procedure TForm1.TiedostonH... jossa painat hiiren oikeata nappia, valitset ponnahdusvalikosta kohdan koodin uudelleen muokkaus ja sieltä täydennä koodia jolloin tuo luokan esittely täydentyy automaattisesti.
Oppimisen kannalta olisi ehkäpä parempi yrittää kääntää koodia ennen tuota luokan täydentämistä ja katsoa minkä virheilmoituksen saat. Vasta tämän tälkeen mennä täydentämään koodia oikeanlaiseksi. Lisäksi kannattaa katsoa miten se koodi täydentyi.
Katso myös keskustelua:
http://keskustelu.suomi24.fi/show.fcgi?category=108&conference=4500000000000646&posting=22000000032783387