LabVIEWForum.de
Active-X (Container mit Kalender) - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: ActiveX & .Net (/Forum-ActiveX-Net)
+---- Thema: Active-X (Container mit Kalender) (/Thread-Active-X-Container-mit-Kalender)

Seiten: 1 2 3


Active-X (Container mit Kalender) - computerdigitec - 03.01.2007 10:38

Hallo zusammen!

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!

Vielen Dank schon mal im Voraus!

Grüsse
Claudio


Active-X (Container mit Kalender) - Y-P - 03.01.2007 20:18

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


Active-X (Container mit Kalender) - A.Berndsen - 04.01.2007 10:36

Hallo Claudio,

warum verwendest Du nicht einfach eine Zeitstempel-Eingabe ?

Gruß
Andreas
[attachment=4497]


Active-X (Container mit Kalender) - computerdigitec - 06.01.2007 08:16

' schrieb:Hallo Claudio,

warum verwendest Du nicht einfach eine Zeitstempel-Eingabe ?

Gruß
Andreas
[attachment=30773:image4.gif]


Hey!!!!! Vielen Dank für den Hinweis!

Ja, das sieht genial aus!
Ich werde gleich mal Dein VI anschauen!
Vielen Dank!

Grüsse
Claudio


Active-X (Container mit Kalender) - Lucki - 06.01.2007 09:01

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


Active-X (Container mit Kalender) - cb - 06.01.2007 09:37

' 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 TapeteWink


Active-X (Container mit Kalender) - Lucki - 07.01.2007 12:06

@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


Active-X (Container mit Kalender) - Y-P - 07.01.2007 13:45

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. Big Grin

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. Big GrinGlare

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 Rolleyes

' 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



Active-X (Container mit Kalender) - Lucki - 07.01.2007 16:42

' 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


Active-X (Container mit Kalender) - Y-P - 07.01.2007 17:05

Hallo,

das freut mich zu hören. Big Grin
So oft wie ich das brauche, werde ich auch bei der nächsten Verwendung wieder auf mein eigenes Tutorial zurückgreifen. Lol
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. Wacko
Das "Tutorial" sollte aber ja auch nur als Grundlage dienen. Wink

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