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!
Ich möchte mir gerne ein kleines Progrämmchen basteln, welches ich als Pendenzenliste verwenden möchte. Wenn ich einen neuen Eintrag erstelle, muss ich unter anderem den Endtermin eingeben.
Dazu wäre es schön, wenn ich diesen von einem Kalenderähnlichen Objekt auswählen könnte, so dass ich weiss, ob dies ein Montag oder Sonntag (etc.) ist!
Ich kann im Frontpannel einen Kontainer setzen, bei welchem ich das Objekt "Kalendersteuerelement 11" auswähle.
Nun habe ich folgende Probleme:
- Zu begin, wenn das VI (und somit dieser Kalender) aufgerufen wird, möchte ich, dass immer der aktuelle Tag markiert ist. (z.B. über Eigenschaftsknoten) Doch wie mache ich das? Der Kontainer verlangt Variant Daten. Ich habs schon mit einem Zeitstempel versucht, der mittels der Funktion "Daten nach Variant" verbunden wurde. Aber LV bring mit hier immer einen Fehler.
- Das zweite Problem ist dann natürlich: wie bringe ich das Datum heraus, welches der Benutzer ausgewählt hat?
Ich vermute, dass dahinter Active X steckt. Doch davon habe ich leider keine Ahnung!
Deshalb wäre ich froh, wenn jemand zwei kleine Beispiele machen könnte, wie ich diese Daten setzen, bzw. auslesen kann!
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Active-X (Container mit Kalender)
Hallo,
hier findest Du ein Beispiel http://zone.ni.com/devzone/cda/epd/p/id/3722 , welches ich aber auch gleich als VI (für LabVIEW 8.0, darunter läuft es nicht) angehängt habe. Vielleicht hilft Dir das weiter.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Habe mit das Beispiel Kalender_Auswahl.vi angeschaut und bin wieder mal erstaunt, was man LV so alles machen kann. Leider habe ich nicht die geringste Ahnung von allem, was mit .NET zusammenhängt. Kann mir vielleicht jemand diese Frage beantworten:
Wie gehe ich vor, wenn ich, ausgehend von einem leeren VI und ohne das Beispiel von NI zu verwenden, den Kalender haben möchte?
Oder anderes herum gefragt:
Was bedeutet der Satz von NI, der das Beispiel erläutern soll: "The Month Calendar .NET control installs with the .NET Framework."
' schrieb:Habe mit das Beispiel Kalender_Auswahl.vi angeschaut und bin wieder mal erstaunt, was man LV so alles machen kann. Leider habe ich nicht die geringste Ahnung von allem, was mit .NET zusammenhängt. Kann mir vielleicht jemand diese Frage beantworten:
Wie gehe ich vor, wenn ich, ausgehend von einem leeren VI und ohne das Beispiel von NI zu verwenden, den Kalender haben möchte?
Oder anderes herum gefragt:
Was bedeutet der Satz von NI, der das Beispiel erläutern soll: "The Month Calendar .NET control installs with the .NET Framework."
Ludwig
nuja, du erstellst so einen ".NET Container" - das ist quasi die leere Hülle für ein x-beliebiges .NET Objekt und dann klickst du da mit rechts drauf und wählst aus der ausgewählten Bibliothek das gewünschte .NET Control aus. Der Date-Time-Picker ist z.B. in System.Windows.Forms (wenn du .net installiert hast ...)
Dann hast du ein .NET Control erstellt. Bearbeiten, Werte verändern, etc. funktioniert wie bei ActiveX über Methoden- und Eingenschaftsknoten. Das ganze ist relativ ähnlich zu ActiveX-Programmierung in LV - wird also wieder ne Tapete
@i2dx
Vielen Dank für die Antwort, aber ich sehe schon, hier habe ich überhaupt keine Ahnung, nicht mal von ActiveX. ( Container kenne ich immerhin schon als Begriff aus dem Verkehrswesen, aber als LV-Funktion war es für mich nicht auffindbar)
Ludwig
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Active-X (Container mit Kalender)
Hallo Lucki,
ich versuche mal etwas Licht ins Dunkel zu bringen, obwohl ich auf dem Gebiet auch kein Experte bin, da das alles (ActiveX, .NET,...) sehr umfangreich ist.
Bei meinem Kalender-Beispiel musst Du zuerst unter "Connectivity"->".NET" einen Property-Node auswählen und an seinem "reference"-Eingang einen Rechtsklick machen. Dann kannst Du unter "Select Class"->".NET"->"Browse" den vorletzten Eintrag [System.Windows.Forms(1.0.5000.0)] auswählen und darin dann "System.Windows.Forms" doppelklicken. Darin findest Du dann letztendlich das Objekt "Month calendar", das Du dann auch auswählst.
Ähnlich funktioniert es auch bei ActiveX. Ich habe Dir dazu ein Beispiel mit dem Internet-Explorer reingepackt.
Da gehst Du unter "Connectivity"->"ActiveX" und wählst "Automation Open" aus. Du machst einen Rechtsklick am Ein- oder Ausgang auf "Automation Refnum" und wählst dann über "Select ActiveX Class" -> "Browse" den Eintrag "Microsoft Internet Controls Version 1.1" aus.
Darin wählst Du dann "WebBrowser (Shell.Explorer.2)" und da zum Schluss noch den Unterpunkt "IWebBrowser2".
Dann kannst Du am Ausgang (Automation Refnum) eine "Property" ("Create"->"Property") erstellen, in dem Fall "Full Screen".
Bei "Full Screen" am Ausgang wird dann wieder eine "Property" erstellt (Visible).
Dann braucht man noch einen Invoke-Node unter "Connectivity"->"ActiveX".
Wird nun der Ausgang der Property "Visible" noch mit dem Eingang des Invoke-Node verbunden, kannst Du schon die Methode (in dem Fall "Navigate") auswählen. Jetzt noch die Eingänge der Properties und des Invoke Nodes anschließen und fertig........
Ich hoffe, dass das nicht zu sehr verwirrend war.
Hier siehst Du aber, dass es bei der riesigen Auswahl an Klassen sehr schwierig sein kann, die richtige zu finden. Woher man das weiß, kann ich Dir nicht sagen, aber evtl. hilft es da, bei Microsoft nachzuhaken.
Gruß Markus
Edit: Dann hänge ich gleich noch ein Mediaplayer-Beispiel (inkl. 2 Testdateien) an.
Edit 2: Die Beispiele gibt es auch unter http://www.ni.com
' schrieb:@i2dx
Vielen Dank für die Antwort, aber ich sehe schon, hier habe ich überhaupt keine Ahnung, nicht mal von ActiveX. ( Container kenne ich immerhin schon als Begriff aus dem Verkehrswesen, aber als LV-Funktion war es für mich nicht auffindbar)
Ludwig
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
07.01.2007, 16:42 (Dieser Beitrag wurde zuletzt bearbeitet: 07.01.2007 16:44 von Lucki.)
' schrieb:Hallo Lucki, ich versuche mal etwas Licht ins Dunkel zu bringen,
Vielen herzliche Dank, daß Du so viel von Deiner Zeit (und noch dazu am Sonntag) für mich - und hoffentlich nicht nur für mich allein - geopfert hast. Es funktioniert alles so, wie Du es beschrieben hast, und auch die Beispiele funktionieren. Natürlich ist man mit dem einmaligen Nachmachen noch lange nicht Meister. Ich habe mir alles in einen extra Ordner abgespeichert und wenn ich das echt brauche, dann wird mir Dein Tutorial eine ausgezeichnete Hilfe sein.
Also nochmals vielen Dank!
Ludwig
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Active-X (Container mit Kalender)
Hallo,
das freut mich zu hören.
So oft wie ich das brauche, werde ich auch bei der nächsten Verwendung wieder auf mein eigenes Tutorial zurückgreifen.
Und wenn man mal was anderes als "Mediaplayer", "Kalender" oder "Internet Explorer" möchte, dann sollte man, wie gesagt, zuerst mal bei Microsoft nachhaken, weil man sich die Bezeichnung der Funktionen ja nicht aus dem Ärmel schütteln kann. Da gibt es ja tausende.
Das "Tutorial" sollte aber ja auch nur als Grundlage dienen.
Gruß Markus
' schrieb:Vielen herzliche Dank, daß Du so viel von Deiner Zeit (und noch dazu am Sonntag) für mich - und hoffentlich nicht nur für mich allein - geopfert hast. Es funktioniert alles so, wie Du es beschrieben hast, und auch die Beispiele funktionieren. Natürlich ist man mit dem einmaligen Nachmachen noch lange nicht Meister. Ich habe mir alles in einen extra Ordner abgespeichert und wenn ich das echt brauche, dann wird mir Dein Tutorial eine ausgezeichnete Hilfe sein.
Also nochmals vielen Dank!
Ludwig
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------