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!
wie kann ich denn in eine versteckte .ini Datei schreiben?
Ich habe die Datei versteckt und schreibgeschützt angelegt, damit Benutzer es nicht so leicht haben die Datei zu finden und zu verändern.
Ich hebe den Schreibschutz auf, schreibe meine Daten in die Datei, schließe die Datei und füge den Schreibschutz wieder hinzu.
Beim schließen der Datei bekomme ich aber immer einen Fehler!
Wenn die Datei nicht versteckt ist, funktioniert der Code.
Wer hat damit schon Erfahrungen gemacht, bzw. weiß wo mein Fehler liegt?
Ich habe es jetzt hinbekommen, indem ich die Datei durch einen Kommandozeilenbefehl mit dem System Exec.vi zunächst sichtbar mache, rein schreibe und wieder verstecke.
Das funktioniert zwar, ist aber finde ich auf den ersten Blick keine schöne Lösung.
Gibt es da noch eine andere Möglichkeit, oder muss ich es so machen?
Zitat:(Windows) Use of the permissions parameter is very limited on non-Linux operating systems. You can use permissions to change only write permissions for users (bit 7); the operating system ignores all other changes to the bits.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
ist es zwingend nötig, dass die Datei versteckt sein muss? Anderenfalls wäre es ja auch möglich, sie zu verschlüsseln und mit Checksummenbytes gegen unbefugtes Verändern zu markieren.
Gruß, Marko
19.12.2013, 16:08 (Dieser Beitrag wurde zuletzt bearbeitet: 19.12.2013 16:09 von Lucki.)
Das Ablegen von Werten in einer INI-Datei ist doch sowieso eine veraltete Methode. Moderner ist das Abspeichern in der Registry. Wenn Du das tun tätest, wäre ein gewisses Verstecken ganz von allein gegeben.
- Du kannst Dateien bequem von einem Rechner auf einen anderen übertragen.
- Bei der Registry musst du auf Berechtigungen achten. Und was mal unter Win2K funktionierte, muss unter Win7/8 nicht mehr funktionieren...
- MS empfiehlt USERAPPDATA als Ablage für Programm-spezifische Dat(ei)en...
Ich würde mich jedenfalls nicht auf das "Sichtbar"-Dateiflag verlassen, wenn ich nicht will, dass der User an irgendwelchen Einstellungen rumfummelt...
(19.12.2013 17:25 )GerdW schrieb: warum sollte eine (INI-)Datei "veraltet" sein?
Ich ziehe den Ausdruck "mit aufrichtigem Bedauern" zurück, ich wollte keine Diskussion über veraltet oder nicht lostreten. Das Abspeicheren in der Registry erlaubt eine benutzerspezifische Konfiguration von Programmen, was mit der INI-Datei nicht ohne weiteres möglich war. Die meisten Programm fragen ja jetzt bei der Installation, ob Installation nur für den angemeldeten Benutzer oder für alle Benutzer.
Für Labview-Installationen hat die benutzersprezifische Installation aber wohl keine nennenswerte Bedeutung, weshalb hier die INI-Datei nach wie vor die erste Wahl ist.
So wie ich TDO verstanden habe, braucht er keine krytographisch sattelfeste Verschlüsselung der ini-Datei. Er möchte nur nicht, das jeder Hinz oder Kunz ohne jede Mühe sofort die Konfigurationsdaten sehen und editieren kann. Dazu wollte ich die Überlegung mit der Registry beisteuern. Wie aufwendig das ist, weiß ich allerdings selbst nicht, ich habe es noch nicht gemacht.
Zitat:Für Labview-Installationen hat die benutzersprezifische Installation aber wohl keine nennenswerte Bedeutung, weshalb hier die INI-Datei nach wie vor die erste Wahl ist.
So wie du bei der Registry Zweige "für alle" und "für den angemeldeten User" hast, gibt es auch Orte auf der Festplatte, die entsprechende Zugriffsrechte haben: USERAPPDATA für den angemeldeten User und PUBLICAPPDATA für alle. Nicht umsonst gibt es seit einigen LV-Versionen diese Funktion...
Wenn du benutzerspezifisch und generische Einstellungen in der Registry ablegen willst, musst du verschiedene Keys/Zweige verwenden. Für Dateien (ob nun INI, CSV, XML, ...) gilt das gleiche...