VB 5/6-Tipp 0065: Temporäre Datei erstellen
von ActiveVB
Beschreibung
Um eine temporäre Datei erstellen zu können muß zum einem ein 'Temp' Verzeichnis vorhanden sein, zum anderen kann man sich von Windows einen passenden Dateinamen generieren lassen, der in diesem Verzeichnis garantiert noch nicht vorhanden ist.
Schwierigkeitsgrad: | Verwendete API-Aufrufe: GetTempFileNameA (GetTempFileName), GetTempPathA (GetTempPath) | Download: |
'Dieser Quellcode stammt von http://www.activevb.de 'und kann frei verwendet werden. Für eventuelle Schäden 'wird nicht gehaftet. 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. 'Ansonsten viel Spaß und Erfolg mit diesem Source! '------------- Anfang Projektdatei Project1.vbp ------------- '--------- Anfang Formular "Form1" alias Form1.frm --------- ' Steuerelement: Schaltfläche "Command2" ' Steuerelement: Listen-Steuerelement "List1" ' Steuerelement: Schaltfläche "Command1" ' Steuerelement: Beschriftungsfeld "Label2" ' Steuerelement: Beschriftungsfeld "Label1" Option Explicit Private 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 Private Declare Function GetTempPath Lib "kernel32" Alias _ "GetTempPathA" (ByVal nBufferLength As Long, ByVal _ lpBuffer As String) As Long Const MAX_PATH = 260 Private Sub Form_Load() Dim Temp$ Temp = FindTemp If Temp <> "" Then Label2.Caption = Temp Else Label2.Caption = "Kein temporäres Verzeichnis vorhanden." End If End Sub Private Sub Command1_Click() Dim TempFile$ TempFile = CreateTempFile If TempFile = "" Then MsgBox ("Temporäre Datei konnte nicht erstelllt werden.") Else List1.AddItem TempFile End If End Sub Private Sub Command2_Click() Dim X% If List1.ListCount <> 0 Then For X = 0 To List1.ListCount - 1 Call DeleteTempFile(List1.List(X)) Next X End If List1.Clear End Sub Private Function FindTemp() As String Dim Result&, Buff$ Buff = Space$(MAX_PATH) Result = GetTempPath(Len(Buff), Buff) FindTemp = Left$(Buff, Result) End Function Private Function CreateTempFile() As String Dim TempDir$, Result&, Buff$ TempDir = FindTemp If TempDir = "" Then Exit Function Buff = Space$(MAX_PATH) Result = GetTempFileName(TempDir, "~VB", 0&, Buff) If Result = 0 Then Exit Function Result = InStr(1, Buff, Chr(0)) If Result > 0 Then CreateTempFile = Left$(Buff, Result - 1) Else CreateTempFile = Buff End If End Function Private Sub DeleteTempFile(File$) Kill File End Sub '---------- Ende Formular "Form1" alias Form1.frm ---------- '-------------- Ende Projektdatei Project1.vbp --------------
Tipp-Kompatibilität:
Windows/VB-Version | Win32s | Win95 | Win98 | WinME | WinNT4 | Win2000 | WinXP |
VB4 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
VB5 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
VB6 | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.