Ausnahmen bei Arrays
Hallo,
ich habe ein Problem mit Arrays und Ausnahmen:
Ich habe mir eine Datenbank für meine Bienenvölker erstellt. In diese Datenbank werden Bearbeitungen und Beobachtungen zu den einzelnen Völkern eingetragen. Es gibt aber auch wiederkehrende Arbeiten wie das Füttern und das Behandeln der Völker. Diese Arbeiten sollen nicht einzeln über die Völker erfasst werden, sondern über den ganzen Stand. Diese Funktion ist bereits implementiert. Jedoch gibt es von jeder Regel eine Aussnahme, einzelne Völker brauchen kein Futter mehr etc.. Um diese Sonderfälle abzufangen würde ich gerne die Beutennummern der Völker angeben die ausgenommen werden diese Nummern werden dann vom Script nicht mehr beachtet. Natürlich habe ich mir schon eigene Gedanken gemacht aber diese führen leider noch nicht zum Ziel:
let ABeutennummern := split(Beutennummern, ",");
let AAusnahmen := split(Ausnahmen, ",");
let controler := 0;
let counter := 0;
if 'Anwenden auf' = 1 then
if Standort = null or 'Datum Fütterung' = null or 'Art Fütterung' = null or Futter = null or Mischung = null then
alert("Es wurden nicht alle Parameter angegeben!");
ABeutennummern := null
else
for v in select Volk do
if last(v.Ertrag.Wanderung.Standort) = Stand then
for a in AAusnahmen do
if number(a) = number(v.'Nr. Beute') then
controler = 1;
counter := counter + 1
end
end;
if controler = 0 then
Beutennummern := Beutennummern + v.'Nr. Beute' + ","
end;
controler = 0
end
end;
ABeutennummern := split(Beutennummern, ",");
Beutennummern := null
end;
alert(ABeutennummern + " " + counter)
else
if Beutennummern = null or 'Datum Fütterung' = null or 'Art Fütterung' = null or Futter = null or Mischung = null then
alert("Es wurden nicht alle Parameter angegeben!");
ABeutennummern := null
end
end;
Zur Erleuterung:
Ich bilde ein Array mit allen Beutennummern am ausgewählten Stand. Die Beutenummern welche die Ausnahme bilden sind in einem zweiten Array gespeichert. Jede Beutenummer am Stand wird mit dem Array verglichen und soll bei Gleichheit nicht in das neue aufgenommen werden.
Vielleicht kan mir einer von Euch weiterhelfen.
Vielen Dank und Gruß
Micha
2 Antworten
-
Hallo Micha,
Ist es nicht einfacher zuerst aus Beutenummern und Ausnamen einen Array der zugelassenen Beutenummern zu erstellen?
---
let Zugelassen:=
for i in split(Beutennummern, ",") do
let myFlag:=false;
for j in split(Ausnahmen, ",") do
if j=i then myFlag:=true
end;
if myFlag=false then i
end
---
Dann ist Zugelassen ein Array, bestehend nur aus zugeleassenen Nummern.
Leo
-
Hallo Leo,
genau danach habe ich gesucht.
Vielen Dank
Micha
Content aside
- vor 4 JahrenZuletzt aktiv
- 2Antworten
- 351Ansichten