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
385
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
Kelekkakisat
Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.167865- 244707
- 1013909
Virkamiehille tarvitaan tuntuvat palkankorotukset
Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi153293- 943166
- 553059
- 332777
- 462564
Pitäis vaan lopettaa
Sinun kanssa yhteydenpito. Alkaa vaan haluamaan enemmän ja tuskin lopulta mikään kohtaisi. Ja ikävä vaan kasvaa ja lähei132220Ikävä uutinen uudesta Unelmia Italiassa -kaudesta
Unelmia Italiassa -sarja on ollut supersuosittu ja uutta kautta on odotettu. Nyt on tullut se aika, että TV-katsojat pää92025