Autor Thema: Array-Werte abarbeiten  (Gelesen 1500 mal)

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Array-Werte abarbeiten
« am: 18.01.04 - 19:50:25 »
Hi,

ich habe folgendes Script (wesentlicher Auszug):
Code
Set doc = collection.GetFirstDocument()
   
While Not(doc Is Nothing)  
   If Not doc.FolderName(0) = "" Then
      szFolder = doc.FolderName(0) 
      Call doc.PutInFolder( szFolder, True )
   End If
   Set doc = collection.GetNextDocument(doc) 
Wend

Das String bzw. Array "szFolder" enthält eine Liste von Foldernamen,
z.B.
- Folder 1
- Folder 2
- Folder 3

Hier wird aber durch Call doc.PutInFolder( szFolder, True ) das Dok nur im 1. Folder angelegt (klar, wegen dem "szFolder = doc.FolderName(0)" ).

Wie muss ich das Script erweitern, dass nach und nach alle Array-Einträge abgearbeitet werden?

Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline animate

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.540
  • Uh, I'm just gonna go find a cash machine.
    • LA2
Re:Array-Werte abarbeiten
« Antwort #1 am: 18.01.04 - 20:01:21 »
evtl. eine ForAll (oder heißts ForEach??)-Schleife über die Werte des Felds

ForAll vaFolder in doc.GetFirstItem(ITEM_NAME).Values
   hier kanns passieren, dass du vaFolders (Typ Variant) noch in einen String casten musst
End ForAll (oder wars Next??)


oder natürlich mit For..Next
« Letzte Änderung: 18.01.04 - 20:57:18 von Thomas Völk »
Thomas

Fortunately, I'm adhering to a pretty strict, uh, drug, uh, regimen to keep my mind, you know, uh, limber.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Array-Werte abarbeiten
« Antwort #2 am: 18.01.04 - 20:45:57 »
szFolder würde lt. Hungarian Notation auf einen String schliessen lassen  - das dürfte dann kein Array sein ;-)

Wenn Du weisst (!), dass es sich um Array handelt mit
Dim aFolders (0 to 2) as String
aFolder (0) = "Folder1"
aFolder (1) = "Folder2"
aFolder (2) = "Folder3"

dann geht folgendes am einfachsten:
For iLoop = 0 to Ubound (aFolders)
    ... Dein Code
Next

Durch Ubound musst Du Dich auch nicht um die Dimensionen des Array zu kümmern. Sagst Du auch noch
For iLoop = Lbound (aFolders) ...
braucht Dich Option Base nicht zu kümmern (was standardmässig o ist)

Hast Du noch keinen Plan, ob vFolders as Variant ein String oder Array ist, kannst Du vorab noch testen auf
IsScalar bzw.
IsArray

HTH,
Bernhard

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:Array-Werte abarbeiten
« Antwort #3 am: 18.01.04 - 21:18:03 »
Man kann natürlich auch so wie Thomas das gesagt hat die Values in ein Variant schreiben, das kommt in jedem Fall als Array daher, und das dann mit einem Forall .... End Forall abarbeiten.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re:Array-Werte abarbeiten
« Antwort #4 am: 19.01.04 - 20:56:10 »
Danke für Eure Hilfe.

ForAll zu nehmen liegt ja hier wirklich auf der Hand, habe es damit gemacht.

Grüße,
Matthias
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz