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

420

    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. Kenellä oli ryppyinen paita, josta Halla-aho mielensä pahoitti?

      Ei ollut Keskisarja, jonka paita vain repsotti housujen päällä puolittain. Muistatteko tapausta?
      Maailman menoa
      47
      3078
    2. Miksi Halla-aho on niin hyvin menestynyt - mutta punavihreä ei?

      Hyvin näkee kuinka punavihreää ottaa pahasti päähän kun Virta on taas töppäillyt pahasti. Ja kun punavihreä ei pärjää, n
      Maailman menoa
      42
      2280
    3. Ruoan arvonlisävero menee käytännössä tukijussille

      Ilman juomia elintarvikkeiden myynti vuonna 2025 oli reilut 15 miljardia euroa. Tuolla tasolla arvonlisävero pyörii pari
      Maailman menoa
      62
      2189
    4. Vihreät REPEÄMÄSSÄ oijoijoi....Virran sekoilut on liikaa

      Jo ennestään vihreiden kannatus on suossa vaikka puolue istuu oppositiossa, nyt tuli Virran temppu kun häipyi tuosta vaa
      Maailman menoa
      95
      2077
    5. Ruotsissa uusi vakava ongelma: Vanhusten seksuaalinen hyväksikäyttö

      palvelutaloissa ja kotihoidossa. Tämäkin on ihan puhtaasti väärän maahanmuuton vaikutusta, sillä tekijät ovat kaikki keh
      Maailman menoa
      63
      1794
    6. Poliisi tutkii keskiviikkoiltana Kiuruveden keskustassa tapahtunutta väkivallantekoa.

      Itä-Suomen poliisi tutkii Kiuruveden keskustassa keskiviikkoiltana tapahtunutta epäiltyä väkivallantekoa. Tapaus on herä
      Kiuruvesi
      18
      1734
    7. Työeläkkeiden maksaminen lopetettava ASAP.

      "Vanhimmat sukupolvet ovat saaneet vastinetta eläke­maksuilleen monin­kertaisesti nykyisiin ja tuleviin sukupolviin verr
      Maailman menoa
      75
      1543
    8. Mika Poutala salasi osallistumisensa Erikoisjoukkoihin

      Poutala ryhtyi ministeriksi 13.6.2025 ja 5.8.2025 ilmoitettiin hänen olevan seuraavalla Erikoisjoukot-kaudella. http
      Maailman menoa
      46
      1328
    9. Siis HYI OLKOON! Ihmiset, eikö enää ole mitään rajaa?

      https://www.iltalehti.fi/viihdeuutiset/a/4142eeb2-a589-4109-a5d0-e8f341df585c "Susanna Penttilän seksibussi kauhistutta
      Maailman menoa
      137
      1277
    10. Puuma Martina iski nuoren miehen

      Martina ja Hajji Muhis oikealta nimeltään Muhammad Abdilrasoon hempeilivät Tallinnassa. Hajji 28 vuotias ja Martina pian
      Kotimaiset julkkisjuorut
      166
      1054
    Aihe