![]() |
Tipp 0243
|
Liste der zuletzt geöffneten Dateien
|
 |
|
Autor/Einsender: Datum: |
|
Detlev Schubert 06.06.2002 |
|
Entwicklungsumgebung: |
|
VB 5 |
|
|
Das Collection-Objekt spielt bei Visual Basic 6 die Rolle eines
universellen Datenbehälters. Im Prinzip können Sie speichern, was Sie möchten.
|
Fast alle professionellen Anwendungen bieten in ihrem Datei-Menü eine Liste der zuletzt
geöffneten Dateien an. Diese Liste sollte in der Regel nicht endlos anwachsen, sie sollte
vielmehr z. B. auf die letzten 4, 8 oder 10 Einträge beschränkt sein. Bei der
Liste unsere Tipps handelt es sich um eine typische First-In-First-Out-Datenstruktur
(also einen Stack mit fester Größe).
|
Sobald die Liste voll ist, wird das zuerst eingefügte durch das neu eingefügte Element
ersetzt. Eine solche Datenstruktur realisieren wir über ein Dictionary-Objekt.
Mit dem PropertyBag-Objekt, oder aber auch in einer
INI-Datei oder in der Registry, lassen sich die Einträge auch dauerhaft speichern und
wieder einlesen.
|
|
|
Option Explicit
Private dicMRU As Scripting.Dictionary
Private Sub Form_Load()
Set dicMRU = New Scripting.Dictionary
End Sub
Private Sub mnuÖffnen_Click()
Dim sDateiPfad As String
Static iMRU As Integer
With CdlDatei
.InitDir = App.Path
.DialogTitle = "Wählen Sie eine Datei, bitte"
.Filter = "Visual Basic-Module (*.vbp)|*.vbp|Alle Dateien|*.*"
.ShowOpen
If .FileName <> "" Then
sDateiPfad = .FileName
End If
End With
If dicMRU.Count <= 3 Then
dicMRU.Add Item:=sDateiPfad, Key:=CStr(dicMRU.Count + 1)
Else
iMRU = iMRU Mod 4 + 1
dicMRU.Item(CStr(iMRU)) = sDateiPfad
End If
MRUAufliste
End Sub
Sub MRUAufliste()
Dim i As Integer
For i = 1 To dicMRU.Count
If i = mnuMRU.Count Then Load mnuMRU(i)
mnuMRU(i).Caption = dicMRU.Item(CStr(i))
mnuMRU(i).Visible = True
Next
End Sub
Private Sub mnuMRU_Click(Index As Integer)
MsgBox dicMRU.Item(CStr(Index))
End Sub
|
|
|
|
Um diesen Tipp ausführen zu können, muss die Bibliothek Microsoft Scripting Runtime
(SCRRUN.DLL) als Verweis in das Projekt eingebunden werden.
|
|
Windows-Version |
95 |
 |
|
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
VB-Version |
VBA 5 |
 |
|
VBA 6 |
 |
|
VB 4/16 |
 |
|
VB 4/32 |
 |
|
VB 5 |
 |
|
VB 6 |
 |
|
|
|
Download (2,9 kB)
|
Downloads bisher: [ 1284 ]
|
|
|