da viele hier mit systemsettings arbeiten zeig ich euch mal wie er ganz fix eine
ini macht
ich erkläre nur die funktionen hänge aber ein fertiges projekt mit dran zum runterladen
wo farben oder auch die formgröße geändert werden kann u.s.w sollte sich mal ein anfänger wenn anschauen das ist ohne hartgecodeten pfad also nicht C:\bla\bla\bla
es würde nicht die xml gehen sieht besser aus aber bei so was steckt weit mehr arbeit drin
also die api auf rufe sind einfach
lpApplicationName = das ist der name des abschnittes in der ini
lpKeyName = der schlüsselname der den gespeicherten wert tragen soll
lpString = von hier kommen der wert für die ini dies kann eine textbox oder sonstiges sein
lpFileName = hier das ist der pfad zur ini
würde im programm so aussehen
dise würde sich in der ini so wieder finden
[Textbox1]
Text=
dahinter hätte der textgestanden der sich in der textbox befindet
das ganze geht mit bilder aus der picturebox,checkboxen,comboboxen
zu der listbox will ich noch was sagen da ist das schreiben der werte und das lesen der ini nicht so leicht da musse man noch einiges dazuschreiben
beim laden brauch man etwas mehr und eine extra funktion die danach kommt
lpApplicationName = oben erklärt
lpKeyName = oben erklärt
lpDefault = hier kann ein wert zurückgegeben werden wenn nichts in der ini steht also sowas wie man im formload auch bestimmen kann
lpReturnedString = das ist der Buffer für die rückgabe werte bei lagen zeilen sollte der ausreichend gefüllt werden
nSize = hier erstellt man die puttergröße in bytes
lpFileName = oben erklärt
vllt denken manche jetzt ohgott wenn ihr mal gegoogelt habt nach ini tut die sind meist extrem riesig und sehr kompliziert aber hier kürzen wir das ganze jetzt extrem ab
hier lesen wir erstmal die ini datein ein füllen den Buffer mit dieser Methode
machen wir eigentlich nur folgendes man extrahiert eine teilzeichenkette deren position und länge übergeben wird aus einer zeichenkette
wieso macht man das weil man ja strings,boolsche werte übergeben will und integer
eingelesen wird dann alles so
die 2 gänsefüsschen ohne inhalten wär der rückgabe wert wenn nichts in der ini steht brauch man aber in der regel selten das ist mehr was für anwedungen wie in w32 wo man keine formanwedung hat :)
so damit ist das tut fertig ich hab mal zum spass gesucht wie sowas in vb6 mal ausgesehen hat
[Only registered and activated users can see links. Click Here To Register...]
ich denke es ist sehr kurz und verständlich es macht seine arbeit und ist nur für kleine wörter da in die ini sollt ihr keine romane schreiben das ist dann schon mehr was für textdatein
so ich hefte mal noch ein projekt von mir ran
was dadrin ist auch eine ini und paar andere dinge
- abfragen ob die ini schon erstellt ist weil sonst gibt es anwedungscrash ;)
- selected case in comboboxen für hintergrundfarben und größen
- oder wer nicht klarkommt kann auch reinschauen
ist ein vollständiges projekt für VB08/10
das ist emhr was für anfänger selected case ist eine bessere form des if else ;) bei sowas
ini macht
ich erkläre nur die funktionen hänge aber ein fertiges projekt mit dran zum runterladen
wo farben oder auch die formgröße geändert werden kann u.s.w sollte sich mal ein anfänger wenn anschauen das ist ohne hartgecodeten pfad also nicht C:\bla\bla\bla
es würde nicht die xml gehen sieht besser aus aber bei so was steckt weit mehr arbeit drin
also die api auf rufe sind einfach
Code:
Private Declare Function SchreibeIni Lib "kernel32" _
Alias "WritePrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpString As String, _
ByVal lpFileName As String) As Long
lpKeyName = der schlüsselname der den gespeicherten wert tragen soll
lpString = von hier kommen der wert für die ini dies kann eine textbox oder sonstiges sein
lpFileName = hier das ist der pfad zur ini
würde im programm so aussehen
Code:
SchreibeIni("Textbox1", "Text", TextBox1.Text, "C:\Test.ini")
[Textbox1]
Text=
dahinter hätte der textgestanden der sich in der textbox befindet
das ganze geht mit bilder aus der picturebox,checkboxen,comboboxen
zu der listbox will ich noch was sagen da ist das schreiben der werte und das lesen der ini nicht so leicht da musse man noch einiges dazuschreiben
beim laden brauch man etwas mehr und eine extra funktion die danach kommt
Code:
Private Declare Function leseIni Lib "kernel32" _
Alias "GetPrivateProfileStringA" ( _
ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpDefault As String, _
ByVal lpReturnedString As String, _
ByVal nSize As Long, _
ByVal lpFileName As String) As Long ' lesen der ini
lpApplicationName = oben erklärt
lpKeyName = oben erklärt
lpDefault = hier kann ein wert zurückgegeben werden wenn nichts in der ini steht also sowas wie man im formload auch bestimmen kann
lpReturnedString = das ist der Buffer für die rückgabe werte bei lagen zeilen sollte der ausreichend gefüllt werden
nSize = hier erstellt man die puttergröße in bytes
lpFileName = oben erklärt
vllt denken manche jetzt ohgott wenn ihr mal gegoogelt habt nach ini tut die sind meist extrem riesig und sehr kompliziert aber hier kürzen wir das ganze jetzt extrem ab
Code:
Public Function LeseUndSchreibeIni(ByVal Gruppe As String, ByVal Schlüssel As String, ByVal Voreinstellung As String, ByVal Pfad As String) As String
Dim strTemp As String = Space(1024), lLength As Integer '
lLength = leseIni(Gruppe, Schlüssel, Voreinstellung, strTemp, strTemp.Length, Pfad)
Return (strTemp.Substring(0, lLength))
End Function
hier lesen wir erstmal die ini datein ein füllen den Buffer mit dieser Methode
machen wir eigentlich nur folgendes man extrahiert eine teilzeichenkette deren position und länge übergeben wird aus einer zeichenkette
wieso macht man das weil man ja strings,boolsche werte übergeben will und integer
eingelesen wird dann alles so
Code:
TextBox1.Text = LeseUndSchreibeIni("Textbox1", "Text", "", "C:\Test.ini")
so damit ist das tut fertig ich hab mal zum spass gesucht wie sowas in vb6 mal ausgesehen hat
[Only registered and activated users can see links. Click Here To Register...]
ich denke es ist sehr kurz und verständlich es macht seine arbeit und ist nur für kleine wörter da in die ini sollt ihr keine romane schreiben das ist dann schon mehr was für textdatein
so ich hefte mal noch ein projekt von mir ran
was dadrin ist auch eine ini und paar andere dinge
- abfragen ob die ini schon erstellt ist weil sonst gibt es anwedungscrash ;)
- selected case in comboboxen für hintergrundfarben und größen
- oder wer nicht klarkommt kann auch reinschauen
ist ein vollständiges projekt für VB08/10
das ist emhr was für anfänger selected case ist eine bessere form des if else ;) bei sowas