Subversion Repositories svn.Prod repos

Compare Revisions

Ignore whitespace Rev 28 → Rev 29

/filefind/README
7,3 → 7,7
C, java, PHP. ruby), the program may run on all the supported platforms, with
minor adaptions.
The current makefiles only support Unix/Linux/BSD platform.
 
Note that no special filewalk libraries are used and error checking is limited.
This is done on purpose, its just a demo : implementing same algoritm in
different languages.
/filefind/pascal/Makefile
0,0 → 1,24
PROGRAM=filefind
SOURCE=$(PROGRAM).pas
 
$(PROGRAM):
fpc $(SOURCE)
 
run: $(PROGRAM)
./$(PROGRAM) .
 
clean:
rm -f $(PROGRAM) $(PROGRAM).o
 
DIR = /var/tmp
 
test: $(PROGRAM)
./$(PROGRAM) $(DIR) > result
sort result > result.sort
find $(DIR) > result2
sort result2 > result2.sort
wc *.sort
diff *.sort
 
cleantest:
rm -f result result.sort result2 result2.sort
/filefind/pascal/filefind.pas
0,0 → 1,41
program filefind;
Uses sysutils;
var directory : string;
 
procedure traverse(directory : string);
var curdir1, curdir2 : string;
Info3 : TSearchRec;
pfile : string;
begin
curdir1 := GetCurrentDir;
chdir(directory);
curdir2 := GetCurrentDir;
FindFirst(directory + '/*', faAnyFile or faHidden, Info3);
repeat
if ((Info3.name <> '..') and (Info3.name <> '.'))
then
begin
pfile := curdir2 + '/' + Info3.name;
Writeln(pfile);
if (DirectoryExists(pfile))
then
traverse(pfile)
end
until FindNext(Info3) <> 0;
chdir(curdir1);
end;
 
procedure start_traverse(directory : string);
begin
Writeln(directory);
traverse(directory);
end;
 
begin
directory := ParamStr(1);
if DirectoryExists(directory)
then
start_traverse(directory)
else
Writeln ('Not a directory : ', directory)
end.