'===========================================================================
' Subject: MOST RECENT MANAGER                Date: 03-13-98 (15:27)       
'  Author: Edward Blake                       Code: VBWIN                  
'  Origin: blakee@rcsn.nb.ca                Packet: VBWIN.ABC
'===========================================================================
Attribute VB_Name = "MostRecent"
Option Explicit
' MostRecent.bas - Most Recent Manager
' Edward Blake   - June 5, 1997
'
' BAS file for making Most Recent Interfaces (MRI)
' This file contains data for storing the MRI
' and code for managing the MRI data.
'

Const MRINumber = 3                     ' (Number of files - 1)
Public MostRecent(MRINumber) As String

Public Function OpenMRIFile(Index As Integer) As String
    OpenMRIFile = MostRecent(Index)
End Function

Public Sub SetMRI(FileName As String)
    Dim I As Integer
    Dim Z As Integer
    Dim D As Boolean

    For I = 0 To MRINumber
        If MostRecent(I) = FileName Then
            D = True
            Exit For
        Else
            D = False
        End If
    Next I
    If D = False Then
        For Z = MRINumber To 1 Step -1
            MostRecent(Z) = MostRecent(Z - 1)
        Next Z
        MostRecent(0) = FileName
    ElseIf D = True Then
        For Z = I To 1 Step -1
            MostRecent(Z) = MostRecent(Z - 1)
        Next Z
        MostRecent(0) = FileName
    End If

End Sub

Public Sub LoadMRI(ProgramName As String, Optional SectionName As String)
    Dim I As Integer
    If len(SectionName) = 0 Then SectionName = "Most Recent"
    For I = 0 To MRINumber
        MostRecent(I) = GetSetting(ProgramName, SectionName, "File" & CStr(I), vbnullstring)
    Next I
End Sub

Public Sub SaveMRI(ProgramName As String, Optional SectionName As String)
    Dim I As Integer
    If len(SectionName) = 0 Then SectionName = "Most Recent"
    For I = 0 To MRINumber
        SaveSetting ProgramName, SectionName, "File" & CStr(I), MostRecent(I)
    Next I
End Sub
