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 

aus Tabelle löschen



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!

15.04.2016, 06:47
Beitrag #1

chrissy Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Apr 2016

2015
2015
DE



aus Tabelle löschen
Hallo,

ich habe eine Tabelle, aus der ich eine Art Listenbetrieb mache. Mithilfe dieses Forums habe ich das schon ganz gut hinbekommen. Jetzt habe ich nur ein kleines Problem. Wenn ich die Liste mit 5 Werten befüllt habe und sie abarbeite und ich dann im nächsten Durchlauf nur die ersten 3 Werte haben will, wie genau lösche ich dann die Werte 4 und 5? Wenn ich sie einfach lösche, wird 0 definiert, so dass ich im nächsten Durchlauf immer eine Schleife von 5 und nicht wie gewünscht von 3 habe.

Gibt es eine Möglichkeit, statt der "0" das Feld so leer zu machen, dass es nicht angesprochen wird? Geht das mit "null"? Und wenn ja, wie mache ich das?
Ja, ich weiß, bei meinem Beispiel mit dem Tank ist es egal, ob 0 Liter nachgefüllt werden, aber man möchte das Programm ja auch so schlank wie möglich gestalten ohne sinnlose Extrarunden. Smile

LG Christina
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.04.2016, 07:55 (Dieser Beitrag wurde zuletzt bearbeitet: 15.04.2016 07:55 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: aus Tabelle löschen
Hallo Christina,

Zitat:Wenn ich die Liste mit 5 Werten befüllt habe und sie abarbeite und ich dann im nächsten Durchlauf nur die ersten 3 Werte haben will, wie genau lösche ich dann die Werte 4 und 5?
Indem du sie aus der Tabelle (aka 2D-Array) entfernst/löschst!

Zitat:Wenn ich sie einfach lösche, wird 0 definiert, so dass ich im nächsten Durchlauf immer eine Schleife von 5 und nicht wie gewünscht von 3 habe.
Wenn dem so ist, dann hast du die Elemente nicht "einfach gelöscht", sondern nur mit Null überschrieben.
"Überschreiben" ist nicht "Löschen"!

Zitat:bei meinem Beispiel mit dem Tank ist es egal, ob 0 Liter nachgefüllt werden, aber man möchte das Programm ja auch so schlank wie möglich gestalten ohne sinnlose Extrarunden.
Welches Beispiel? Welches Programm?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.04.2016, 08:05 (Dieser Beitrag wurde zuletzt bearbeitet: 15.04.2016 08:10 von Lucki.)
Beitrag #3

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

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: aus Tabelle löschen
Verstanden habe ich Dich nicht. Eine Tablelle besteht aus Zeilen und Spalten, es gibt da keine Elemente mit Index 4 und 5. Der Index ist immer zweistellig.
Des Element "Tabelle" ist ein 2D-Array aus Strings, mit zusätzlichen Eigenschaften.

Bei einem 2D-Array aus Zahlen kann ich kein einzelnes Element löschen, es muß immer die ganze Zeile oder Spalte sein.
Mit Strings geht es streng genommen auch nicht, aber immerhin können dann die Einzelelemente auch Leerstrings sein, was etwa auf das Gleiche hinauskommt, als wenn sie nicht mehr existieren.
Bei Zahlenarrays geht das nicht. Zwar kann man den Wert Null zuweisen, aber man weiß dann hinterher nicht, ob das ein echter Datenwert ist oder ob mit Inhalt Null nur ein nicht existierender Wert markiert werden soll.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.04.2016, 08:25 (Dieser Beitrag wurde zuletzt bearbeitet: 15.04.2016 08:29 von chrissy.)
Beitrag #4

chrissy Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Apr 2016

2015
2015
DE



RE: aus Tabelle löschen
Hallo GerdW und Lucki,

(15.04.2016 07:55 )GerdW schrieb:  
Zitat:bei meinem Beispiel mit dem Tank ist es egal, ob 0 Liter nachgefüllt werden, aber man möchte das Programm ja auch so schlank wie möglich gestalten ohne sinnlose Extrarunden.
Welches Beispiel? Welches Programm?

Dieses meine ich:

http://www.labviewforum.de/showthread.php?tid=28890


Also ich befülle die Tabelle mit 5 Werten wie in Bild 1. Dann habe ich 5 Durchläufe, so soll es auch sein.
Dann LÖSCHE (nicht mit "0" ersetzen) ich den 4. und 5. Wert (siehe Bild 2). Es ist also nichts im Feld, auch keine "0".
Trotzdem werden jetzt noch 5 Durchläufe ausgeführt.
Erst wenn ich das Programm schließe, neu starte und 3 Werte eintrage, werden auch nur diese 3 Durchläufe ausgeführt.

Ich hoffe nun ist verständlich, was ich meine Smile

LG Christina
(15.04.2016 08:05 )Lucki schrieb:  Bei einem 2D-Array aus Zahlen kann ich kein einzelnes Element löschen, es muß immer die ganze Zeile oder Spalte sein.

Ich benutze nur die erste Spalte, die zweite ist (bisher) von Anfang an leer.

LG Christina


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.04.2016, 08:45 (Dieser Beitrag wurde zuletzt bearbeitet: 15.04.2016 08:47 von GerdW.)
Beitrag #5

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: aus Tabelle löschen
Hallo Christina,

Zitat:Dieses meine ich:
Wo ist da ein VI von dir? Ich sehe nur Beispiele von Freddy und Lucki…

Zitat:Also ich befülle die Tabelle mit 5 Werten wie in Bild 1. Dann habe ich 5 Durchläufe, so soll es auch sein.
Dann LÖSCHE (nicht mit "0" ersetzen) ich den 4. und 5. Wert (siehe Bild 2). Es ist also nichts im Feld, auch keine "0".
Trotzdem werden jetzt noch 5 Durchläufe ausgeführt.
Welche Bilder meinst du? Dein Link zeigt auf einen Beitrag, der nur aus Text besteht…

Häng doch einfach mal dein VI an… Wall
(Und bitte für LV2014 zurückgespeichert…)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.04.2016, 09:31
Beitrag #6

chrissy Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Apr 2016

2015
2015
DE



RE: aus Tabelle löschen
Hallo GerdW,

also ich habe zusätzlich zum Link 2 Bilder angehängt, die bei mir auch korrekt angezeigt werden.
Aber ich habe das VI mal hochgeladen.

Also ich starte das Programm, trage 3 Werte ein --> 3 Durchläufe
ich trage 2 weitere Werte ein (also 5 insgesamt) --> 5 Durchläufe
ich LÖSCHE (nicht mit 0 ersetzen) die letzten beiden Werte wieder --> eigentlich 3, aber trotzdem 5 Durchläufe


LG Christina


Angehängte Datei(en)
14.0 .vi  test3.vi (Größe: 6,41 KB / Downloads: 119)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
15.04.2016, 10:04
Beitrag #7

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: aus Tabelle löschen
Schnelle Lösung.
Gruß
Freddy


Angehängte Datei(en) Thumbnail(s)
   

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.04.2016, 10:17
Beitrag #8

chrissy Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Apr 2016

2015
2015
DE



RE: aus Tabelle löschen
Ach der Freddy mal wieder Smile

Kannst du mir das erläutern?
Was genau passiert da und wo finde ich diese(s) Funktion/Symbol?

LG Christina
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.04.2016, 10:19 (Dieser Beitrag wurde zuletzt bearbeitet: 15.04.2016 10:21 von GerdW.)
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: aus Tabelle löschen
Hallo Christina,

Zitat:Also ich starte das Programm, trage 3 Werte ein --> 3 Durchläufe
ich trage 2 weitere Werte ein (also 5 insgesamt) --> 5 Durchläufe
ich LÖSCHE (nicht mit 0 ersetzen) die letzten beiden Werte wieder --> eigentlich 3, aber trotzdem 5 Durchläufe
Warum nutzt du eine Tabelle (=2D-Array of strings), um ein 1D-Array von Zahlen bereitzustellen?

Genau da liegt dein Problem!!!

Du trägst drei Werte ein: deine Tabelle enthält nun 3 Zeilen (mit nicht-leeren Strings).
Du trägst zwei weitere Werte ein: deine Tabelle enthält 5 Zeilen (mit nicht-leeren Strings).
Du löscht die letzten beiden Werte: dummerweise wird damit das Stringelement auf "leerer String" gesetzt, aber NICHT das Element an sich gelöscht!!!
Du hast jetzt eine Tabelle mit 5 Zeilen, deren letzte beiden Zeilen nun eben leere Strings enthalten!!!

Mit einem Array of I32 wäre das nicht passiert! Wall
Und mittels Debuggen hättest du das auch herausbekommen müssen…

@Freddy: Wieso soll es die Lösung sein, wenn man die Tabelle komplett löscht?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.04.2016, 10:36
Beitrag #10

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: aus Tabelle löschen
Zitat:Was genau passiert da und wo finde ich diese(s) Funktion/Symbol?
Der Teil in der For Schleife ist eine leere Konstante.
Der Tunnel steht auf "letzter Wert"
Außerhalb der Schleife, dass ist eine lokale Variable der Tabelle.

Zitat:@Freddy: Wieso soll es die Lösung sein, wenn man die Tabelle komplett löscht?
Da kein aufrufendes VI dabei war, bin ich davon ausgegangen, dass das VI immer wieder von Hand gestartet wird.
In diesem Fall müsstest Du über das Kontext Menü alle überflüssige Felder einzeln löschen und den alten Text über Doppelklick immer markieren. das erscheint mir zu umständlich.

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
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
  unnötige alte Daten aus Graph und Tabelle löschen Margi 3 3.317 24.09.2015 12:45
Letzter Beitrag: GerdW

Gehe zu: