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
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