LabVIEWForum.de - HILFE- String to Array mit Visa

LabVIEWForum.de

Normale Version: HILFE- String to Array mit Visa
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
bekomme einen string... wandle diesen in eine "number" um und möchte sie in ein array schreiben... soweit so gut jedoch hab ich das problem dass es immer den selben wert in das array schreibt d.h.:
ich bekomme 2,09... dann steht im ersten feld 2,09
anschließend bekomme ich den wert 2,43... dann steht im ersten und im zweiten feld 2,43

bitte ganz dringend um antwort

mfg


stefan

ps.: vielleicht könnte mir jemand die lösung an Stefan.Unterkircher@gmx.at schicken vielen dank
Du benutzt die Funktion 'initialize array'. Diese Funktion initialisiert einen Array auf eine vorgegebene Länge, wobei alle Array-Elemente den gleichen Wert bekommen.

Du musst 'Teilarray ersetzen' nehmen, wenn du einen Wert an eine bestimmte Stelle einfügen willst, und zwar bei jedem Durchlauf an eine andere Stelle.
Der Array sollte dann aber vorher (d.h. außerhalb der Schleife) initialisiert sein (damit nicht ständig neuer Speicherplatz angefordert wird) UND per Schieberegister in die Schleife geführt werden.

Das Beispiel zeigt in etwas wie es geht: oben so wie du es machst, unten die Version mit Schieberegister. [Wenn man den array mit NaN ('Not a Number') initialisiert, werden noch nicht besetzte Elemente in einer Graphik nicht angezeigt, was man meistens genau so will.]

-Franz
versuche doch mal folgendes:
(bezieht sich auf problem2.jpg)

nimm den inhalt der kleinen schleife in die große,
lösche kleine schleife,
"initialisiere array" vor die große schleife,
größe des initialisierten array ist die größe von N.

schick nächstes mal das VI mit, das macht sich besser für eine Korrektur!
es besteht nachwievor das selbe problem
o.k. hier ist das vi

versteh nicht ganz wie du das meinst
Stefan.Unterkircher schrieb:o.k. hier ist das vi
versteh nicht ganz wie du das meinst

Hallo Stefan,

Dein "Problem.vi" zeigt wirklich ein paar Probleme.
Die große FOR-Schleife im oberen Teil deines Blockdiagramms würde einmal zur Programmlaufzeit bearbeitet werden, wenn Du das N der Schleife verbindest.
Danach läuft nur noch die While-Schleife.

Jedesmal wenn die For-Schleide aufgerufen wird, wird das Array (Ausgangs-Array) neu initialisiert. Damit gehen auch die Daten vorheriger Durchläufe verloren.

Mein Vorschlag, auf der While-Schleife ein Schieberegister erzeugen. Dieses als Array initialisieren (siehe kleine For-Schleife).
Dann machst Du aus Deiner kleinen For-Schleife ein Sub-VI und packst das in die While-Schleife. Dann noch das initialisierte Array sprich Schieberegister mit Deinem Sub-VI verbinden und es müsste funktionieren.

Grüße
Andreas

PS: Hab mal früher ein kleines VI erstellt, welches in einer While-Schleife ein Array erstellt. Das hänge ich noch als kleine Hilfe an.
jetzt hab ich noch ein problem...

die version deines vi's ist version 8.0. leidergottes verwende ich 7.1
Habe das problem gelöst!!!

Vielen Dank nochmal an alle die mir geholfen haben


Mit freundlichen Grüßen

Stefan Unterkircher
Stefan.Unterkircher schrieb:Habe das problem gelöst!!!
Vielen Dank nochmal an alle die mir geholfen haben
Mit freundlichen Grüßen
Stefan Unterkircher

GLÜCKWUNSCH !

Sorry mit VI in V8. Da hab ich gepennt!

Gruß
Andreas
Referenz-URLs