Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 13.03.03 - 11:18:20

Titel: Directory leeren
Beitrag von: Don Pasquale am 13.03.03 - 11:18:20
Hallo Leute,

wie kann ich aus LotusScript heraus ein Verzeichnis leeren
z.B. C:\TEMP\ , ohne dass Verzeichnis selbst zu löschen.
Oder ist es einfacher, dass Verzeichnis zu löschen und
wieder neu anzulegen ?

fragt sich (und Euch)

Don Pasquale
Titel: Re:Directory leeren
Beitrag von: eknori am 13.03.03 - 11:34:20
Mit der CLASSExplorer kein Problem

Kopiere die Explorer.txt in die Declaration section eines Action Buttons or what have you.

Beispiel:

Sub Click(Source As Button)
   Dim DF As New DiskFile
   dummy% = DF.DeleteFile ( "c:\temp\*.*" , FOF_FILESONLY)
End Sub

löscht alle Dateien aus dem verzeichnis c:\temp ; dabei bleiben Unterverzeichnisse erhalten.

Die Parameter findest du ebenfalls in der Klasse

Titel: Re:Directory leeren
Beitrag von: Don Pasquale am 13.03.03 - 11:50:01
Hallo Eknori,

ist ja echt komfortabel, allerdings finde ich micht mit der Klasse
so schnell nicht zurecht.

Mit genau diesem Code :

   Dim DF As New DiskFile
   dummy% = DF.DeleteFile ( ARCDIR , FOF_FILESONLY)

wird das komplette Verzeichnis gelöscht statt nur
geleert.

Ich würde ihm gerne noch zusätzlich
FOF_SILENT
als Parameter mitgeben, er mag aber nicht mehr als die
obigen Beiden Parameter akzeptieren.

Kannst Du mir da noch einen Tipp geben ?


Ciao
Don Pasquale

NACHTRAG :

   dummy% = DF.DeleteFile ( ARCDIR , FOF_FILESONLY + FOF_SILENT)


verhindert eine Nachfrage
Titel: Re:Directory leeren
Beitrag von: eknori am 13.03.03 - 11:54:55
versuche mal ARCDIR\*.*,  ( wobei ARCDIR = LW:\Pfad )
Titel: Re:Directory leeren
Beitrag von: Don Pasquale am 13.03.03 - 12:00:23
@EKNORI,

genau daran lag es. Das *.* fehlte.

Aber nun bekomme ich wieder die Sicherheitsabfrage.
Und die fragt zudem noch :
Wollen Sie den Papierkorb löschen ?"
very strange .

Der aktuelle Code

   Dim DF As New DiskFile
   strDIR$ = ARCDIR + "\*.*"
   dummy% = DF.DeleteFile ( strDir$ , FOF_FILESONLY + FOF_SILENT)

Ciao

Don Pasquale
Titel: Re:Directory leeren
Beitrag von: Don Pasquale am 13.03.03 - 12:12:02
Muss ich FOF_SILENT
nicht irgendwie vorher deklarieren ?

Die Sicherheitsabfrage kommt immer noch.

Ciao

Don Pasquale
Titel: Re:Directory leeren
Beitrag von: eknori am 13.03.03 - 12:38:54
HM strange;

FOF_Silent ist eigentlich als Const in der Klasse deklariert  ???; muß ich wohl noch mal bei... :P
Titel: Re:Directory leeren
Beitrag von: eknori am 13.03.03 - 12:40:06
Nimm mal FOF_NOCONFIRMATION statt FOF_SILENT
Titel: Re:Directory leeren
Beitrag von: Don Pasquale am 13.03.03 - 12:46:20
HM strange;

FOF_Silent ist eigentlich als Const in der Klasse deklariert  ???; muß ich wohl noch mal bei... :P

Ja, in der Klasse ist das so.

Aber aus dem Code, aus dem ich das aufrufe, klappt
das mit FOF_NONKONFIRMATION nur, wenn
ich es vorher als Integer deklariert habe.

Gruß
Don Pasquale

Titel: Re:Directory leeren
Beitrag von: eknori am 13.03.03 - 12:50:16
Hab es gerade bei mir ( NT4 ) noch mal getestet; geht auch ohne vorherige Deklaration.
Kannst ja mal in der Klasse die Const als Public Const deklarieren.