Register for your free account! | Forgot your password?

You last visited: Today at 18:55

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[TUT] VB08 ini-Datei

Discussion on [TUT] VB08 ini-Datei within the Coding Tutorials forum part of the General Coding category.

Reply
 
Old   #1
 
P-a-i-n's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
[TUT] VB08 ini-Datei

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

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
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
Code:
SchreibeIni("Textbox1", "Text", TextBox1.Text, "C:\Test.ini")
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
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")
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



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
Attached Files
File Type: rar ini.rar (63.9 KB, 38 views)
P-a-i-n is offline  
Thanks
5 Users
Old 06/04/2010, 19:40   #2


 
Cholik's Avatar
 
elite*gold: 4
Join Date: Aug 2008
Posts: 6,786
Received Thanks: 4,992
Nettes Tutorial, meine Anmerkung wäre nur :

Wenn man .NET wählt, wieso nimmt man dann nicht gleich XML statt INI ?
Zumal .NET da direkt bequeme, einfache Klassen zur Verfügung stellt die einem das Lesen, Schreiben usw einer XML erleichtern.
Cholik is offline  
Old 06/04/2010, 19:49   #3
 
P-a-i-n's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
Np soll ich ein xml tut machen das ist aber um einiges umfang reicher da die knotenpunkte viel schwerer sind aber ich wollte erst ein tut ini vs xml machen das wär überladen gewesen aber ich für XML auch eins machen ini geht schneller aber xml ist eleganter und hat den vorteil das man eine XML auch z.B base64 verschlüsseln kann
P-a-i-n is offline  
Old 06/04/2010, 19:57   #4
 
Jay Niize's Avatar
 
elite*gold: 0
Join Date: Oct 2009
Posts: 4,851
Received Thanks: 3,417
sehr nett gemacht

#Added to List

wenn du es dort nicht haben willst -> PN
Jay Niize is offline  
Old 06/05/2010, 02:00   #5
 
elite*gold: 0
Join Date: Nov 2007
Posts: 62
Received Thanks: 17
Also ich benutze immer XML da es viel einfacher für mich ist.
Ein Beispiel:

Code:
Module Module1

    Sub Main()

        ' XML file example.

        Dim xml As XDocument = <?xml version="1.0" encoding="utf-8"?>
                               <example>
                                   <simpleString>Hello World!</simpleString>
                                   <simpleInteger>1</simpleInteger>
                                   <simpleDouble>1.545</simpleDouble>
                                   <simpleBool>True</simpleBool>
                               </example>

        ' Read out our xml data.

        Dim myString =
            xml.<example>.<simpleString>.Value

        Dim myInteger =
            CInt(xml.<example>.<simpleInteger>.Value)

        Dim myDouble =
            CDbl(xml.<example>.<simpleDouble>.Value)

        Dim myBoolean =
            CBool(xml.<example>.<simpleBool>.Value)

        ' Show data to user.

        Console.WriteLine("Simple string = " + myString)
        Console.WriteLine("Simple integer = " + myInteger.ToString)
        Console.WriteLine("Simple double = " + myDouble.ToString)
        Console.WriteLine("Simple boolean = " + myBoolean.ToString)

        Console.ReadKey()

    End Sub

End Module
Demon-777 is offline  
Reply


Similar Threads Similar Threads
VB08 Exe verschlüsseln
09/14/2010 - .NET Languages - 17 Replies
Hallo ich habe ein ftp Chat gemacht und wollte meine exe sehr gut verschlüsseln das es nicht zu einfach ist meine daten auszulesen zu lassen was gib es da für Programme ?
Writememory? [VB08]
08/22/2010 - .NET Languages - 0 Replies
Wie Schreibe ich die Adressen in VB2008? 0x004DDF77 orig bytes: 0xE8, 0x44, 0x97, 0x01, 0x00 patch: 0x90, 0x90, 0x90, 0x90, 0x90 OR 0x004F76C0 orig: 0x83, 0xEC, 0x0C patch: 0xC3, 0x90, 0x90
VB08 und MW2
06/11/2010 - .NET Languages - 4 Replies
Möchte ein Extra Unlocker für MW2 Schreiben! die Adressen habe ich alle und sind auch alle richtig! Mein Problem: wenn ich die Extras nach und nach Unlocke geht das aber so bald ich alle zusammen oder alle hinereinander Unlocken möchte werden nicht alle freigeschaltet oder es werden bereits Freigeschaltet Extras wieder zurück gesetzt! Ich hab ma nen Video gemacht damit man die Problematik besser versteh! http://www.youtube.com/watch?v=4bRm3lyeHtw und so mache ich es!...
[VB08] VBPROJ TO EXE ?
01/16/2010 - .NET Languages - 14 Replies
Hallo lieber elitepvper habe einen injektor für warrock gecoded nun habe ich eine vbproj datei wie geht es weiter wie konventiere ich diese Datei zu einer Exe Datei ? MFG



All times are GMT +2. The time now is 18:55.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.