INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

COM-Port in Registry speichern



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!

26.02.2024, 17:04
Beitrag #1

Kaya Offline
LVF-Grünschnäbelin
*


Beiträge: 39
Registriert seit: Jul 2023

16
2019
DE


Deutschland
Rainbow COM-Port in Registry speichern
Hallo liebe LV-Gemeinde,

ich habe ein VI, das mit drei Generatoren über drei serielle Schnittstellen kommuniziert. Den entsprechenden Port muss ich händisch auswählen, was auch so bleiben soll.

Ich möchte nun zusätzlich, dass ich den letzten verwendeten Port für alle drei Tests beim Anklicken der entsprechenden Registerkarte (Reiter "Test 1", "Test 2", "Test 3") auslese.
Wenn ich bei der letzten Nutzung des Programmes für Test 3 COM4 eingestellt hatte, soll das wieder eingestellt sein. Klicke ich auf "Test 2" dann entsprechend COM3 o. ä. ...
Ich habe das VI auf die entsprechende Initialisierung der Ports reduziert um die Problemstellung zu verdeutlichen.

Muss ich die Werte in die Windows registry schreiben und falls ja, kann mir jemand erklären, wie das funktioniert?
Ich freue mich auf Eure Vorschläge

Liebe Grüße
Kaya


Angehängte Datei(en)
16.0 .vi  Registry Frage.vi (Größe: 68,24 KB / Downloads: 212)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
26.02.2024, 19:45 (Dieser Beitrag wurde zuletzt bearbeitet: 26.02.2024 19:47 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: COM-Port in Registry speichern
Hallo Kaya,

Zitat:Muss ich die Werte in die Windows registry schreiben und falls ja, kann mir jemand erklären, wie das funktioniert?
Man kann die Registry benutzen, muss es aber nicht. Ich würde sie nur sehr selten noch nutzen...

Stattdessen sollten Programme ihre Config-Daten im Benutzerverzeichnis (unter %userappdata%) ablegen. Dort hast du IMMER Schreibrechte und kannst nach Belieben Dateien anlegen/auslesen.
Also einfach deine Config-Daten in einem INI-File speichern und beim Start deines Programms wieder einlesen…

Zu deinem VI:
- Viel zu viele Sequenzen.
- Und dann noch stacked sequences: noch schlimmer!
-> THINK DATAFLOW! und nutze Drähte, um eine Reihenfolge des Codes zu definieren!
- Viel zu viele Warte-Funktionen!
- Und dann noch parallel zu einer Event-Struktur, deren TimeOut-Eventcase EWIG wartet: das ist reiner Rube-Goldberg!

Also bitte den Code verbessern und strukturieren…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.02.2024, 07:48 (Dieser Beitrag wurde zuletzt bearbeitet: 27.02.2024 08:01 von th13.)
Beitrag #3

th13 Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 178
Registriert seit: Oct 2013

2020 SP1
2013
EN


Deutschland
RE: COM-Port in Registry speichern
(26.02.2024 17:04 )Kaya schrieb:  und falls ja, kann mir jemand erklären, wie das funktioniert?
Es gibt im Example-Finder ein Beispiel namens "Windows Registry Manipulation".

Die Registry hat aber den Nachteil, dass du nur in den Nutzer-spezifischen Teil schreiben darfst (HKEY_CURRENT_USER). Wenn sich ein anderer Windowsnutzer anmeldet, sieht er eigene Werte für deine Parameter. Das kann je nach Fall gewollt (Fensterposition) oder schlecht sein (zB Regelparameter).

(26.02.2024 19:45 )GerdW schrieb:  Stattdessen sollten Programme ihre Config-Daten im Benutzerverzeichnis (unter %userappdata%) ablegen.
Das gilt auch für den Vorschlag von Gerd.

Wenn mehrere Windowsuser dein Programm benutzen sollen, würde ich die ini-Datei im data-Verzeichnis oder einem eigenem config-Verzeichnis im Programmverzeichnis ablegen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.02.2024, 08:18 (Dieser Beitrag wurde zuletzt bearbeitet: 27.02.2024 08:18 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: COM-Port in Registry speichern
Hallo zusammen,

Zitat:Das gilt auch für den Vorschlag von Gerd.
Es gibt neben %userappdata% auch noch andere Verzeichnisse (die alle von der GetSystemDirectory-Funktion bereitgestellt werden): etliche davon liegen im "Public"-Bereich, auf den alle User Zugriff haben!

MS empfiehlt, (Config-)Daten dort abzulegen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.02.2024, 10:34
Beitrag #5

Kaya Offline
LVF-Grünschnäbelin
*


Beiträge: 39
Registriert seit: Jul 2023

16
2019
DE


Deutschland
RE: COM-Port in Registry speichern
Danke für Eure Tipps.

Ich habe es jetzt so gelöst.
INI Datei wird im VI zur Verdeutlichung direkt erstellt und dann je nach Auswahl des Tests über einen Eigenschaftsknoten in den VISA Eingang eingelesen.

Das Schreiben in die Datei muss ich mir noch mal überlegen.

LG Kaya


Angehängte Datei(en)
16.0 .vi  INI-Datei-Einlesen.vi (Größe: 32,68 KB / Downloads: 89)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.02.2024, 13:10
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: COM-Port in Registry speichern
Hallo Kaya,

Zitat:Ich habe es jetzt so gelöst.
INI Datei wird im VI zur Verdeutlichung direkt erstellt und dann je nach Auswahl des Tests über einen Eigenschaftsknoten in den VISA Eingang eingelesen.
- Es fehlt das komplette ErrorHandling.
- Dateien, die man öffnet, sollte man auch wieder schließen!
- Du liest einen String aus der INI-Datei (das ist gut) und wandelst ihn per TypeCast in eine VISA-Referenz: der TypeCast ist unnötig, man kann VISA-Referenzen auch mit einem String beschreiben.

Zitat:Das Schreiben in die Datei muss ich mir noch mal überlegen.
- Auch hier ist der TypeCast unnötig, VISA-Referenzen lassen sich auch an String-Inputs anschließen...
- Auch hier gilt: Datei nach dem Öffnen auch wieder schließen! Und bei INI-Dateien im besonderen: die geänderten Keys auch speichern...
- Ich würde die INI-Datei woanders ablegen, s.o.!

- Eine Wartezeit ist neben einer Event-Struktur mit TimeOut-Event (fast immer) Rube-Goldberg!
- Ein TimeOut-Event ohne Vorgabe der Wartezeit ist immer Rube-Goldberg!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  in port.vi /out port.vi nicht unterstützt? Fischi84 5 9.433 24.01.2011 14:58
Letzter Beitrag: Kiesch
  Com Port nach Applikationsende speichern Rapdan 4 4.582 18.09.2006 09:24
Letzter Beitrag: Rapdan

Gehe zu: