LabVIEWForum.de - Text-Eingabe mit History

LabVIEWForum.de

Normale Version: Text-Eingabe mit History
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Ich suche eine Bedienelement, welches es in LabVIEW selbst nicht zu geben scheint.
Es ist ein ganz einfaches Problem: Bei einem Meßplatz soll der Name des Testers im Protokoll erscheinen. Es handelt sich meist um dieselben Personen, aber wie es so ist im Leben, die Leute kommen und gehen.
Ein ideale Eingabemöglichkeit wär eine Eingabe wie beim URL-Feld im Internet-Explorer: Wenn es sein muß, kann man einen neuen Namen eingeben, muß das aber nicht, da a) der zuletzt verwendete Namen schon vorgegeben ist und b) durch Mausklick auf eine Pfeilschaltfläche aus der Historie der letzten Eingaben einer ausgewählt werden kann.
Leider verstehe ich nichts von ActiveX, ich könnte mir gut vorstellen, daß daß man dort so ein Eingabeelement "besorgen" könnte. Kann mir da jemand helfen? Oder hat jemand eine Idee, wie man den gleichen Eingabe-Komfort anderes realisieren könnte?
OK, beim Beenden/Starten das Programms müssen die History-Daten natürlich gespeichert/gelesen werden, aber darum würde ich mich schon kümmern, wenn ich nur erst mal das richtige Bedienfeld hätte.
Ich benutze dazu die Combo Box aus der String und Path Palette.

Gruss
Hallo Lucki,

wie Eugen schon sagt, mit der Combobox oder mit dem Kombinationsfeld sollte das lösbar sein.
Ich hab Dir spaßhalber ein kleines Demo als Anregung erstellt. Quick and dirty.

Grüßle
Andreas
Herzlichen Dank Euch beiden, ja, genau das habe ich gesucht. Jetzt mache ich mich umgehend dran das zu verstehen und und zu verwenden, und wenn ich dazu noch eine Frage haben sollte, dann melde ich noch noch mal.
Grüße Ludwig
Inzwischen habe ich das Beispiel von Andreas versucht zu verstehen und dann versucht etwas vereinfachen. Dabei bin ich auf diese Mutante gekommen. Den zuletzt eingegebenen Wert stelle ich in den Strings[] immer auf Index 0, und zwar auch dann, und wenn der Wert aus den Strings[] selbst stammt (dann muß der doppelt vorhandene Wert gelöscht werden). Der Vorteil ist, daß ich beim Abspeichern der History beim Beenden des Programms nicht noch mit abspeichern muß, welches der zuletzt benutze Wert war: Es ist immer der Wert mit Index 0 in den Strings[].
Nochmals vielen Dank für eure Unterstützung!
Hab euer Vi noch einmal abgeändert, jetzt ist es bequem als sub-VI nutzbar. Der Input ist ne Referenz auf die Combi-Box, man muss nichts anderes anschliessen. Auf die Art ist es bequem in Ereignis-Strukturen nutzbar, da im "On change" schon ne Referenz verfügbar ist.

Es ist in LabVIEW 8.2 gespeicher, hoffe das können die meisten laden.
Hallo zusammen,
ich realisiere in meinem Programm genau die oben angegebene Funktion. Gibt es eine Möglichkeit, dass die neu hinzukommenden Benutzer auch nach der Laufzeit des Programmes zur Verfügung stehen, ohne die Werte in einer externen Datei sichern zu müssen und das Combinationsfeld bei jedem Neustart des VI's mit diesen Werten initialisieren zu müssen? Ich dachte z.B. daran, die neuen Werte am Ende des VI's (also noch zur Laufzeit) als neue Standard-Werte festzulegen, dass funktioniert aber nicht, da Standard-Werte nur im Bearbeitungsmodus gespeichert werden können.

Und gleich noch eine Frage zu Kombinationsfeldern: Bei jedem Aufruf des Messschrittes, indem der Prüfer zu wählen ist, erscheint bei mir der String "Bitte wählen...!" und über die Eigenschaft "TastenFocus" markiere ich das Kombinationsfeld. Ist es nun zusätzlich (oder nur) möglich, den Text "Bitte wählen...!" zu markieren, so dass der Anwender a.) bei dem Drücken eines beliebigen Buchstaben auf der Tastatur automatisch einen neuen Namen eingibt oder b.) beim Klick mit der Maus auf das Kombinationsfeld einen Namen aus der History auswählt?

Ich verwende übrigens die NI Developer Suite Aug 2008 mitLv86_img

Dank im voraus Rolleyes
Hallo DG1BGS,
wird deine Anwengung später einmal als Executable laufen? Sollte dies der Fall sein, dann funktioniert das mit dem Werte als "default" speichern nicht. Läßt du es aber später in der Entwicklungsumbegung laufen dann könntest du ein parallel laufendes VI starten, das andere vi stoppen, aber nicht schließen und von dem parallel laufenden VI aus die Werte des anderen als standard setzten.

Mike
' schrieb:Hallo DG1BGS,
wird deine Anwengung später einmal als Executable laufen? Sollte dies der Fall sein, dann funktioniert das mit dem Werte als "default" speichern nicht. Läßt du es aber später in der Entwicklungsumbegung laufen dann könntest du ein parallel laufendes VI starten, das andere vi stoppen, aber nicht schließen und von dem parallel laufenden VI aus die Werte des anderen als standard setzten.

Mike

Ich finde diesen Ratschlag vollständig kontraproduktiv!

Ein Tool nur in der Entwicklungsumgebung laufen zu lassen ist IMHO der totale Unsinn! Da kann ja jeder dran rumwurschteln...Also: Exe machen! Das speichern der Standardwerte ist ja auch überhaupt kein Problem, da gibts diverse Techniken die alle schon mehrfach hier im LVF beschrieben wurden! Musste mal suchen...

Zum eigentlichen Problem:
Nein, das geht nicht! Du musst die Werte irgendwo extern sichern und dann immer wieder laden!

Zur zweiten Frage: Du kannst das mit einem Property mit der Eigenschaft "Text...Selection...All Elements" realisieren. Die Grenzen auf "0" und "Stringlänge" setzen, damit ist der Text markiert und wird bei Eingabe eines neuen Zeichens gelöscht! Allerdings hab ich den Eindruck, das das markieren ein bisschen buggy ist, bei mir funzt das nämlich auch nicht immer...

Gruß
Achim
' schrieb:Ich finde diesen Ratschlag vollständig kontraproduktiv!

Ein Tool nur in der Entwicklungsumgebung laufen zu lassen ist IMHO der totale Unsinn! Da kann ja jeder dran rumwurschteln...Also: Exe machen! Das speichern der Standardwerte ist ja auch überhaupt kein Problem, da gibts diverse Techniken die alle schon mehrfach hier im LVF beschrieben wurden! Musste mal suchen...
...

toller Spruch, ist richtig motivierend soetwas in einem Forum zu lesen. Immerhin besteht die Möglichkeit das es nur ein Tool zur Entwicklungsunterstüzung wird und dann kann es unter umständen gar nicht als EXE laufen. *Daumenhochundweiterso*

Mike
Seiten: 1 2
Referenz-URLs