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;
Etsi toiminto
6
380
Vastaukset
- 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
- 741014
Miltä se tuntuu
Miltä se tuntuu havahtua, että on ollut ihmistä kohtaan, joka on rakastanut ja varjellut, täysi m*lkku? Vai havahtuuko s104868- 62863
- 45834
- 48771
- 49684
- 31639
Mitä se olisi
Jos sinä mies saisit sanoa kaivatullesi mitä vain juuri nyt. Ilman mitään seuraamuksia yms. Niin mitä sanoisit?34577- 50570
- 38526