LabVIEWForum.de
Bei Programmstart vorhandene Messwerte sichern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenbank & File IO (/Forum-Datenbank-File-IO)
+---- Thema: Bei Programmstart vorhandene Messwerte sichern (/Thread-Bei-Programmstart-vorhandene-Messwerte-sichern)

Seiten: 1 2


Bei Programmstart vorhandene Messwerte sichern - DaPachi - 21.06.2011 06:40

Morgen @ all,

ich habe ein Programm geschrieben das Messwerte erst lokal in eine txt-Datei schreibt. Nun will ich nach jeder 20ten Messung die Werte vom txt-File auf ein anderes txt-File mit einem anderen Pfad kopieren (sprich mit Get File Position am Ende hinzufügen) wenn dann die 20 Messdaten übertragen wurden soll dass lokale File geleert werden. Außerdem sollte dass Programm oder der PC aus irgendeinem Grund vor der Übertragung beendet werden sollen beim Neustart die vorhandenen Daten nachträglich in die 2te txt-Datei übertragen werden.

hat jemande eine Idee wie das zu realisieren ist? Gibt es eine Art "Check if Files in Folder" - Funktion oder dergleichen?

mfg
DaPachi
edit:

habe es jetzte soweit dass ich die Pfade aller Dateien, die sich im betreffenden Ordner befinden als 1D-Array angezeigt bekomme. Jetzt wäre für mich interessant die erhaltenen Dateien nacheinander zulesen, übertragen und lokal zu löschen wie kann man das lösen? Eine For Loop wäre meines Wissens nicht geeignet da ja die Anzahl der Dateien immer eine Andere sein kann. Gibt es eine Alternative?

mfg DaPachi

Ps: die Ordner-Kontrolle auf bestehende Dateien habe ich mir Recursive File List.vi gelöst


RE: Bei Programmstart vorhandene Messwerte sichern - Schwand - 21.06.2011 07:42

Die For-Schleife läuft ja genauso oft, wie Daten in deinem Array sind, wenn du das Array beim Eingang der Schleife indizierst. Daher sollte das schon gehen.


RE: Bei Programmstart vorhandene Messwerte sichern - jg - 22.06.2011 08:29

(21.06.2011 06:40 )DaPachi schrieb:  Morgen @ all,

ich habe ein Programm geschrieben das Messwerte erst lokal in eine txt-Datei schreibt. Nun will ich nach jeder 20ten Messung die Werte vom txt-File auf ein anderes txt-File mit einem anderen Pfad kopieren (sprich mit Get File Position am Ende hinzufügen) wenn dann die 20 Messdaten übertragen wurden soll dass lokale File geleert werden. Außerdem sollte dass Programm oder der PC aus irgendeinem Grund vor der Übertragung beendet werden sollen beim Neustart die vorhandenen Daten nachträglich in die 2te txt-Datei übertragen werden.

hat jemande eine Idee wie das zu realisieren ist? Gibt es eine Art "Check if Files in Folder" - Funktion oder dergleichen?

mfg
DaPachi
Ja, seit LV8.5 gibt es diese Funktion:
http://zone.ni.com/reference/en-XX/help/371361G-01/glang/check_if_file_exists/

In LV8.2 könnte man sich so behelfen: Man versucht einfach, per Open File die txt-Datei zu öffnen. Wenn kein Fehler auftritt, dann muss sich offenbar noch existieren.

Gruß, Jens


RE: Bei Programmstart vorhandene Messwerte sichern - DaPachi - 29.06.2011 06:59

Morgen @ all,

sry hat etwas länger gedauert bis ich wieder dazu kam,
bin auch leider noch nicht dazu gekommen es mit der for-Schleife auszuprobieren.
Hab aber derzeit eine wichtigere Frage:
Ich haben 3 txt-File die wie Datenbanken zu verstehen sind (für Benutzer etc.) besteht die Möglichkeit diese Files von Außen (ohne mein Programm) "zugriffsgeschützt" zu machen? Sprich weder öffnen noch lesen, schreiben etc. zu können?

mfg
DaPachi


RE: Bei Programmstart vorhandene Messwerte sichern - Takuro - 29.06.2011 08:40

Hier wurde das schonmal besprochen. Essenz: Dateizugriff verhindern nicht möglich. Aber eine Verschlüßelung bietet sich an. Dann kann zwar wer auf die Daten zugreifen, aber nichts damit anfangen.

Grüße,

Takuro


RE: Bei Programmstart vorhandene Messwerte sichern - DaPachi - 29.06.2011 13:47

hmmm Schade...
mir wäre es wichtig gewesen dass beispielsweise Grenzwerte für deine Messung, die in einem txt-File oder ähnlichem gespeichert sind, nicht ohne dem den geschriebenen Programm (-> vergebene Benutzerrechte) änderbar sind.
gibt es Alternativen?


RE: Bei Programmstart vorhandene Messwerte sichern - Takuro - 29.06.2011 14:00

Hmm, mir fällt spontan ein:

1) Verschlüßelung
2) Mehrfachspeicherung der Daten und bei Einlesen Vergleich -> Inkosistenten bedeuten Manipulation. Und wenn du die zweite Datei(eventuell nur den Header, nicht die Messwerte selber) wo ganz anders speicherst, wird das Auffinden schwierig für jemand anderen als dich.
3) Prüfsumme. Du speicherst die relevanten Werte, und dazu speicherst du noch eine aus dem Wert berechnete Prüfsumme. Beim Laden wieder vergleichen von der gespeicherten Prüfsumme und der Prüfsumme des eingeladenen Wertes -> Inkonsitenten bedeuten auch hier Manipulation.

Grüße,

Takuro


RE: Bei Programmstart vorhandene Messwerte sichern - DaPachi - 06.07.2011 14:43

also ohne vergleichen mit kopien ist es nicht möglich.

Wie sieht es mit dem einmaligen ausführen eines SubVis aus? Es soll beispielsweise überprüft werden ob nach den letzten Ausführen des Programmes noch z.B. Messwerte in A gespeichert sind, sollte dies der Fall sein sollen die Werte durch ein SubVi nur bei Programmstart nach B kopiert und in A gelöscht werden. Sollte das betreffende SubVi jedoch während des Programm laufes nochmals aufgerufen werden so soll nichts geschehen. Realisierbar?

mfg
DaPachi


RE: Bei Programmstart vorhandene Messwerte sichern - Takuro - 06.07.2011 14:48

Rein logisch gar nicht. Du selber kannst doch auch nur entscheiden, ob eine Datei verändert worden ist, wenn du den Stand "früher" und den Stand "aktuell" kennst. Also ein Vergleich.


RE: Bei Programmstart vorhandene Messwerte sichern - DaPachi - 06.07.2011 14:49

(06.07.2011 14:48 )Takuro schrieb:  Rein logisch gar nicht. Du selber kannst doch auch nur entscheiden, ob eine Datei verändert worden ist, wenn du den Stand "früher" und den Stand "aktuell" kennst. Also ein Vergleich.

Aber wenn ich eine Datei schreib- und lesegeschützt mache kann ich mir relativ sicher sein dass die Einträge nicht geändert werden/worden sind, das meine ich