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

400

    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. Eroa Orpo! Orpo eroa!

      Suomen kansa vaatii viimein ottamaan meidät huomioon, eikä vain ulkomaalaisia pääomasijoittajia. Koska täällä Suomessa
      Maailman menoa
      214
      3200
    2. Riikan vappumiljardin maksavat sairaat, vanhukset ja kuolleiden omaiset

      Vappumiljardi, eli Riikan päätös laskea yhteisöveroa kaksi prosenttiyksikköä 18 prosenttiin, vie verotuloja noin miljard
      Maailman menoa
      19
      2321
    3. Naiset ei halua kilttejä miehiä

      Näin se vaan on..jos olet ilman tatskoja, et rähjää, sinulla ei ole rikosrekisteriä, olet liian kiltti, et sano pahasti,
      Ikävä
      322
      2017
    4. SDP esti Suomen luisumisen kohti 1984 Orwell -yhteiskuntaa

      Äärioikeistohallitus olisi halunnut Stasin tapaan mikrofonit jokaisen kansalaisen kotiin, mutta SDP esti tuon siirtymän
      Maailman menoa
      79
      1992
    5. Odottavan aika on pitkä, Lindtmanin hallitusta tule jo!

      Eilisen perusteella nykyinen hallitus epäonnistui kaikissa vaalilupauksissaan, joten olemme ansainneet uudet eduskuntava
      Maailman menoa
      108
      1911
    6. Wille Rydman (ps) osoitti olevansa kommunisti

      Hän toistaa Neuvostoliiton virhettä. Haluaa pitää palveula yllä maksoi mitä maksoi, vaikkei ole maksavia asiakkaita. --
      Maailman menoa
      25
      1731
    7. Ainoastaan 10 aloitusta ekasivulla yhdeltä henkilöltä

      Kovasti on vaivaa, ei oo muuta tekemistä tällä henkilöllä päivisin ja öisin... Taas märehtimistä ja samaa jankutusta.
      Joensuu
      31
      1618
    8. Seiska: Helmi Loukasmäki paljastaa - Näin Danny ja Helmi tapasivat

      Helmi Loukasmäki, 25, ja Ilkka Danny Lipsanen, 83, ovat seurattuja julkkiksia. Mutta tiesitkö, miten he tapasivat? Lue
      Viihde ja kulttuuri
      31
      1429
    9. Menettämisestä

      Ajatteletko, että olet menettänyt mahdollisuutesi häneen? Osaatko sanoa miksi niin tapahtui?
      Ikävä
      121
      1301
    10. Särkyneelle sydämelle

      Särjin sun sydämen En voi lakata itkemästä Minuun tekee kipeää Koska sinuunkin. Että näin.. En ole runoilija😂
      Suhteet
      30
      1170
    Aihe