Autor Thema: Ordner auflisten  (Gelesen 3705 mal)

Offline pcinhaber

  • Frischling
  • *
  • Beiträge: 11
Ordner auflisten
« am: 05.01.09 - 11:03:35 »
Hallo atNotes-Team und ein frohes neues Jahr,

schreibe jetzt schon etwas länger an einem Löschagenten.
Dieser löscht Dokumente in einem vom Benutzer festgelegten Zeitraum.
Der Agent wird im Maileingang unter "Werkzeuge" aufgerufen und gestartet.
Die grafische Oberfläche besteht aus einer Teilmaske. Neben dem Maileingang
sind auch noch zahlreiche Ordner vorhanden.

Jetzt tritt folgende Schwierigkeit auf:

In dem Fenster, das sich beim Starten des Agenten öffnet, soll eine Ordnerwahl
getroffen werden. Der Benutzer wählt also den Ordner in dem gelöscht werden
soll aus und in diesem werden dann die Dokumente im angegebenen Zeitraum gelöscht.

Wie erstelle ich solch eine Ordnerauswahl? Wie kann ich angeben in welchem
Ordner gelöscht werden soll?

Der Agent ist in LotusScript geschrieben.

Danke im voraus

MfG

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Ordner auflisten
« Antwort #1 am: 05.01.09 - 11:25:18 »
Auch ich wünsche dir ein gutes neues Jahr. Ich habe in grauer Vorzeit mal sowas ähnliches in einer Datenbank gemacht.

Code
Dim session As New NotesSession
Dim db As NotesDatabase
Dim viewlist() As String
Dim count As Integer
	
Set db = session.CurrentDatabase
	
count = 0
	
Forall view In db.Views
  If view.Name <> "Meine Dokumente" And view.Name <> "Recherche" And view.Name <> "Zuordnung" Then
    If Left$(view.Name,1) <> "(" Then
      If view.IsFolder Then
         Redim Preserve viewlist(count)
         viewlist(count) = view.Name
         count = count + 1
      End If  'If view.IsFolder Then
    End If  'If Left$(view.Name,1) <> "(" Then
  End If  'If view.Name <> "Meine Dokumente" Then
End Forall  'Forall view In db.Views
...

Den inhalt des Arrays viewlist packst du dann in ein Listenfeld. Dort kann der Anwender dann den entsprechenden Ordner auswählen. Ist mit Sicherheit noch verbesserungsfähig aber es erfüllt in dieser Datenbank seinen Zweck.

Noch eine Anmerkung: Dir ist aber klar, dass wenn in einem Ordner ein Dokument gelöscht wird, es aus der DB entfernt wird, auch wenn es noch in anderen Ordner enthalten war.

Axel

PS: Du hast doch bestimmt auch einen realen Vornamen. Bitte unterschreibe deine Posts mit deinem Vornamen. Dadurch kann man dich persönlich ansprechen und es steigert bei vielen die Bereitschaft zu helfen. Danke.
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Ordner auflisten
« Antwort #2 am: 05.01.09 - 18:20:08 »
Hallo,

in der Mailschablone gibt es eine Ansicht ($FOLDERALLINFO). Wenn du dir diese Ansicht OHNE IRGENDWELCHE ÄNDERUNGEN in deine DB kopierst, dann kannst du eine PICKLISTCOLLECTION erstellen. Das ist deutlich performanter als die vorige Lösung.

Der Hinweis OHNE IRGENDWELCHE ÄNDERUNGEN erfolgt deshalb, weil die $FORMULACLASS dort benutzt wird, um Gestaltungselemente wie Dokumente anzuzeigen - und mit jeder Designänderung deinerseits geht genau diese Eigenschaft wieder verloren und du mußt sie per kleinem Script wieder setzen.

Gruß

Norbert
Situs vilate in isse tabernit.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Ordner auflisten
« Antwort #3 am: 05.01.09 - 18:56:02 »
Warum (in Version 7) so kompliziert?
NotesUIWokspace.PickListStrings (4, ...)

tut das auch. Und da die gleiche Funktion wie in der @Function verwendet wird, kann man noch nicht mal unbedingt von "undokumentiert" sprechen.

Bernhard

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Ordner auflisten
« Antwort #4 am: 06.01.09 - 09:33:54 »
Lieber Bernhard,

wie schön, daß ich als 6er-Programmierer mit deinen Tipps und Korrekturen so die Feinheiten und Neuerungen von Notes 7 kennenlerne. Danke.

Gruß

Norbert
Situs vilate in isse tabernit.

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Ordner auflisten
« Antwort #5 am: 06.01.09 - 16:52:27 »
... in der Mailschablone gibt es eine Ansicht ($FOLDERALLINFO).

Warum (in Version 7) so kompliziert?
NotesUIWokspace.PickListStrings (4, ...)

tut das auch.

Ich kannte beide Versionen nicht. Man lernt eben nie aus.  ;)

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Ordner auflisten
« Antwort #6 am: 06.01.09 - 17:12:38 »
Siehe hierzu auch dieses Posting von August 2008 - die Sache mit dem Parameter 4 hat auch einen Haken, der nicht verschwiegen werden soll ...

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz