Autor Thema: Variablen Durchnummerieren  (Gelesen 5677 mal)

Offline tfrenz

  • Aktives Mitglied
  • ***
  • Beiträge: 243
  • Geschlecht: Männlich
Variablen Durchnummerieren
« am: 14.01.14 - 15:15:58 »
Gibt es eine Möglichkeit in Lotusscript durchnummerierte Variablen in einer For-Schleife abzufragen?

habe z.B. Variablen Name1, Name2, Name3, ... Name10
Nun möchte z.B. so abfragen:

For x = 0 To 10
   If name+x = "" Then
       Print "Name " + CStr(x) + " leer"
   End If
Next

Ich muss dann das ganze nicht 10x Schreiben.

Danke Thomas
Gruß
Thomas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Variablen Durchnummerieren
« Antwort #1 am: 14.01.14 - 15:23:52 »
Warum verwendest Du kein Array oder keine List Variable?

Bernhard

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Variablen Durchnummerieren
« Antwort #2 am: 14.01.14 - 15:29:45 »
Man kann den (recht simplen) Check auch in eine eigene Function auslagern.

Ich finde aber die Variante mit List bzw. Array aber wohl am geschicktesten.

Offline tfrenz

  • Aktives Mitglied
  • ***
  • Beiträge: 243
  • Geschlecht: Männlich
Re: Variablen Durchnummerieren
« Antwort #3 am: 14.01.14 - 15:30:48 »
Hallo Bernhard,

ja das würde schon gehen, aber ich möchte dann noch in der DB die entsprechenden Felder die auch Durchnummeriert sind ggf. befüllen.

Thomas
Gruß
Thomas

Offline Klafu

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.944
  • Geschlecht: Männlich
  • Remember the Cookies!
Re: Variablen Durchnummerieren
« Antwort #4 am: 14.01.14 - 15:39:07 »
Das kannst du ja mit einem Array genauso machen.
„Der einzige Mensch, der sich vernünftig benimmt, ist mein Schneider. Er nimmt jedesmal neu Maß, wenn er mich trifft, während alle anderen immer die alten Maßstäbe anlegen in der Meinung, sie paßten auch heute noch...“

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Variablen Durchnummerieren
« Antwort #5 am: 14.01.14 - 15:39:37 »
Das würde für die List-Variante, die eher wie eine Java-Map als eine Liste ist, sprechen.

List-Key = Itemname im Dokument und Schwupp kannst du die Sachen relativ bequem rüberschaufeln, wenn List-Key und Itemname übereinstimmen sollten. Oder du hast eine Chance von dem List-Key auf den Itemnamen "umzurechnen".

Array ginge natürlich auch.

Glombi

  • Gast
Re: Variablen Durchnummerieren
« Antwort #6 am: 14.01.14 - 15:40:33 »
Wenn Du über Felder mit einem Laufsuffix iterieren willst, dann nutze

notesDocument.GetItemValue("Feldname" & cstr(i))

wobei i dann die Laufvariable in einer Schleife ist.

Andreas

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Variablen Durchnummerieren
« Antwort #7 am: 14.01.14 - 16:21:18 »
Und wie befüllst Du Deine Scriptvariablen? Wenn Du dort keine Liste oder ähnliches nimmst, schreibst Du an der Stelle ja auch schon alles mehrfach.

name1 = doc.Name1 (0)
name2 = doc.Name2 (0)

So solltest Du es besser nicht machen ...


Falls es überhaupt notwendig ist, die Variablen in Script vorzuhalten, wäre das mit einer Liste sehr elegant

Dim felder List As String
For x = 0 To 10
   felder ("name" & x) = doc.GetItemValue ("name" & x) (0)
Next x

Deine Print-Routine sieht dann so aus

Forall feld In felder
   If feld = "" Then
      Print Listtag (feld) & " leer"
   End If
End If

Aus der Liste heraus füllst Du später ganz simpel die Felder des Dokuments

Forall feld in felder
   Call doc.ReplaceItemValue (Listtag (feld), feld)
End Forall

Offline tfrenz

  • Aktives Mitglied
  • ***
  • Beiträge: 243
  • Geschlecht: Männlich
Re: Variablen Durchnummerieren
« Antwort #8 am: 14.01.14 - 17:41:20 »
Danke.

hat mit der List super funktioniert.
Gruß
Thomas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz