Wohin mit ini-Datei

12/02/2009 - 11:11 von Frank Bach | Report spam
Hallo NG,

in welches Verzeichnis schreibt man eine ini-Datei am besten, sodass unter
Vista und Konsorten auf jeden Fall Schreibrechte auch ohne Admin vorliegen?


Danke!

Frank
 

Lesen sie die antworten

#1 Marcel Garaventa
12/02/2009 - 11:50 | Warnen spam
Hallo Frank

Ich schreibe eigentlich keine ini-Dateien mehr. Für dies gibt es heure
xml-Dateien. Diese zu erstellen sind unter .NER Framework 3.5 einfach. Einen
guten Pfad für die Ablage ist dann der folgende.

System.Windows.Forms.Application.LocalUserAppDataPath

Natürlich könntest Du auch Deine ini-Dateien dort reinschreiben. Aber
vielleicht überlegst Du Dir, ob Du evtl. doch lieber xml-Dateien willst.

Ich screibe Dir hier ein kleines Beispiel rein:

#Region "Definitionen"
Dim sOptionspfad As String
Private Optionen As System.Xml.Linq.XDocument = _
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Optionen>
<Dialogfenster>
<FormWindowState></FormWindowState>
<WindowSize>
<Width></Width>
<Height></Height>
</WindowSize>
<WindowLocation>
<X></X>
<Y></Y>
</WindowLocation>
</Dialogfenster>
<SplittContainer>
<SplitterDistance></SplitterDistance>
</SplittContainer>
</Optionen>
#End Region

Public Sub New()
sOptionspfad =
System.IO.Path.GetDirectoryName(System.Windows.Forms.Application.LocalUserAppDataPath) & _
System.IO.Path.DirectorySeparatorChar & _
"Optionen.xml"

InitializeComponent()
End Sub

Private Sub Ordnerdialog_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
If System.IO.File.Exists(sOptionspfad) = True Then
Optionen = System.Xml.Linq.XDocument.Load(sOptionspfad)
Dim mySize As New System.Drawing.Size
mySize.Width =
Integer.Parse(Optionen.<Optionen>.<Dialogfenster>.<WindowSize>.<Width>.Value)
mySize.Height =
Integer.Parse(Optionen.<Optionen>.<Dialogfenster>.<WindowSize>.<Height>.Value)
Me.Size = mySize
Dim myLocation As New System.Drawing.Point
myLocation.X =
Integer.Parse(Optionen.<Optionen>.<Dialogfenster>.<WindowLocation>.<X>.Value)
myLocation.Y =
Integer.Parse(Optionen.<Optionen>.<Dialogfenster>.<WindowLocation>.<Y>.Value)
Me.Location = myLocation
spcOrdnerdialog.SplitterDistance =
Integer.Parse(Optionen.<Optionen>.<SplittContainer>.<SplitterDistance>.Value)
Me.WindowState =
CType(System.Windows.Forms.FormWindowState.Parse(GetType(System.Windows.Forms.FormWindowState),
Optionen.<Optionen>.<Dialogfenster>.<FormWindowState>.Value),
System.Windows.Forms.FormWindowState)
End If
End Sub

Private Sub Ordnerdialog_FormClosing(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Optionen.<Optionen>.<Dialogfenster>.<FormWindowState>.Value =
Me.WindowState.ToString
Optionen.<Optionen>.<Dialogfenster>.<WindowSize>.<Width>.Value =
Me.Width.ToString
Optionen.<Optionen>.<Dialogfenster>.<WindowSize>.<Height>.Value =
Me.Height.ToString
Optionen.<Optionen>.<Dialogfenster>.<WindowLocation>.<X>.Value =
Me.Location.X.ToString
Optionen.<Optionen>.<Dialogfenster>.<WindowLocation>.<Y>.Value =
Me.Location.Y.ToString
Optionen.<Optionen>.<SplittContainer>.<SplitterDistance>.Value =
spcOrdnerdialog.SplitterDistance.ToString

If
System.IO.Directory.Exists(System.IO.Path.GetDirectoryName(sOptionspfad)) =
False Then

System.IO.Directory.CreateDirectory(System.IO.Path.GetDirectoryName(sOptionspfad))
End If

Optionen.Save(sOptionspfad)
End Sub


Denke daran. Dieses Beispiel kannst Du nur unter .Net Framework 3.5 benutzen

Gruss Marcel

"Frank Bach" wrote:

Hallo NG,

in welches Verzeichnis schreibt man eine ini-Datei am besten, sodass unter
Vista und Konsorten auf jeden Fall Schreibrechte auch ohne Admin vorliegen?


Danke!

Frank



Ähnliche fragen