listbox items weg schrijven naar ini bestand

Status
Niet open voor verdere reacties.

cdekleine

Gebruiker
Lid geworden
18 nov 2011
Berichten
21
Hallo, met behulp van de volgende code, zou ik graag de ingevoerde gegevens uit een textbox weg willen schrijven naar een ini file. alleen werkt het op geen enkele manier...

mijn code wat ik nu heb is:
Code:
    Private Sub saveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles saveButton.Click
        If SaveFileDialog1.ShowDialog = DialogResult.OK Then
            Dim ini As New IniFile(SaveFileDialog1.FileName)
            'Write the general section off the ini file:
            ini.WriteString("General", "Date", DateTimePicker1.Value)
            ini.WriteString("General", "Name", TextBox1.Text)

            'Write the eindvoorraad section off the ini file:
                ini.WriteString("Aanvraaglijst", "Drinks", "")
        End If
    End Sub

ik mis het stukje om de gegevens weg te schrijven naar het ini file dus.
wie o wie kan mij helpen aan dat stukje code...
 
Joz1 had al beschrijving gegeven in een handleiding.

Hier een voorbeeld uit een vorige vraag ook over drank , staat ergens op het forum


Een class maken en hoe je schrijft en leest.
Met :
ini.WriteValue
ini.ReadValue

Code:
Public Class Form1
    Public Class IniFile

        Private Declare Ansi Function GetPrivateProfileString Lib "kernel32.dll" Alias "GetPrivateProfileStringA" _
            (ByVal lpApplicationName As String, _
             ByVal lpKeyName As String, _
             ByVal lpDefault As String, _
             ByVal lpReturnedString As System.Text.StringBuilder, _
             ByVal nSize As Integer, _
             ByVal lpFileName As String) _
         As Integer

        Private Declare Ansi Function WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" _
            (ByVal lpApplicationName As String, _
             ByVal lpKeyName As String, _
             ByVal lpString As String, _
             ByVal lpFileName As String) _
        As Integer

        Public Property Path As String

        ''' <summary>
        ''' IniFile Constructor
        ''' </summary>
        ''' <param name="IniPath">The path to the INI file.</param>
        Public Sub New(ByVal IniPath As String)
            _Path = IniPath
        End Sub

        ''' <summary>
        ''' Read value from INI file
        ''' </summary>
        ''' <param name="section">The section of the file to look in</param>
        ''' <param name="key">The key in the section to look for</param>
        Public Function ReadValue(ByVal section As String, ByVal key As String) As String
            Dim sb As New System.Text.StringBuilder(255)
            Dim i = GetPrivateProfileString(section, key, "", sb, 255, Path)
            Return sb.ToString()
        End Function

        ''' <summary>
        ''' Write value to INI file
        ''' </summary>
        ''' <param name="section">The section of the file to write in</param>
        ''' <param name="key">The key in the section to write</param>
        ''' <param name="value">The value to write for the key</param>
        Public Sub WriteValue(ByVal section As String, ByVal key As String, ByVal value As String)
            WritePrivateProfileString(section, key, value, Path)
        End Sub

    End Class

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ini As New IniFile("C:\som\TheFile.ini")
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ini As New IniFile("C:\som\TheFile.ini")
        ini.WriteValue("Aantal_Flessen", "Cola", TextBox1.Text)
        ini.WriteValue("Aantal_Flessen", "Sisi", TextBox2.Text)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim ini As New IniFile("C:\som\TheFile.ini")
        TextBox1.Text = ini.ReadValue("Aantal_Flessen", "Cola")
        TextBox2.Text = ini.ReadValue("Aantal_Flessen", "sisi")
    End Sub
End Class
 
ik heb het over een listbox...

heb dus listbox1
en die items moeten geschreven worden naar het ini bestand
 
Laatst bewerkt:
Hmm,

Dan denk ik dat je het verkeerd opgeschreven hebt.

Dit staat in je vraag.:confused:

Code:
 zou ik graag de ingevoerde gegevens uit een textbox weg willen schrijven naar een ini
 
Code:
'Write the eindvoorraad section off the ini file:
            For Each Item In ListBox1.Items
                ini.WriteString("Aanvraaglijst", "Drinks", "")
            Next

wat moet ik nou op mijn laatste punt neerzetten dan???

en sorry mijn typfoutje!
 
oke, heb hem nu deels werkend, want wil hem nu nog kunnen uitlezen in een ander programma (wederom geschreven in vb.net)

met behulp van deze code heb ik het weg kunnen schrijven:

Code:
    Private Sub saveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles saveButton.Click
        If SaveFileDialog1.ShowDialog = DialogResult.OK Then
            Dim ini As New IniFile(SaveFileDialog1.FileName)
            'Write the general section off the ini file:
            ini.WriteString("General", "Date", DateTimePicker1.Value)
            ini.WriteString("General", "Name", TextBox1.Text)

            'Write the aanvraaglijst section off the ini file:
            Dim ItemArray(Me.ListBox1.Items.Count - 1) As Object
            Me.ListBox1.Items.CopyTo(ItemArray, 0)
            Dim Data As String = Join(ItemArray, Environment.NewLine)
            ini.WriteString("Aanvraaglijst", "Drink", Data)
        End If
    End Sub

de output is als volgt:

Code:
[General]
Date=26-11-2011 21:27:43
Name=
[Aanvraaglijst]
Drink=test1
test2
test3
test4
test5

alleen me welke code kan ik het nou weer vullen in een listbox???
 
Wat moet er dan geladen worden? Waar slaat test1, test2 etc. op? :confused:
 
in listbox2 moeten dus die test dingen komen te staan (die uit de sleutel Drink komen)

die test slaat op een test fase van mijn script...
 
ik heb dus 2 programma's:

1 is een user program (daar kunnen ze hun wensen invullen (die komen dan in een listbox te staan en vervolgens kunnen ze geexporteerd worden naar een ini file))
2e is een admin control panel waarin ik hun wensenlijstje inlaad in een listbox.

ik moet dus een code weten/hebben waarmee ik de opgeslagen waardes uit de ini file kan inladen als items in het 2e programma (listbox)
 
In dat geval klopt je INI niet. Ik zou het zo oplossen:

Code:
[General]
Date=26-11-2011 21:27:43
Name=
[Aanvraaglijst]
AantalDrink=5
Drink1=test1
Drink2=test2
Drink3=test3
Drink4=test4
Drink5=test5

En dan zo inladen:
[CPP]Dim aantal As Integer = ini.GetInteger("Aanvraaglijst", "AantalDrink", 0)
For i As Integer = 1 To aantal
ListBox1.Items.Add(ini.GetString("Aanvraaglijst", "Drink" & i.ToString, ""))
Next[/CPP]
 
oke dank je,

maar hoe vul ik dan aantaldrink?

en hoe voer ik het op jouw wijze in het ini bestand?
 
[cpp]Ini.WriteString("Aanvraaglijst","AantalDrink",ListBox1.Items.Count)
Dim i As Integer = 0
For Each item In ListBox1.Items
i+=1
Ini.WriteString("Aanvraaglijst","Drink" & i.ToString, item)
Next[/cpp]

Uit m'n hoofd geschreven. Maar volgens mij is 't wel goed zo :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan