Zufälliger Artikel

Problemstellung:

Wie kann ich mit API prüfen ob eine Datei bzw. Verzeichnis existiert? 

Lösung:

Folgenden Code in ein neues Modul kopieren.

Public Declare Function FindFirstFile _
    Lib "kernel32" Alias "FindFirstFileA" ( _
    ByVal lpFileName As String, _
    lpFindData As tpWin32FindData) As Long
Public Declare Function FindClose _
    Lib "kernel32" ( _
    ByVal hFindFile As Long) As Long
Private Type tpFileTime
    dwLowDateTime As Long
    dwHighDateTime As Long
End Type
Private Type tpWin32FindData
    dwFileAttributes As Long
    ftCreationTime As tpFileTime
    ftLastAccessTime As tpFileTime
    ftLastWriteTime As tpFileTime
    nFileSizeHigh As Long
    nFileSizeLow As Long
    dwReserved0 As Long
    dwReserved1 As Long
    cstrFileName As String * 512
    cAlternate As String * 14
End Type
Public Enum enFileType
    eFile = 1
    eFolder = 2
End Enum
Public Function DoesFileExistAPI(sFileName As String, _
    Optional FileType As enFileType = eFile) As Boolean
    Dim typFindData As tpWin32FindData
    Dim lngRet As Long
    lngRet = FindFirstFile(sFileName, typFindData)
    If lngRet <> -1 Then
        If typFindData.dwFileAttributes And 16 Then
            If FileType = eFolder Then
                DoesFileExistAPI = True
            End If
        Else
            If FileType = eFile Then
                DoesFileExistAPI = True
            End If
        End If
        lngRet = FindClose(lngRet)
    End If
End Function

Aufruf z.B.:

If DoesFileExistAPI("F:\Access\tk_Rechnen_mit_Zeiten00.zip", eFile) = True Then
    MsgBox "Datei " & "F:\Access\tk_Rechnen_mit_Zeiten00.zip" & " existiert"
Else
    MsgBox "Datei " & "F:\Access\tk_Rechnen_mit_Zeiten00.zip" & " existiert nicht!"
End If

Ergebnis:


oder

If DoesFileExistAPI("F:\Access1", eFolder) = True Then
    MsgBox "Verzeichnis " & "F:\Access1" & " existiert"
Else
    MsgBox "Verzeichnis " & "F:\Access1" & " existiert nicht!"
End If

Ergebnis:


Ähnliche Artikel

Home

1 1 1 1 1 1 1 1 1 1 Rating 3.75 (4 Votes)

Problemstellung:
Es kommt ab und zu mal die Frage auf - Wie kann ich ein Passwort automatisch generieren?
Hier mal eine Lösung dafür.
Der Originalcode (nur Zahlen und Großbuchstaben) stammt von D.Otter vom vbarchiv
und wurde von mir angepasst und erweitert.

Voraussetzungen:
Das Bsp ist ab A00 lauffähig

Funktionsweise:
Herzstück ist die Funktion "CreatePassword"
Public Enum KeyType
    nurGross = 0
    nurGrossUndKlein = 1
    nurKlein = 2
    nurGrossUndZahlen = 3
    nurKleinUndZahlen = 4
    ZahlenGrossUndKlein = 5
End Enum
Public Function CreatePassword(nLen As Long, nType As KeyType) As String
'-----------------------------------------------------------------------
' Procedure : CreatePassword
' DateTime  : 23.02.2008 16:18
' Author    : TommyK (Original von Dieter Otter)
'------------------------------------------------------------------------ 
Komplette Funktion in der Bsp-DB.

Die Funktion erwartet 2 Parameter:
1. nLen   = Länge des Passwortes, Möglich von 1 - 32767
2. nType = Typ des Passwortes (Möglichkeiten s. o. Enum-Auflistung)

In der Bsp-DB habe ich ein paar Lösungen eingebaut.
 
 
Ihr könnt natürlich die Funktion beliebig erweitern, z.B. um mit Sonderzeichen zu arbeiten.
In diesem Fall müsst Ihr nur die entsprechenden ASCII-Codes in die Funktion integrieren.

Dateien:
(0 Stimmen)

Passwort Generator mit verschiedenen Möglichkeiten

ab A00

Die Zip-Datei enthält eine Version ab A00

 
Datum 05.02.2018
Dateigröße 18.12 KB
Download 1.133

Ähnliche Artikel

Kommentar schreiben

Sicherheitscode
Aktualisieren

Login Form

1.png1.png9.png8.png2.png5.png6.png
Heute2
Gestern118
Diese Woche248
Dieser Monat1910
Total1198256

  • IP: 54.92.170.149
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

18. Juli 2018

Letzte Kommentare

  • Trusted Locations Manager

    Tommy Admin 13.07.2018 13:06
    RE: Trusted Locations Manager
    Hallo Matthias, aus Ermangelung einer 64bit Version kann ich das leider nicht prüfen. Tut mir leid. Gruss ...

    Weiterlesen...

     
  • Trusted Locations Manager

    Matthias 13.07.2018 06:48
    Funktioniert nicht
    Habe gerade den TL-Manager installiert. Nach dem Start sagt er mir, dass es kein Office erkennen ...

    Weiterlesen...