vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Dateisystem09.05.01
GetTempFileName-Funktion

Diese Funktion erstellt eine temporäre Datei in einem angegebenem Pfad.

Betriebssystem:  Win95, Win98, WinNT, Win2000, WinMEViews:  13.217 

Beschreibung:
Diese Funktion erstellt eine temporäre Datei in einem angegebenem Pfad. Die Datei wird nur erstellt, wenn für wUnique eine "0" angegeben wird, ansonsten wird nur ein Pfadname zurückgegeben. Die Dateinamen haben immer die Endung ".tmp". Diese Funktion ist auch erfolgreich, wenn der Dateiname bereits existiert. Das Format der temporären Datei setzt sich aus einem 3-Zeichen langem String und einer 4-Zeichen langen Hexdezimalzahl zusammen. Dabei kann man angeben, ob Windows eine zufällige Hexdezimalzahl generieen soll, oder aber die Zahl benutzt werden soll, welche man angibt.

Deklaration:

Declare Function GetTempFileName Lib "kernel32" _
  Alias "GetTempFileNameA" ( _
  ByVal lpszPath As String, _
  ByVal lpPrefixString As String, _
  ByVal wUnique As Long, _
  ByVal lpTempFileName As String) As Long

Parameter:
lpszPathErwartet ein gültiges Verzeichnis, in welches die temporäre Datei erstellt werden soll. Typischerweise wird hier das Ergebnis von GetTempPath verwendet.
lpPrefixStringErwartet eine Zeichnfolge, die den Platz der ersten 3-Zeichen der temporären Datei bestimmt. Werden mehr als 3 Zeichen angegeben, so werden die restlichen ignoriert.
wUniqueGeben Sie hier 0 an, wenn eine zufällige Hexadezimalzahl generiert werden soll.
lpTempFileNameAusreichend große Stringvariable, welche den vollständigen temporären Dateinamen enthalten soll.

Rückgabewert:
War der Funktionsaufruf erfolgreich enthält lpTempFile den temporären Dateinamen. Die 4-stellige Hexadezimalzahl wird dann als Funktionsrückgabewert zurückgegeben. Tritt ein Fehler auf (z.B. dann, wenn eine ungülitge Pfadangabe angegeben wurde), wird 0 zurückgegeben.

Beispiel:

Private Declare Function GetTempFileName Lib "kernel32.dll" _
  Alias "GetTempFileNameA" ( _
  ByVal lpszPath As String, _
  ByVal lpPrefixString As String, _
  ByVal wUnique As Long, _
  ByVal lpTempFileName As String) As Long
Private Sub Command1_Click() 
  Dim RetVal As Long
  Dim TempFilename As String 
  Dim MsgResult As Long 
 
  TempFilename = Space(256)
  RetVal = GetTempFileName(App.Path, "API", 0&, TempFilename)
 
  If RetVal <> 0 Then
    TempFilename = Left$(TempFilename, _
      InStr(1, TempFilename, vbNullChar) - 1)
    MsgResult = MsgBox("Datei wurde erfolgreich erstellt" & _
      vbCrLf & "Wieder löschen?", vbYesNo + vbQuestion, TempFilename)
    If MsgResult = vbYes Then Kill TempFilename
  End If 
End Sub

 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.