
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@366 8e941d3f-bd1b-0410-a28a-d453659cc2b4
73 lines
1.6 KiB
ObjectPascal
73 lines
1.6 KiB
ObjectPascal
program ViewWith;
|
|
|
|
{
|
|
Test program for ViewDoc unit.
|
|
}
|
|
|
|
{$IFDEF FPC}
|
|
{$MODE Delphi}
|
|
{$ELSE}
|
|
{$APPTYPE CONSOLE}
|
|
{$ENDIF}
|
|
{$R+,Q+}
|
|
|
|
uses
|
|
SysUtils,
|
|
ViewDoc;
|
|
|
|
var
|
|
VwrIdx : Integer;
|
|
Viewer : Integer;
|
|
Options : TViewerOptions;
|
|
InStr : string;
|
|
ErrorMsg : string;
|
|
Done : Boolean;
|
|
|
|
begin
|
|
|
|
if ParamCount < 2 then
|
|
begin
|
|
WriteLn('Usage: ViewWith viewername docfilename [-t] [-d]');
|
|
Exit;
|
|
end;
|
|
|
|
Viewer := 0;
|
|
for VwrIdx := 1 to GetViewerCount do
|
|
begin
|
|
if SameText(ParamStr(1), GetViewerName(VwrIdx)) then
|
|
Viewer := VwrIdx;
|
|
end;
|
|
if Viewer = 0 then
|
|
WriteLn('Specified viewer not supported - using first viewer found');
|
|
|
|
Options := [];
|
|
if FindCmdLineSwitch('t', ['-'], True) then {Treat file as template?}
|
|
Options := Options + [ovwUseAsTemplate];
|
|
|
|
if FindCmdLineSwitch('d', ['-'], True) then {Delete file before exiting?}
|
|
begin
|
|
Options := Options + [ovwAddToDeleteList];
|
|
Write('File will be deleted when done viewing - is this okay (Y/N)? ');
|
|
ReadLn(InStr);
|
|
if CompareText(InStr, 'y') <> 0 then
|
|
Exit;
|
|
end;
|
|
|
|
if not ViewDocument(ParamStr(2), Viewer, Options, ErrorMsg) then
|
|
begin
|
|
WriteLn(ErrorMsg);
|
|
Exit;
|
|
end;
|
|
|
|
if FindCmdLineSwitch('d', ['-'], True) and FileExists(ParamStr(2)) then
|
|
begin
|
|
repeat
|
|
Write('Press Enter when ready to delete file (or Ctrl+C to exit): ');
|
|
ReadLn(InStr);
|
|
Done := DeleteViewedDocs;
|
|
if not Done then
|
|
WriteLn(' Unable to delete file - may still be open in viewer');
|
|
until Done;
|
|
end;
|
|
end.
|
|
|