CSV Datei schreibzugriff reservieren - 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: CSV Datei schreibzugriff reservieren (/Thread-CSV-Datei-schreibzugriff-reservieren) |
CSV Datei schreibzugriff reservieren - eugst - 20.08.2010 13:56 Hallo Labviewcracks Ich erstelle beim Start eines Endprüfprogramm eine CSV Datei welche im Filenamen das aktuelle Datum enthält. So gibt es jeden Tag eine neue CSV Datei mit allen Prüfwerten die im Laufe eines Tages anfallen. Leider ist diese CSV nicht schreibgeschützt. Wenn ich diese Datei mit einem CSV-Editer öffne, kann Labview im Hintergrund weiter ohne Probleme Werte abspeichern. Durch aktualisieren der Datei kommen auch die letzten Messwerte im Editer zur Anzeige. Oeffnet mir aber ein QS-Mensch diese Datei mit Exce, so hat Excel exclusiven Zugriff auf die Datei und andere können nur noch lesend zugreifen. Jetzt zu meiner Frage: 1. Wie kann ich aus Labview die Datei für Schreibzugriff reservieren? Wenn ich dies erfolgreich lösen kann, erübrigt sich meine zweite Frage. 2. Wenn ich aus Labview auf die schreibgesperrte CSV-Datei zugreife und mein Schreiben nicht erfolgen konnte, bekomme ich jetzt nicht mal mit, dass der Schreibvorgang erfolglos ist. Wie kann ich in Labview bei erfolglosem Schreiben eine Warnmeldung generieren? Habt ihr gute Ideen, Links oder Beispiele wie ich mein Problem in den Griff bekomme? Gruss und vielen Dank für alle konstruktiven Beiträge eugst CSV Datei schreibzugriff reservieren - SeBa - 20.08.2010 14:14 Schau mal auf der File-IO Palette .. da gibts VI's für sowas. Wie was wo genau müsste ich auch erstmal schaun. Gruß SeBa CSV Datei schreibzugriff reservieren - GerdW - 20.08.2010 15:13 Hallo eugst, "Wie kann ich aus Labview die Datei für Schreibzugriff reservieren?" Was du suchst, nennt sich DenyAccess. "Wenn ich aus Labview auf die schreibgesperrte CSV-Datei zugreife und mein Schreiben nicht erfolgen konnte, bekomme ich jetzt nicht mal mit, dass der Schreibvorgang erfolglos ist. Wie kann ich in Labview bei erfolglosem Schreiben eine Warnmeldung generieren?" Die (besseren) File-Operationen haben alle einen ErrorCluster-Ausgang, den musst du nur auswerten... Abgesehen davon: wenn du die Datei exklusiv für dein Programm sicherst, hat dein Programm immer Zugriffsrechte - nur andere halt nicht! CSV Datei schreibzugriff reservieren - eugst - 25.08.2010 13:48 Hallo GerdW Vielen Dank für die Antworten. Leider bin ich noch nicht so versiert in Labview. Was ich genau tun muss, kann ich erst erahnen. Ich habe die labviewversion 8.5.1. Nach längerem Suchen habe ich die Funktion "Denyaccess" oder bei mir "Zugriff verweigern" gefunden. Wo muss ich die Funktion Zugriff verweigern aufrufen? In meinem Fall am Schluss bei Datei schliessen? [attachment=28995] Im nachfolgenden Case schreibe ich an 2 Orten in die CSV Datei rein. Wo muss ich muss ich den "Zugriff verweigern" wieder aufheben? Im Schlusscase beim Verlassen des Programms? [attachment=28994] Bei der Funktion "öffnen/erstellen/ersetzen" kann ich den Zugriff lesen/schreiben vorgeben. Was stelle ich dort am Besten ein? read/write oder read.only oder write-only Besten Dank im Voraus eugst CSV Datei schreibzugriff reservieren - GerdW - 25.08.2010 14:31 Hallo eugst, hast du dir die oben verlinkte Hilfe zur Funktion durchgelesen? Du rufst DenyAccess direkt nach dem FileOpen auf, bei Standardeinstellung hat danach nur noch dein VI Zugriffsrechte auf die Datei. Dazu die Funktion in die RefNum-Kette einfügen. FileOpen kannst du dann ebenfalls in Standardeinstellung lassen... CSV Datei schreibzugriff reservieren - eugst - 26.08.2010 10:09 Hallo GerdW Hilfe zu Denyaccess habe ich durchgelesen. Und trotzdem sind noch Fragen offen. Ich programmiere auch erst ein paar Monate Lawview. In meiner Anwendung erzeuge ich jeden Tag eine neue CSV Datei aktuellem Datum im filenamen. Jetzt habe ich die Denyaccess Funktion im ersten Beispiel nach dem File open eingefügt mit dem Resultat das nur noch eine leere CSV Datei eröffnet wird. Ohne Titelzeile Wenn ich bei der Fileopen Funktion von Readonly auf read/write umstelle habe ich wenigstens wieder die Titelzeile drin. [attachment=29020] Allerdings habe ich jetzt bei jedem neuem Starten des Programmes eine weitere Titelzeile in der CSV Datei. Und die Datei ist nicht schreibgeschützt. Was mache ich falsch? gruss eugst CSV Datei schreibzugriff reservieren - GerdW - 26.08.2010 10:14 Hallo eugst, "Was mache ich falsch?" - Du erzeugst die Konstante im Bild falsch. Mach doch einfach einen Rechtsklick auf den entsprechenden Funktionseingang -> Create -> Constant (Dann verschwinden auch die roten Punkte...) - Du benutzt eine StackedSequence mit jetzt schon 8 Frames... - Warum nutzt du eine While-Loop, die du gleich nach der ersten Iteration wieder abbrichst? (Für den Vergleich =0 gibt es eine extra Funktion...) - Sobald du die Datei schließt, werden natürlich die Zugriffsbeschränkungen wieder aufgehoben. Du musst die Datei offen halten, damit kein anderer darauf zugreifen darf... - Wenn du eine Datei mit "ReadOnly" öffnest, wie willst du dann dort hineinschreiben? "Ich programmiere auch erst ein paar Monate Lawview." Datei-Zugriffsrechte sind unabhängig von LabVIEW, die werden im Betriebssystem geregelt. Das Vorgehen ist mit jeder Programmiersprache gleich... |