File viewing from within archive fix

This commit is contained in:
mysticbbs 2012-08-17 14:37:36 -04:00
parent c35742b5f2
commit 304caf241e
2 changed files with 18 additions and 13 deletions

View File

@ -916,14 +916,20 @@ Begin
'R' : ArchiveList(FName); 'R' : ArchiveList(FName);
'V' : Begin 'V' : Begin
Session.io.OutFull (Session.GetPrompt(384)); Session.io.OutFull (Session.GetPrompt(384));
Mask := Session.io.GetInput (70, 70, 11, ''); Mask := Session.io.GetInput (70, 70, 11, '');
If Mask <> '' Then Begin If Mask <> '' Then Begin
ExecuteArchive (FName, '', Mask, 2); ExecuteArchive (FName, '', Mask, 2);
Session.io.PromptInfo[1] := Mask; Session.io.PromptInfo[1] := Mask;
Session.io.OutFullLn(Session.GetPrompt(306)); Session.io.OutFullLn(Session.GetPrompt(306));
Session.io.AllowMCI := False; Session.io.AllowMCI := False;
Session.io.OutFile (Session.TempPath + Mask, True, 0); Session.io.OutFile (Session.TempPath + Mask, True, 0);
Session.io.AllowMCI := True; Session.io.AllowMCI := True;
If Session.io.NoFile Then If Session.io.NoFile Then
@ -1234,6 +1240,8 @@ Begin
Inc(A); Inc(A);
End; End;
Session.SystemLog('DEBUG Exec Archive: ' + Temp);
ShellDOS ('', Temp); ShellDOS ('', Temp);
End; End;
@ -1914,6 +1922,7 @@ Var
TopDesc := 0; TopDesc := 0;
End Else Begin End Else Begin
Inc (Count, FDir.DescLines + 1); Inc (Count, FDir.DescLines + 1);
If FBase.Flags And FBShowUpload <> 0 Then Inc(Count); If FBase.Flags And FBShowUpload <> 0 Then Inc(Count);
End; End;
End; End;
@ -2062,6 +2071,7 @@ Var
SizeStr := Session.GetPrompt(491); SizeStr := Session.GetPrompt(491);
Seek (FDirFile, TopPage); Seek (FDirFile, TopPage);
If TopDesc <> 0 Then Read (FDirFile, FDir); If TopDesc <> 0 Then Read (FDirFile, FDir);
BotDesc := TopDesc; BotDesc := TopDesc;
@ -2343,8 +2353,8 @@ Var
'?' : Begin '?' : Begin
Session.io.OutFile ('flisthlp', True, 0); Session.io.OutFile ('flisthlp', True, 0);
If Not Session.io.NoFile Then Begin If Not Session.io.NoFile Then Begin
fullReDraw; FullReDraw;
drawPage; DrawPage;
End; End;
End; End;
'E' : If Session.User.Access(FBase.SysopACS) Then Begin 'E' : If Session.User.Access(FBase.SysopACS) Then Begin
@ -2363,6 +2373,7 @@ Var
End; End;
'V' : Begin 'V' : Begin
Session.io.AnsiGotoXY (1, 23); Session.io.AnsiGotoXY (1, 23);
If ArchiveView(FBase.Path + List[CurPos].FileName) Then Begin If ArchiveView(FBase.Path + List[CurPos].FileName) Then Begin
FullRedraw; FullRedraw;
DrawPage; DrawPage;
@ -2412,10 +2423,7 @@ Var
Case Session.io.OneKey(Keys, True) of Case Session.io.OneKey(Keys, True) of
'E' : Begin 'E' : Begin
DoEditor; DoEditor;
DrawPage; DrawPage;
If CurPos > ListSize Then CurPos := ListSize;
End; End;
#13, #13,
'N' : If LastPage Then 'N' : If LastPage Then
@ -2681,7 +2689,6 @@ Var
Temp : String; Temp : String;
FullName : String; FullName : String;
DataFile : File; DataFile : File;
TempFile : File;
Found : Boolean; Found : Boolean;
LogFile : Text; LogFile : Text;
FileStatus : Boolean; FileStatus : Boolean;
@ -2879,13 +2886,9 @@ Begin
For A := 1 to FDir.DescLines Do For A := 1 to FDir.DescLines Do
BlockWrite (DataFile, Session.Msgs.MsgText[A][0], Length(Session.Msgs.MsgText[A]) + 1); BlockWrite (DataFile, Session.Msgs.MsgText[A][0], Length(Session.Msgs.MsgText[A]) + 1);
Assign (TempFile, FBase.Path + FileName); FDir.Size := FileByteSize(FBase.Path + FileName);
{$I-} Reset (TempFile, 1); {$I+}
If IoResult = 0 Then Begin If FDir.Size = -1 Then Begin
FDir.Size := FileSize(TempFile);
Close (TempFile);
End Else Begin
FDir.Flags := FDir.Flags Or FDirOffline; FDir.Flags := FDir.Flags Or FDirOffline;
FDir.Size := 0; FDir.Size := 0;
End; End;

View File

@ -918,7 +918,7 @@ Var
BufPos : LongInt; BufPos : LongInt;
BufSize : LongInt; BufSize : LongInt;
dFile : File; dFile : File;
Ext : String[4]; Ext : String[4] = '';
Code : String[2]; Code : String[2];
SavedPause : Boolean; SavedPause : Boolean;
SavedAbort : Boolean; SavedAbort : Boolean;
@ -998,6 +998,8 @@ Begin
Ext := Copy(Ext, 1, 3) + Code; Ext := Copy(Ext, 1, 3) + Code;
End; End;
Session.SystemLog('DEBUG Display:' + FName + Ext);
Assign (dFile, FName + Ext); Assign (dFile, FName + Ext);
{$I-} Reset(dFile, 1); {$I+} {$I-} Reset(dFile, 1); {$I+}