Domino 9 und frühere Versionen > ND6: Entwicklung

mehrfache Einträge in einer Liste identifizieren

<< < (2/3) > >>

ata:
... mit @For durch die Liste laufen und prüfen ob der aktuelle Wert schon da war. War er schon da, dann ist es ein doppelter. Du nimmst also den aktuellen Wert und schaust, ob du in in deiner Prüfliste schon entahlten hast. Ist er schon drinnen, dann nimmst du diesen in eine neue Liste auf. Die zweite Liste enthält dann alle mehrfach vorkommenden Werte...

Toni

Wilhelm Weber:
Vielen dank für den Tip, ich werde es dann gleich mal angehen.

Wilhelm Weber:
so, verzweifele mal wieder ( bin kein Entwickler..)

das habe ich gebastelt mit dem Resultat, dass mir eine leere Liste angezeigt wird.

Liste:= @Trim(@Replace(Feld1:Feld2:Feld3...""; ""));

@For(n:=1;n<=@Elements(Liste);n:=n+1;
   
       temp:=temp:Liste;
       tmp :=tmp:neu;
@If(@Contains(tmp;Liste[n])=1;neu :=neu:Liste[n];""));
@If(@Contains(temp;Liste[n])=1;tmp :=tmp:Liste[n];"");

@trim(neu)

Thomas Schulte:
Aus deiner einen Liste wieder zwei machen.

Eine davon darf nur Einzelwerte enthalten.

Einmal durch ein Liste mit den eindeutigen Werten gehen und für jeden Wert in der Liste mit den Eindeutigen Werten die Anzahl der Elemente in deiner Originalliste ermitteln und an das Elemente das du gerade überprüft hast anhängen.

Anschließend diese geänderte Eindeutige Liste überprüfen und alles was <2 ist wegwerfen Das was übrig bleibt sind deine mehrfach vorkommenden Elemente.

Wie du die verarbeitest hängt davon ab was du erreichen willst. Du kannst als Ergebnis WertX existiert n mal rausbekommen oder nur noch eine Liste mit übriggebliebenen Werten.

@unique, @for, @trim, @transform @explode @if @texttonumber und @word sind dazu notwendig.

Und das Ganze geht in vier Zeilen Formelsprache, oder wenn du es aus einem Button heraus aufrufst in fünf Zeilen. Es ist allerdings schon deutlich komplexere Formelsprache.

ascabg:
Hier noch eine kleine Anregung.


--- Code: ---_L1 := "Test" : "Test" : "Test2" : "Test3" : "Test4" : "Test" : "Test2";
_L2 := "";
_L3 := "";
@Prompt([Ok]; "Anzahl"; "Anzahl: " + @Text(@Elements(_L1)));
@Prompt([Ok]; "Liste 1"; "Wert 1: " + _L1[1]);

@For
(n:=1; n<=@Elements(_L1); n:=n+1;
  @If(@IsMember(_L1[n]; _L2); _L3 := _L3 : _L1[n]; _L2 := _L2 : _L1[n])
);

@Prompt([Ok]; "Liste 2"; @Implode(_L2));
@Prompt([Ok]; "Liste 3"; @Implode(_L3))

--- Ende Code ---

oder um mit koehlerbv (Berhard) seinen ueblichen Vergleichen von Strings und Listen zu arbeiten

--- Code: ---@For
(n:=1; n<=@Elements(_L1); n:=n+1;
  @If(_L1[n] *= _L2; _L3 := _L3 : _L1[n]; _L2 := _L2 : _L1[n])
);

--- Ende Code ---


Andreas

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln