How about
1) A neatly formatted program, so those you are asking
for help can read it easily. I'll rewrite it below for you.
2) A clear statement of what computer and O/S you are working on.
If it is a DOS/Windows machine, then
mydir='/usr/local/';
should be
MyDir = '\usr\local\';
3) I am unfamiliar with the procedure
findfiles
Why don't you document it clearly.
4) Do you get a better result if you omit the middle man
alphafile, and use text directly?
5) I believe a statement
A := B = C;
is always an error. See my note below.
HF
Luis Rivera wrote:
Hello!
I'm trying to implement a procedure and a function involving
findfiles, which, afaik, can do path search.
One thing at a time. First is the function. A sample would be
--snip--
program FindFilesTest;
uses GPC, FileUtils;
type
alphafile=text;
var
nameoffile: string;
filename: alphafile;
const
mydir='/usr/local/';
function aopenin(var a:alphafile):boolean;
begin if ioresult=0 then
assign(a,trim(nameoffile));
findfiles(mydir,a,false,reset,nil);
aopenin:=ioresult=0;
end;
begin
WriteLn ('Enter file name to type: ');
ReadLn (nameoffile);
if aopenin(alphafile) then
WriteLn(nameoffile)
else
Writeln('sorry, search failed');
end.
--snip--
The compiler bites me back saying:
syntax error before reset
extra comma
Beats my why.
Thanks in advance,
========================================
program FindFilesTest;
uses GPC, FileUtils;
type AlphaFile = Text;
var
NameOfFile: string;
FileName: AlphaFile;
const
MyDir='\usr\local\';
function AOpenIn(var A: AlphaFile): Boolean;
begin
if IORresult = 0 then
Assign(A, Trim(NameOfFile));
FindFiles(MyDir, A, False, Reset, nil);
AOpenIn := (IOResult = 0); { NOTE THE ADDED () }
end;
begin
WriteLn('Enter file name to type: ');
ReadLn(NameOfFile);
if AOpenIn(AlphaFile) then
WriteLn(NameOfFile)
else
Writeln('Sorry, search failed.');
end.
--
=============================
Prof. Harley Flanders
3533 Windemere Court
Ann Arbor, MI 48105-2867
Home: 734 668 1546
harley@umich.edu
=============================