mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 19:29:26 +02:00
+ Script replaced by pascal program
This commit is contained in:
parent
91bb36e4c2
commit
d0c37b3ea7
117
docs/makehtm.pp
Normal file
117
docs/makehtm.pp
Normal file
@ -0,0 +1,117 @@
|
||||
{$mode objfpc}
|
||||
{$h+}
|
||||
program makehtm;
|
||||
|
||||
uses sysutils;
|
||||
|
||||
Var
|
||||
Verbose : Boolean;
|
||||
FileCount : Boolean;
|
||||
|
||||
Procedure ConvertFile (FileName : String);
|
||||
|
||||
Var
|
||||
OFileName : String;
|
||||
Infile,OutFile : Text;
|
||||
Line : String;
|
||||
|
||||
begin
|
||||
Try
|
||||
OFileName:=ChangeFileExt(FileName,'.htm');
|
||||
If Verbose then
|
||||
Writeln('Converting ',FileName,' to ',OFileName)
|
||||
else
|
||||
Write('.');
|
||||
Assign(InFile,FileName);
|
||||
Assign(OutFile,OFileName);
|
||||
Reset(Infile);
|
||||
Try
|
||||
Rewrite(OutFile);
|
||||
Try
|
||||
While Not EOF(Infile) do
|
||||
begin
|
||||
ReadLn(Infile,Line);
|
||||
Line:=Stringreplace(Line,'.html','.htm',[rfReplaceAll]);
|
||||
Writeln(OutFile,Line);
|
||||
end
|
||||
Finally
|
||||
Close(OutFile);
|
||||
end;
|
||||
finally
|
||||
Close(InFile);
|
||||
end;
|
||||
except
|
||||
On E : Exception do
|
||||
Writeln('Error converting ',FileName,' to ',OFileName,' : ',E.Message);
|
||||
end;
|
||||
end;
|
||||
|
||||
Function DoDirectory(DirName : String; Recurse : Boolean) : Integer;
|
||||
|
||||
Var
|
||||
Info : TSearchRec;
|
||||
|
||||
begin
|
||||
Result:=0;
|
||||
DirName:=IncludeTrailingPathDelimiter(DirName);
|
||||
If FindFirst(Dirname+'*.html',0,Info)=0 then
|
||||
Try
|
||||
Repeat
|
||||
ConvertFile(DirName+Info.Name);
|
||||
Inc(Result);
|
||||
Until (FindNext(Info)<>0);
|
||||
Finally
|
||||
FindClose(Info);
|
||||
end;
|
||||
If Recurse then
|
||||
If FindFirst(Dirname+'*',faDirectory,Info)=0 then
|
||||
Try
|
||||
Repeat
|
||||
With Info do
|
||||
If ((Attr and faDirectory)<>0) and (Name<>'.') and (Name<>'..') then
|
||||
Result:=Result+DoDirectory(DirName+Name,Recurse);
|
||||
Until (FindNext(Info)<>0);
|
||||
Finally
|
||||
FindClose(Info);
|
||||
end;
|
||||
end;
|
||||
|
||||
Procedure DoDirs;
|
||||
|
||||
Var
|
||||
I : integer;
|
||||
Count,Total : Integer;
|
||||
Dir : String;
|
||||
|
||||
begin
|
||||
Total:=0;
|
||||
for I:=1 to ParamCount do
|
||||
begin
|
||||
Dir:=Paramstr(I);
|
||||
if (Dir<>'-v') then
|
||||
begin
|
||||
Count:=DoDirectory(Dir,True);
|
||||
if Not verbose then
|
||||
Writeln;
|
||||
Writeln('Directory ',Dir,' : ',Count,' files.');
|
||||
Total:=Total+Count;
|
||||
end;
|
||||
end;
|
||||
Writeln('Total files ',Total);
|
||||
end;
|
||||
|
||||
Procedure DoParams;
|
||||
|
||||
Var
|
||||
I : integer;
|
||||
|
||||
begin
|
||||
For I:=1 to ParamCount do
|
||||
If paramstr(i)='-v' then
|
||||
Verbose:=True;
|
||||
end;
|
||||
|
||||
begin
|
||||
DoParams;
|
||||
DoDirs;
|
||||
end.
|
Loading…
Reference in New Issue
Block a user