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

388

    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. Asiakkaalle ei myyty energiajuomaa - tuomio tuli syrjinnästä

      Vaikka oli ilmeisesti täysi-ikäinen. Tosin ei lapsiakaan saisi syrjiä, koska oppivat helposti itsekin syrjimään, jos koh
      Maailman menoa
      40
      2344
    2. Kuhmossa rallit alkoi ennen aikojaan

      Paettiin polliisia törkeästi? Se tuo rallikiima on näemmä saavuttanu paikalliset tommi mäkiset kiljupäissään auton rat
      Kuhmo
      37
      1928
    3. Miksi aina pitää kilpailla parhaudesta?

      Mua ärsyttää se, että kaikki kilpailut ja visailut keskittyvöt aina siihen, kuka on paras missäkin. Tänäkin aamuna tuli
      Sinkut
      60
      1705
    4. 41000 kavallettu rahaa

      uutisoi Kaleva ja iltasanomat vuosina 2020-2022 välisenä aikana hävinnyt toi summa tuomittu nainen 1971 syntynyt.
      Pyhäjärvi
      50
      1574
    5. Pakkoruotsista luopumalla kymmenien miljoonien säästöt

      Pakkoruotsin opiskelun kustannuksista ei ole juurikaan tehty kustannusselvityksiä, mutta joidenkin arvioiden mukaan siit
      Maailman menoa
      50
      1571
    6. Tuleeko tästä

      Enää mitään. Voiko mitään enää korjata?
      Ikävä
      111
      1503
    7. Kaste tulisi tehdä apostolisella tavalla Ap. t. 2:38 mukaan

      Apostolit eivät kastaneet kolminaisuuden nimellä vaan Jeesuksen alkuperäisen käskyn mukaisesti: Ap. t. 2:38 Niin Pietar
      Kaste
      69
      1475
    8. Mitä muutoksia tekisit

      kaivatullesi? Miten on? Muista olla REHELLINEN 📸
      Ikävä
      91
      1413
    9. Fantasioista

      Suurimmalla osalla meistä on jonkinlaisia eroottisia fantasioita. Miten sinä suhtaudut fantasioihin? Ruokitko niitä vai
      Sinkut
      131
      1282
    10. Luterilaisen kirkon koko kastekaava on väärä

      Uudessa testamentissa on kaksi täysin ristiriidassa olevaa kastekäskyä Matt 28:19 ja Ap. t. 2:38. Matteuksen evankeluimi
      Kaste
      41
      1254
    Aihe