Poslao: 27 Dec 2005 11:10
|
offline
- Pridružio: 19 Dec 2005
- Poruke: 110
- Gde živiš: S one strane Drine gde padaju mine!!!
|
Da li neko zna kako u delphiju da da napravim program pretrazuje txt fajlove?
Unapred hvala!
Dopuna: 27 Dec 2005 9:10
Za pretrazivanje txt fajlova u racunaru.
[mod by bobby] i opet kazem, pisi odgovarajuce naslove
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 27 Dec 2005 11:40
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
function FindFiles(Directory: string; InclAttr, ExclAttr: Integer;
const SubDirs: Boolean; const Files: TStrings): Integer;
var
SearchRec: TSearchRec;
begin
Directory := IncludeTrailingPathDelimiter(Directory);
FillChar(SearchRec, SizeOf(SearchRec), 0);
if FindFirst(Directory + '*.*', faAnyFile, SearchRec) = 0 then
begin
try
repeat
if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
if ((SearchRec.Attr and InclAttr > 0) or ((SearchRec.Attr = 0) and
(InclAttr <> faDirectory))) and
(SearchRec.Attr and ExclAttr = 0) then
begin
Files.Add(Directory + SearchRec.Name);
if SubDirs then
if SearchRec.Attr and faDirectory <> 0 then
FindFiles(Directory + SearchRec.Name, InclAttr, ExclAttr,
SubDirs, Files);
end;
until
FindNext(SearchRec) <> 0;
finally
FindClose(SearchRec);
end;
end;
Result := Files.Count;
end;
Primer za koriscenje:procedure Trenamer_form.Button1Click(Sender: TObject);
var
sl: TStringList;
include: integer;
exclude: integer;
subfolders: boolean;
rootfolder: string;
begin
include := 0;
exclude := 0;
subfolders := false;
rootfolder := ShellTreeView1.path;
if checkbox1.Checked = true then
begin
Listbox1.Items.Add(rootfolder);
include := faDirectory;
end;
if checkbox2.Checked = true then
include := include or faAnyFile;
if checkbox3.Checked = true then
subfolders := true;
if checkbox3.Checked = false then
exclude := faDirectory;
sl := TStringList.Create;
begin
try
FindFiles(rootfolder, include, exclude, subfolders, sl);
Listbox1.Items.AddStrings(sl);
finally
sl.Free;
end;
end;
end;
Gde je:
ListBox1 - ListBox na formi u kome ce nadjeni fajlovi da se pojave
CheckBox-ovi - CheckBox-ovi za opcije (da li da skenira i subfoldere itd...)
ShellTreeView - komponenta iz koje biramo u kom folderu ce biti uradjena pretraga
|
|
|
|
Poslao: 29 Dec 2005 00:15
|
offline
- Pridružio: 27 Jun 2005
- Poruke: 36
|
Imam jednu dopunu na pitanje..
Folder sa fajlovima, u njemu dva subfoldera takodje sa fajlovima.
Treba uraditi sinhronizaciju sa serverom po <> velicini fajlova. Znaci pretraziti folder i sve fajlove poslati ukoliko se razlikuju. Znam kako da to uradim sa jednim folderom ali kako da mi program sam 'udje' u subfolder i da tamo odradi posao?
|
|
|
|
Poslao: 29 Dec 2005 08:20
|
offline
- Pridružio: 19 Dec 2005
- Poruke: 110
- Gde živiš: S one strane Drine gde padaju mine!!!
|
Da li i kako mogu da stavim txt fajlove u bazu podataka? Pa da pretrazujem txt fajlove u bazi.Na primer kada ukucam ime nekog txt fajla da ga otvori naprimer u RichEdit.
|
|
|
|
Poslao: 29 Dec 2005 09:55
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
@vujasoft
Gornja funkcija je rekurziona, tako da ako se parametar SubDirs postavi na true - ona pretrazuje i subdirektorijume.
Direktorijum se pojavljuje isto kao fajl kod FindFirst i FindNext funkcija, s tim sto ima atribut faDirectory.
@Licanin
Imas gore primer kako ces da liferujes spisak fajlova u ListBox, nista manje tesko nije da liferujes u bilo sta drugo.
Za ListBox mozes lako da uradis ucitavanje u RichEdit: Odradis onClick event, ispitas koja linija u ListBox-u je kliknuta, za tu liniju ispitas da li je fajl uz pomoc FileExists, pa ako jeste - onda ucitas fajl u RichEdit.
|
|
|
|
|
Poslao: 09 Jan 2006 15:30
|
offline
- Pridružio: 19 Dec 2005
- Poruke: 110
- Gde živiš: S one strane Drine gde padaju mine!!!
|
Kako da napravim program koji pokazuje vreme i koji se na primer ugasi u 04:00:00 PM?
Dopuna: 09 Jan 2006 13:30
Kako da napravim da se naprimer u Label-u menajaju brojevi od 1 do 10 i kada kliknem na Button da se zaustavi na neki od tih brojeva?
|
|
|
|
Poslao: 09 Jan 2006 16:48
|
offline
- beli0135
- Executor
- Pridružio: 03 Jan 2005
- Poruke: 2990
- Gde živiš: Beograd
|
Mislim da bi ti stvarno pomogla delfi knjiga. Ovo bi znao da uradis posle trece lekcije
za pitanje 1:
stavis tajmer komponentu sa intervalom 1000 i na event-u on timer, napunis vreme u Lable i uradis jedan IF, pa ako je vreme = zeljeno vreme, uradis application.terminate ili sta vec hoces
za pitanje 2:
Ovo ti je sigurna putanja ka zaglavljivanju ako ne napravis kako treba... zato obrati paznju
while true do
begin
end;
ovo ce da vrti non-stop... unutar te petlje ces da uradis jedan FOR i:=1 to 10, da popunis label.caption sa IntToStr(i), i pozvaces funkciju Application.processMessages.
Bez ovoga ti se nece ispisati na ekranu jer petlja vrti umobolnom brzinom, pa ne stigne da se ekran osvezi, niti ce uspeti da ti uhvati event pritiska na dugme
moze i drugacije, ali ovo je cisto da naucis.
Postavlja se pitanje kako izleteti iz petlje "while true do"?
Mozes da kreiras jednu globalnu varijablu koju ces inicijalizovati na FALSE prilikom starta aplikacije (FormCreate)
Na event pritisak dugmeta, postavices tvoju varijablu na TRUE
i unutar while petlje proveris varijablu: IF varijabla THEN break;
To isto mozes da uradis ako stavis odmah uslov u while
WHILE NOT varijabla DO
....
|
|
|
|
Poslao: 10 Jan 2006 16:38
|
offline
- Pridružio: 19 Dec 2005
- Poruke: 110
- Gde živiš: S one strane Drine gde padaju mine!!!
|
Kako u delphi-ju da namestim da se umesto kilika na neki Button koristi neko slovo sa tastature?
|
|
|
|
Poslao: 10 Jan 2006 18:09
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
Izvini sto moram da opominjem, ali ukoliko imas nov problem koji se ne uklapa sa naslovom teme, zamolio bih te da otvoris novu temu.
Ovako kao sto sada radis je nepregledno za ostale korisnike, a narocito nezgodno za Pretragu foruma (Search).
|
|
|
|