INI-Lib | Dateien unkompliziert Speichern und Aufrufen

    • Release

    Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von CFHackerExtreme.

      INI-Lib | Dateien unkompliziert Speichern und Aufrufen

      Name des Programms:
      EasyLib v 1.0

      Beschreibung:
      Mit der EasyLib könnt ihr einfach & schnell Dateien in einer strukturiert-aufgebauten Datei (.ini) abspeichern und aufrufen.

      Anwendungsbeispiele:
      • Logindaten extern speichern
      • Spielstände speichern
      • Einstellungen für das Programm (Als String speichern & dementsprechend in der Syntag anpassen)
      • etc..

      Wer um die Ecke denken kann, findet sicher genug Anwendungen dafür ;) (Ich benutze Sie schon lange)

      Screenshot(s):



      Anwendungsbeispiel:

      Zu erst Verweis auf die DLL & Sie dann Importieren

      VB.NET-Quellcode

      1. Imports INI_Lib

      Dann (empfohlenswert) im Form_Load Event EasyLib Deklarieren

      VB.NET-Quellcode

      1. Dim INI As New INI_Lib.INI_Lib


      Fertig! Nun kann die EasyLib beliebig verwendet werden ;)

      Anwendungsbeispiele:

      Text aus einer INI Laden & den String einem Label zuteilen
      Spoiler anzeigen

      VB.NET-Quellcode

      1. Dim ofd As New OpenFileDialog
      2. ofd.ShowDialog()
      3. Label1.Text = INI.INI_ReadFile("MAINTITLE", "SUBTITLE", "", ofd.FileName)


      Text aus der Form in eine .INI Speichern
      Spoiler anzeigen

      VB.NET-Quellcode

      1. Dim sfd as new SaveFileDialog
      2. sfd.ShowDialog()
      3. INI.INI_WriteFile("MAINTITLE", "SUBTITLE", Label1.Text, sfd.FileName)


      Aufbau der .INI (Namen natürlich änderbar!)
      Spoiler anzeigen


      Tipp: Es muss nicht als .ini gespeichert werden, ihr könnt auch andere Dateiendungen nehmen! Das wichtigste ist, dass ihr den Inhalt richtig aufbaut.
      Es ist natürlich auch möglich mehrere Maintitles als auch Subtitles zu erstellen!


      Verwendete Programmiersprache und IDE:

      Visual Basic .NET & Visual Studio 2010 Express

      Systemanforderungen:
      .NET Framework 3.0


      Download:
      Ist im Anhang 8-)

      Lizenz/Weitergabe:
      Freeware (Namensnennung wäre Nett :) )
      Dateien
      So stelle ich mir ehrlich gesagt keine INI-Lib vor.
      Ich würde eher eine Klasse IniFile erwarten, das IDictionary implementiert (weil eine INI-Datei ist im Prinzip nichts anderes als ein Dictionary). Wie man die Gruppen da mit reinbringt, müsste man dann schauen, vielleicht könnte man eher nochmal die Gruppen als eigene Dictionaries ansehen, und die IINI-Datei ist ne Auflistung dieser Gruppen. Jedenfalls solltest du dir definitiv diese Interfaces zu Nutze machen, dann gliedert sich die Klasse besser ins Framework ein und ist auch schöner zu verwenden. Dein System hier mit statischen Methoden ist nicht im Sinne von OOP.
      Ach ja und gewöhn dir ne ordentliche Benennung an. Unterstriche haben nix in nem Namen zu suchen, außer ganz am Beginn von privaten Variablen. Außerdem INI.INI_ReadFile -> Ini.ReadFromFile und INI.INI_WriteFile -> Ini.WriteToFile, wobei diese Methoden ja sowieso wie oben beschrieben unverteilhaft sind und durch was besseres ersetzt werden sollten.
      Es gibt sogar schon ein Opensource Code dazu der um einiges mehr kann siehe hier : [VB.NET] IniLib - 08.11.2011
      Ich finde auch die Funktionen deiner lib eigentlich zu gering für den Libraries / Controls Bereich.
      MFG 0x426c61636b4e6574776f726b426974
      InOffical VB-Paradise IRC-Server
      webchat.freenode.net/
      Channel : ##vbparadise
      Da muss ich mal harte Kritik äußern:

      Den Sourcecode für diese Lib gibts überall im Netz bzw. für das Speichern von Werten in einer .INI Datei!
      Soweit ich weiß gibts dafür eine Win Funktion:

      VB.NET-Quellcode

      1. Private Declare Ansi Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" (<MarshalAs(UnmanagedType.VBByRefStr)> ByRef lpApplicationName As String, <MarshalAs(UnmanagedType.VBByRefStr)> ByRef lpKeyName As String, <MarshalAs(UnmanagedType.VBByRefStr)> ByRef lpDefault As String, <MarshalAs(UnmanagedType.VBByRefStr)> ByRef lpReturnedString As String, ByVal nSize As Integer, <MarshalAs(UnmanagedType.VBByRefStr)> ByRef lpFileName As String) As Integer
      2. Private Declare Ansi Function WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" (<MarshalAs(UnmanagedType.VBByRefStr)> ByRef lpApplicationName As String, <MarshalAs(UnmanagedType.VBByRefStr)> ByRef lpKeyName As String, <MarshalAs(UnmanagedType.VBByRefStr)> ByRef lpString As String, <MarshalAs(UnmanagedType.VBByRefStr)> ByRef lpFileName As String) As Integer