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 

Event, wenn Ordnerinhalt geändert wurde



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!

07.12.2009, 22:50
Beitrag #1

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Event, wenn Ordnerinhalt geändert wurde
Wer gibt mir denn mal einen Tipp - oder ein VI?

Ich möchte einen Event (in einer Eventstruktur) bekommen, wenn der Anwender auf der lokalen Festplatte in einem bestimmten Verzeichnis einen Ordner erstellt hat.

Nach was soll ich denn suchen?

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
07.12.2009, 23:20
Beitrag #2

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Event, wenn Ordnerinhalt geändert wurde
IF du weißt, wo der Ordner ist kannst du ja pollen ob der Pfad gültig ist.

ELSEIF du nutzt die Windoof API Bsp. Link , auch wenns in C++ ist, so ähnlich muss es doch auch in LV möglcih sein..?!?Huh

ELSE :kA:gibts 'en FileSystemWatch4Changes.vi ?


Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.12.2009, 07:25
Beitrag #3

rasta Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 245
Registriert seit: Oct 2006

LabVIEW 2009-2017
2006
EN

53909
Deutschland
Event, wenn Ordnerinhalt geändert wurde
Wenn´s .net stört..
http://forums.ni.com/ni/board/message?boar...=198096#M198096

Gruß
Ralf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.12.2009, 09:26
Beitrag #4

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Event, wenn Ordnerinhalt geändert wurde
' schrieb:IF du weißt, wo der Ordner ist kannst du ja pollen ob der Pfad gültig ist.
Gerade pollen wollte ich ja nicht machen.

Zitat:du nutzt die Windoof API Bsp. Link , auch wenns in C++ ist, so ähnlich muss es doch auch in LV möglcih sein..?!?Huh
Sieht zum Teil wie gepollt aus. Aber: Da sind einige Schlagwörter zum Suchen drin.

' schrieb:Wenn´s .net stört..
Stört .net (<= Hey, rasta, coole Spielererei mit der deutschen Orthographie)

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2009, 08:20
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Event, wenn Ordnerinhalt geändert wurde
Wie man's macht, irgendwas hängt immer.

.net ist ja eigentlich ganz schön. Aber such mal aus einer Liste von was weis ich 200.000 Elementes das passende aus. Der Befehl FileSystemWatch() aus dem Link hat leider nicht sofort ausreichend funktioniert. Also hab ich's jetzt gemacht wie's am schnellsten ging: Im MausBetrittBereich-Event wird die Baustruktur neu gelesen.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2009, 09:26
Beitrag #6

rasta Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 245
Registriert seit: Oct 2006

LabVIEW 2009-2017
2006
EN

53909
Deutschland
Event, wenn Ordnerinhalt geändert wurde
' schrieb:Wie man's macht, irgendwas hängt immer.

.net ist ja eigentlich ganz schön. Aber such mal aus einer Liste von was weis ich 200.000 Elementes das passende aus. Der Befehl FileSystemWatch() aus dem Link hat leider nicht sofort ausreichend funktioniert. Also hab ich's jetzt gemacht wie's am schnellsten ging: Im MausBetrittBereich-Event wird die Baustruktur neu gelesen.
Hast Du das Beispiel ("File_Watcher.llb") aus dem Link ausprobiert ?

Gruß
Rlf
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
10.12.2009, 09:35
Beitrag #7

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Event, wenn Ordnerinhalt geändert wurde
' schrieb:Hast Du das Beispiel ("File_Watcher.llb") aus dem Link ausprobiert ?
Ja, dieses Beispiel.

Erstellt der Anwender im zu überwachenden Ordner oder Unterordner einen neuen Order, erfolgt ein CallBack (<= sehr schön) mit dem Wert "Neuer Ordner". Und zwar genau in dem Moment, in dem das Eingabefenster für den neuen Pfadnamen erscheint. Leider hab ich es nicht hinbekommen (auf jeden Fall nicht so schnell, wie ich das andere programmiert habe), dass auch dann ein CallBack kommt, wenn die Eingabe des neuen Namens beendet ist. Das nächste wäre dann: was tun, wenn der Anwender einen Ordner löscht?

Das Problem ist immer das selbe: Was geht schneller? Alt hergebracht zu machen oder auf das neue setzen. Was nützt es mir, wenn ich eine Stunde bei .net das entsprechende suchen muss, wenn die Lösung mit dem OnMouseEnter in 30 Sekunden geht.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2009, 12:13
Beitrag #8

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Event, wenn Ordnerinhalt geändert wurde
' schrieb:Leider hab ich es nicht hinbekommen (auf jeden Fall nicht so schnell, wie ich das andere programmiert habe), dass auch dann ein CallBack kommt, wenn die Eingabe des neuen Namens beendet ist.

Hast du mal das Ereignis-Callback von "Created" auf "Renamed" umgestellt?

* Created: Im überwachten Ordner (in Windows) eine neue Datei erzeugt. "Neues Textdokument.txt" ist dann zum Umbennenen markiert, du weißt was ich meine...
-> Ergebnis: "Neues Textdokument.txt" wird im FileWatcher angezeigt.

* Renamed: identisches Vorgehen, aber Datei wird auch umbenannt in Test.txt
-> Ergebins: "Test.txt" wird im Filewatcher angezeigt, das reine Erstellen feuert den Event nicht, wohl aber das setzen des neuen Namens.

Hab das mit zwei Instanzen des FileWatchers gemacht. Das zeigt auch was du machen kannst, wenn ein Ordner gelöscht wird...
Einfach für jeden Event (Erstellen/Umbenennen/Löschen...) einen eigenen FileWatcher als SubVI laufen lassen.


Gruß SeBa


EDIT:
PS: geschätzte Dauer für das Umprogrammieren von Created nach Renamed... 5 Sekunden.

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2009, 12:37
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Event, wenn Ordnerinhalt geändert wurde
' schrieb:Hast du mal das Ereignis-Callback von "Created" auf "Renamed" umgestellt?
Zum Zeitpunkt des Auftretens des aktuellen Problems habe ich noch keine Kenntnis gehabt über die Eigenschaften der .net-Implementierung in LV. Daher und weil mir plötzlich das mit dem OnMouseEnter einfiel, hab ich also beschlossen, das mit dem .net vorerst nicht zu machen.

OnMouseEnter war nämlich nichts weiter als zu einem bereits bestehenden Evantcase weitere Eventquellen hinzuzufügen.

Beim CallBack hätte ich das weitere Problem gehabt, das CallBack-VI so anzupassen, dass der Event weitergeleitet wird zu dem bestehenden Eventcase. Das wäre möglicherweise gegangen alleine mit einem Value(sgl) des Filestrings.


Und wenn mein Chef mich lässt (es ist ja schließlich sein Geld, das ich verdiene) oder ich noch Lust habe, dann kann ich mir das mit dem .net ja mal genauer ankucken. Jetzt wo ich einen definierten Anwendungsfall habe.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Ordnerinhalt als Array von Dateiverzeichnissen Oleg 6 5.380 07.04.2010 20:32
Letzter Beitrag: jg

Gehe zu: