Showing results 1 to 6 of 6

Thread: Filtern nach Variablen

  1. #1
    Join Date
    27.04.2020
    Posts
    16

    Default Filtern nach Variablen

    Hallo,

    wir haben ein Projekt mit sehr vielen Variablen (200000+). Hier sollen zur Laufzeit einzelne Variablen mit einer bestimmten Endung in einem Addin gefiltert werden. Aktuell setzen wir dies mit einer For-Schleife um. Das benötigt sehr viel Zeit bis alle Variablen durchlaufen sind.

    Gibt es eine Möglichkeit innerhalb eines Addins zu filtern und somit die Geschwindigkeit zu erreichen, die man innerhalb des Zenon Editors hat?

    Vielen Dank schon einmal im voraus

    mit freundlichen Grüßen

  2. #2
    Join Date
    03.11.2015
    Posts
    36

    Default Re: Filtern nach Variablen

    Hallo,

    Sie können LINQ verwenden. 
    Für eine Detailiertere Hilfe geben Sie bitte ein Beispiel an.

    mfg


     

  3. #3
    Join Date
    27.04.2020
    Posts
    16

    Default Re: Filtern nach Variablen

    Quote Originally Posted by c.f. View Post
    Hallo,

    Sie können LINQ verwenden. 
    Für eine Detailiertere Hilfe geben Sie bitte ein Beispiel an.

    mfg

    Vielen Dank schon einmal. Beispielhaft möchte ich alle Variablen mit der Endung T filtern. Könnten Sie mir ggf. ein kleines Beispiel nennen, wie ich das nun mit LINQ in VB.NET umsetzen kann? Leider finde ich in der Hilfe hierzu keine detailierten Informationen.

  4. #4
    Join Date
    03.11.2015
    Posts
    36

    Default Re: Filtern nach Variablen

    Ich selber bin mit VB leider nicht so geübt. Hier finden Sie eine Anleitung zu LINQ in VB.NET
    https://docs.microsoft.com/en-us/dot...features/linq/

    in C# würde eine Filterung mit LINQ so aussehen:

    var variablesWithT = project.VariableCollection.Where(v => v.Name.EndsWith("T"));

     

  5. #5
    Join Date
    27.04.2020
    Posts
    16

    Default Re: Filtern nach Variablen

    Quote Originally Posted by c.f. View Post
    Ich selber bin mit VB leider nicht so geübt. Hier finden Sie eine Anleitung zu LINQ in VB.NET

    https://docs.microsoft.com/en-us/dot...features/linq/



    in C# würde eine Filterung mit LINQ so aussehen:



    var variablesWithT = project.VariableCollection.Where(v => v.Name.EndsWith("T"));

    Vielen Dank nochmals. Das sieht mir schon danach aus, dass es in die richtige Richtung geht.
    Last edited by a_werner : 22nd July 2021 at 09:04

  6. #6
    Join Date
    27.04.2020
    Posts
    16

    Default Re: Filtern nach Variablen

    Dim variablesWithT = From v In main.VariableCollection Where v.Name.EndsWith("T") Select v
    Dim vars As IVariable() = variablesWithT.ToArray
    Microsoft.VisualBasic.MsgBox(vars.Length)

    Ich habe das jetzt soweit hinbekommen. Ich bekomme auch das gewünschte Ergebnis. Es ist etwas schneller aber es dauerte trotzdem relativ lange.

    Ich bin bei 6 Minuten herausgekommen. Im Vergleich zu der normalen For-Schleife. Hier betrug die Zeit 9:15 Minuten. Ein kleiner Zeitgewinn ist herausgekommen. Ich hatte mir aber tatsächlich noch etwas mehr erhofft. Wir reden allerdings auch von 214000 Variablen im Projekt. Der Zenon Editor bearbeotet die Anfragen allerdings auch deutlich schneller.

    Mache ich noch etwas falsch und ist hier wirklich das Maximum herausgeholt?

Similar Threads

  1. Alarmmeldeliste dynamisch filtern
    By tfema in forum Engineering Studio & Service Engine (former zenon Editor & Runtime)
    Replies: 1
    Last Post: 8th March 2019, 16:26
  2. Replies: 0
    Last Post: 26th March 2015, 13:30
  3. Variablen-Status nach Neustart Treiber
    By michab in forum Drivers
    Replies: 3
    Last Post: 18th July 2014, 14:56
  4. Filtern der Objektliste in Weltbild-Übersicht
    By hp in forum Engineering Studio & Service Engine (former zenon Editor & Runtime)
    Replies: 1
    Last Post: 28th May 2013, 00:39
  5. Filtern nach nicht verwendeten Variablen
    By ralfkindel in forum Engineering Studio & Service Engine (former zenon Editor & Runtime)
    Replies: 1
    Last Post: 7th December 2011, 00:55

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •