![]() |
|
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: [ 1319 ]
|
|
|