INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Bearbeiten von Array-Elementen ohne Entfernen&Einfügen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

18.04.2006, 10:19
Beitrag #1

astraios_ Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Apr 2006



kA



Bearbeiten von Array-Elementen ohne Entfernen&Einfügen
Hallo,

ich hab mal wieder ein kleines Anfängerproblem:

Ich habe ein Array zum nach ID sortierten Speichern von CAN-Nachrichten. Es handelt sich um ein 1D-Array aus Clustern mit je drei Elementen (siehe Bild).
Eines dieser Elemente ist wieder ein Array aus Clustern - die eigentlichen CAN-Nachrichten.

Mein Problem: Wenn eine neue Nachricht eingeht, möchte ich sie entsprechend ihrer ID in das Array einfügen. Der Index ist bereits bekannt. Momentan entferne ich den entsprechenden Eintrag im Array, ändere dieses Element entsprechend ab, indem ich ihm die Nachricht anhänge und füge dieses Element dann wieder in das Nachrichten Array an der Stelle Index ein.

Das ganze ist leider etwas langsam, da dieser Vorgang wieder über 1000 mal pro Sekunde erfolgt.

Gibt es eine Möglichkeit, ein Array Element so zu bearbeiten, ohne es zu entfernen und danach wieder einzufügen?

Vielen Dank schonmal im Voraus!

Robert


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
18.04.2006, 11:16
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Bearbeiten von Array-Elementen ohne Entfernen&Einfügen
Links "Array indizieren" und rechts "Teilarray ersetzen" verwenden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.04.2006, 11:51
Beitrag #3

astraios_ Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Apr 2006



kA



Bearbeiten von Array-Elementen ohne Entfernen&Einfügen
Danke für die schnelle Antwort. Das ist tatsächlich eine elegantere Lösung Wink
Leider wird die Sache trotzdem nicht besser... es wird ja immernoch das gesamte Element quasi kopiert und an der entsprechenden Stelle wieder neu eingesetzt. Gibt es nicht irgend eine Möglichkeit, direkt mit der Referenz auf dieses Element zu arbeiten? Oder läuft das mit Indizieren und Ersetzen bereits so ab?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.04.2006, 12:03
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Bearbeiten von Array-Elementen ohne Entfernen&Einfügen
Daß es nicht scheller wird, kann daran liegen, daß Du ja eine neue Nachricht einfügst, das betreffende Element wird größer, und damit verbunden ist eine Reorganisation des Speicherplatztes für das gesamte Array.

Besser wäre, wenn Du die neue Nachricht nicht einfügst, sondern ersetzt. D.h der ursprüngliche Cluster müßte schon irgendein blabla der gleichen Bytezahl enthalten wie die neue Nachricht.

Aber ich denke auch so wie Du, daß es da noch irgend etwas anderes geben könnte, so ewas, was vergleichbar wäre mit dem "Assembler Code" für zeitkritische Programmteile. Ich bin aber nur ein einfacher Hardware-Handwerker, dem diese höheren Weihen der Programmerkunst verschlossen sind. Aber vielleicht kann Dir jemand anderes hier helfen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.04.2006, 12:20
Beitrag #5

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
Bearbeiten von Array-Elementen ohne Entfernen&Einfügen
Ich würde da die Benutzung von Queues vorschlagen.

Gruss, Eugen
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Kein leeren sondern gar kein String in Array einfügen Philipp_O 3 3.371 25.08.2022 15:06
Letzter Beitrag: Kiesch
  HTML Tags entfernen ares2013 8 7.522 24.06.2021 11:01
Letzter Beitrag: ares2013
  aus LV komponenten entfernen... gottfried 3 3.856 10.01.2019 15:54
Letzter Beitrag: gottfried
  Wert aus 1-D Array entfernen Stephan235 2 3.476 16.03.2018 15:53
Letzter Beitrag: Stephan235
  Queuereferenz in Array einfügen - Fehler t.hipp 3 3.371 07.02.2018 17:32
Letzter Beitrag: t.hipp
  Gruppieren von anderen Frontpanel Elementen mit Tab Control Ksanto 5 4.404 20.09.2017 08:22
Letzter Beitrag: GerdW

Gehe zu: