Eli miten sais tehtyä sellasen ohjelman joka nappia painamalla etsii koneesta tiettyjä ohjelmia? Lazaruksella sellasen haluaisin tehdä.
Tiedoston etsiminen.
1
261
Vastaukset
- Riittäneekö tämä?
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
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Sä olet epävakaa
tai ainakin yrität onnistuneesti vaikuttaa siltä. Ei sun kanssa uskalla ruveta yhtään mihinkään, menis hommat ojasta all462075Mieti miten paljon yritin
Löytää yhteyttä kanssasi uudelleen sen väärinymmärryksen jälkeen. Koen etten tullut puoleltasi hyvin kohdelluksi mies😔571819- 361534
Yksi viesti häneltä ja ottaisin takaisin
Mutta ei sitä tule. Ja ehkä parempi niin, tein jo valintani. En saanut häneltä tarpeeksi, kaikki muu meni minun edelle j321443- 781238
- 581122
Keskisarjan puheet
Onko kansanedustajan sopivaa puhua tuollai vai pitäisikkö potkia pois eduskunnasta?189973- 57949
- 49913
- 24894