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!
08.03.2007, 10:01 (Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2007 10:02 von Bettina.)
Ich hab ein Problem, und zwar möchte ich, dass wenn ich einen Wert in ein Feld (egal ob Text-, Zahlen, oder sonstein- Feld) eingebe mir dieser Wert beim nächsten Programmstart erhalten bleibt, also der Standardwert geändert wird. Ich denke da gibts sicher einen Methodenknoten, aber den finde ich nicht und die LabVIEW- Hilfe war mir dabei auch keine besondere Hilfe.
Danke schonmal im Voraus.
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Standardwert neu setzen
Probier's mal mit "Edit"->"Make current values default" und gehe dann auf Speichern.
Jedes Mal wenn Du dann Dein VI öffnest, sind diese Werte automatisch in Deinen Controls.
Oder Du "initialisierst" die Controls vor der Schleife mit einem Property-Node.
Gruß Markus
' schrieb:Hallo Leute.
Ich hab ein Problem, und zwar möchte ich, dass wenn ich einen Wert in ein Feld (egal ob Text-, Zahlen, oder sonstein- Feld) eingebe mir dieser Wert beim nächsten Programmstart erhalten bleibt. Ich denke da gibts sicher einen Methodenknoten, aber den finde ich nicht und die LabVIEW- Hilfe war mir dabei auch keine besondere Hilfe.
Danke schonmal im Voraus.
lg
Bettina
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Ja, das ginge, aber ich will aus dem Programm später mit dem AppBuilder ein .exe machen und dann ist die Menüleiste nicht mehr vorgesehen.
Was ist ein Property node? Sorry, aber hab nur die deutsche Version von LabVIEW.
lg
Bettina
08.03.2007, 10:35 (Dieser Beitrag wurde zuletzt bearbeitet: 08.03.2007 10:54 von Mr.T.)
Eigenschaftsknoten.
Versuch mal: rechtsklich auf ein Bedienelement, aber im Blockdiagramm -> erstellen Eigenschaftsknoten dann suchst Du Dir z.B. die Eigenschaft "Wert" aus. Und da schreibst Du einen Wert mittels Konstante rein.
Edit: A so! Auf dem Node dann rechtsklick "in schreiben ändern", dann ist der Anschluss "links":D
Aber sauberer ist die Variante mit lokaler Variable. Rechtsklick -> erstellen ->lokale Variable. Da gibt es schon etliche Postings im LVF zu, weshalb diese Variante einem Eigenschaftsknoten vorzuziehen ist.
Oder am allerbesten: Shift-Register, das wird dann aber sicher ein Aufwand, das im Nachhinein zu ändern..
Gruß
Mit einem freundlichen Wort und etwas Gewalt erreicht man viel mehr als nur mit einem freundlichen Wort. [...Marcus zu Lennier, B5]
ich habe mal eine Frage zu dem Thema...
Und zwar brauche ich, dass das Eingabefeld an sich jedes mal nach einer Eingabe neu als Standardwert eingestellt wird.
Nicht nur der aktuelle Wert, den man manuell als Standardwert einstellt.
Die Eingabefelder sind nur mit Eingabe eines Passwortes zugänglich.. somit ist es sicher gestellt,
dass derjenige der da was einstellt es auch so möchte.
Ist sowas überhaupt möglich? Mit einem Eigenschaftsknoten vielleicht habe ich gelesen?
Gruß
Marvin
20.08.2018, 10:36 (Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2018 10:36 von GerdW.)
Zitat:Und zwar brauche ich, dass das Eingabefeld an sich jedes mal nach einer Eingabe neu als Standardwert eingestellt wird.
Nicht nur der aktuelle Wert, den man manuell als Standardwert einstellt.
Kannst du das nochmal genauer erläutern?
Welcher Wert soll wann genau als "Standard" eingestellt werden?
Und was an der Lösung hier im Thread (mit der INI-Datei) gefällt dir nicht?
Dieses Eingabefeld soll sich jeden Eingabewert "merken" und beim nächsten Aufruf wieder anzeigen.
Dies wäre eine typische Anwendung für eine LV2-style-global aka FGV: einfach ein uninitialisiertes Schieberegister verwenden und darin den Wert speichern…
(20.08.2018 10:36 )GerdW schrieb: Und was an der Lösung hier im Thread (mit der INI-Datei) gefällt dir nicht?
Also ich bin mir nicht so sicher diese Lösung bzw., die Vorgehensweise verstanden zu haben.
Heißt das ich soll die Werte der Eingabefelder in eine Datei speichern?
Lesen, eventuell schreiben und dann überschreiben, so dass sie beim nächsten mal Ausführen wieder da sind?
Im Grunde genommen ist das schon was ich brauche, nur dass ich eigentlich keine Datei dafür erstellen wollte.
Ich möchte lediglich eine Eingabe in ein Eingabefeld machen und dass dieser Wert dann automatisch übernommen wird und als Standardwert gelesen wird. Wenn ich das Programm neu öffne soll genau dieser Wert stehen. Wenn ich dann aber diesen Wert ändere und das Programm schließe soll der neu geschriebene Wert angezeigt werden und nicht das vorige.
Sozusagen eine Standard-Eingabe und kein Standard-Wert. Jede neue Eingabe wird in diesem Fall zum Standardwert.
Konnte ich das verständlich rüberbringen oder ist es noch etwas konfus was ich machen möchte?
Wenn das nur mit einer Datei machbar ist, muss ich mich da mal schlau machen, wie man das programmiert. Oder mit dem uninitialisiertem Schieberegister..
Gruß
Marvin
20.08.2018, 13:31 (Dieser Beitrag wurde zuletzt bearbeitet: 20.08.2018 13:33 von GerdW.)
Zitat:Ich möchte lediglich eine Eingabe in ein Eingabefeld machen und dass dieser Wert dann automatisch übernommen wird und als Standardwert gelesen wird. Wenn ich das Programm neu öffne soll genau dieser Wert stehen.
Du möchtest also die letzte Eingabe speichern und beim nächsten Aufruf als voreingestellten Wert anzeigen?
Nimm eine Datei!
Zitat:Wenn ich dann aber diesen Wert ändere und das Programm schließe soll der neu geschriebene Wert angezeigt werden und nicht das vorige.
Der "neue" und nicht der "vorige"…
Zitat:Konnte ich das verständlich rüberbringen oder ist es noch etwas konfus was ich machen möchte?
Naja.
Zitat:Sozusagen eine Standard-Eingabe und kein Standard-Wert. Jede neue Eingabe wird in diesem Fall zum Standardwert.
Der zuletzt eingegebene Wert soll beim nächsten Aufruf als voreingestelltet Wert angezeigt werden.
Nimm eine Datei!
Zitat:Wenn das nur mit einer Datei machbar ist, muss ich mich da mal schlau machen, wie man das programmiert.
Datei öffnen, Wert reinschreiben oder lesen, Datei schließen. Ganz simpel!
Zitat:Oder mit dem uninitialisiertem Schieberegister..
Das bringt dir nichts, wenn du dein Programm "erneut öffnest" - da ist dann natürlich nicht der vorige Wert im Schieberegister gespeichert…
Aber solange dein Programm nicht beendet wird, kannst du Daten sehr gut in Schieberegistern speichern!
Natürlich gibt es Alternativen zu Dateien: ein Key in der Windows-Registry, ein Datenbank-Eintrag (letztendlich auch eine Datei, kann aber "sonstwo" liegen) Macht deine Anfrage aber auch nicht einfacher!
Nochmal: wenn du Daten über das Programmende hinaus sichern willst, musst du Dateien anlegen…
(Funktioniert bei anderer Software, wie z.B. dem Officepaket, wirklich prima!)