Etsi toiminto

Apuja?

Eli sain nyt lazaruksella toimimaan ohjelman joka ettii yhen tietyn tiedoston koneelta.... Miten saisin ohjelman toimimaan niin että kirjottaisit yhteen kohtaan hakusanan ja painat etsi niin sitte toiseen laatikkoon tulisi se mitä se löysi?

Tämän hetkinen koodi on tässä:

procedure TForm1.Button1Click(Sender: TObject);
var
myFile : TextFile;
fileName : string;
fullFilePath : string;
dir1, dir2 : string;
begin
fileName := '';
AssignFile(myFile, 'C:\Program Files\' fileName);
ReWrite(myFile);
Write(myFile, 'Hello World');
CloseFile(myFile);
dir1 := 'C:\No such directory';
dir2 := 'C:\Program Files\';
fullFilePath := FileSearch(fileName, dir1 ';' dir2);
if fullFilePath = '' then
ShowMessage(fileName ' not found')
else ShowMessage(fullFilePath ' found OK');
DeleteFile(fileName);
fullFilePath := FileSearch(fileName, dir1 ';' dir2);
end;

6

373

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ListBoxiin

      Lomakkeella on kolme komponenttia
      - Button1
      - Edit1
      - ListBox1


      Edit1 on tieto millaisia tiedostoja haetaan.
      Jos on *.* niin haetaan ohjelmanoletuskansiosta.
      Mukaan voidaan laittaa myös hakupolku.

      Tulostetaan kaikki hakuehdon mukaiset tiedostot ListBox1:n


      procedure TForm1.Button1Click(Sender: TObject);
      var searchResult : TSearchRec;
      etsittava_nimi:string;
      begin
      etsittava_nimi := Edit1.text;
      if FindFirst(etsittava_nimi, faAnyFile, searchResult) = 0 then
      begin
      repeat
      ListBox1.Items.Add(searchResult.Name);
      until FindNext(searchResult) 0;
      FindClose(searchResult);
      end;
      end;



      PS. Huomaa että halutessasi voit jatkojalostaa tätä esim. Simon ohjeilla (katso aiempia Delphi-alueen viestejä)!

      • on...

        ku ei toimi? Kirjoitan nimen edit1 ja painan hae niin mitään ei tapahdu?

        Koodi:

        procedure TForm1.Button1Click(Sender: TObject);
        var searchResult : TSearchRec;
        etsittava_nimi:string;
        begin
        etsittava_nimi := Edit1.text;
        if FindFirst(etsittava_nimi, faAnyFile, searchResult) = 0 then
        begin
        repeat
        ListBox1.Items.Add(searchResult.Name);
        until FindNext(searchResult) 0;
        FindClose(searchResult);
        end;
        end;

        procedure TForm1.Button2Click(Sender: TObject);
        begin
        Close;
        end;


      • List-----------
        on... kirjoitti:

        ku ei toimi? Kirjoitan nimen edit1 ja painan hae niin mitään ei tapahdu?

        Koodi:

        procedure TForm1.Button1Click(Sender: TObject);
        var searchResult : TSearchRec;
        etsittava_nimi:string;
        begin
        etsittava_nimi := Edit1.text;
        if FindFirst(etsittava_nimi, faAnyFile, searchResult) = 0 then
        begin
        repeat
        ListBox1.Items.Add(searchResult.Name);
        until FindNext(searchResult) 0;
        FindClose(searchResult);
        end;
        end;

        procedure TForm1.Button2Click(Sender: TObject);
        begin
        Close;
        end;

        Kokeilitko kirjoittaa tuohon tekstikenttään (edit)
        esim. *.* jolloin pitäisi löytyä kansion kaikki tiedostot?


        PS Laita myös luokan esittely meille näkyviin jos tuokaan ei ole syynä.


      • Nollaus

        ListBoxin ehkäpä voisi tyhjentää ensimmäisenä toimintona painonapin painamistoiminnassa (tuskin tarkoituksena on kerätä isoa listaa.
        Ero tulee esille jos nappia painaa kaksi kertaa)

        eli

        ...
        begin
        ListBox1.Items.Clear;
        etsittava_nimi := Edit1.text;
        ...


      • Apuja?
        Nollaus kirjoitti:

        ListBoxin ehkäpä voisi tyhjentää ensimmäisenä toimintona painonapin painamistoiminnassa (tuskin tarkoituksena on kerätä isoa listaa.
        Ero tulee esille jos nappia painaa kaksi kertaa)

        eli

        ...
        begin
        ListBox1.Items.Clear;
        etsittava_nimi := Edit1.text;
        ...

        kyllä toi *.* löysi tiedostoja, mutta saisko ton toimimaan sillein et kirjotat vaikkapa ''Windows mediplayer'' Ja sitte se näyttäis missä se on?


      • -___-
        Apuja? kirjoitti:

        kyllä toi *.* löysi tiedostoja, mutta saisko ton toimimaan sillein et kirjotat vaikkapa ''Windows mediplayer'' Ja sitte se näyttäis missä se on?

        Tarkoitatko samanlaista ominaisuutta kuin
        Lazaruksen "Etsi tiedostoista" / find in files on ?

        Siinähän on haluttaessa mukana myös säännölliset lausekkeet (Regular expression)


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kumpi on sekaisempi - Koskenniemi vai Trump?

      Koskenniemi haukkui Trumppia A-studiossa, niin että räkä lensi suusta. Sen sijaan Trump puheessaan sanoi, että Grönlant
      Maailman menoa
      169
      3091
    2. Sannahan laski sähkön ALV:n 10 prosenttiin, Riikka runnoi 25,5 %:iin

      Tässäkin nähdään kumpi on Suomen kansan puolella, ja kumpi omaa vastaan. Putinistipersuille Suomen kansa tulee aina vii
      Maailman menoa
      44
      1899
    3. Kolmen tuiki tavallisen demariahdistelijan nimet julki

      Nyt tiedetään ketkä kolme oli niissä niin tavanomaisissa demarin jokapäiväisissä askareissa avustajia ahdistelemassa. K
      Maailman menoa
      31
      1884
    4. Kaivattusi silmin

      Minkälaisen kuvan olet omasta mielestäsi antanut itsestäsi kaivatullesi?
      Ikävä
      196
      1827
    5. Saisinpa halata sinua joka päivä

      ja kertoa miten paljon sinusta välitän. Vaikka olisi jommalla kummalla huono päivä, väsynyt päivä tai kiireinen päivä, a
      Ikävä
      26
      1630
    6. Riikka Purra perustelee hallituksen leikkauspolitiikkaa

      Odotukset ovat kovat, mutta puhe on poikkeuksellisen onttoa jopa hallituksen omalla mittapuulla. Vastuu työnnetään alas,
      Perussuomalaiset
      77
      1266
    7. Kansalaispalkka ja maksuton joukkoliikenne

      Noilla pienillä parannuksilla saadaan Suomesta taas hitusen parempi paikka peruskansalaiselle, joka elää ekologisesti ja
      Maailman menoa
      88
      1206
    8. Martinan pankkikortti

      Seiska uutisoi, että Martina antoi pankkilortin tyttärilleen. Siinä on vaan sellainen pointti, että pankkikorttia ei saa
      Kotimaiset julkkisjuorut
      211
      1063
    9. Muistattekos kun kaupassa piti pyytää tavarat myyjältä

      Edes kahvipakettia ei saanut itse valita, vaan myyjä nouti sen hyllystä tiskille. Jos osti jauhelihaa, niin se jauhettii
      Maailman menoa
      180
      1046
    10. Kadonnut Kajaanissa

      Yllättävän hyvät kuvat poliisilla, luulisi löytyvän niiden perusteella?
      Kajaani
      21
      1019
    Aihe