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
329
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
- 406993
- 323948
- 453330
- 402949
- 172726
- 372238
- 162196
- 412153
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons482087- 402058