disable een compleet form

Status
Niet open voor verdere reacties.
maar dan een , na de 0 1 en 2 (meerdimensionele) en dan gewoon intbovegrens( mijn teller/getupperbound)

maar euhm
Code:
For i As Integer = 0 To Form2.DeArray.Length - 1
            ListBox1.Items.Add(Form2.DeArray(i))
        Next
werkt niet, als ik de namen van alles invul, waar ik het ook zet ik krijg altijd wel bij iets een fout, form2.dearray.length heb ik wel vervangen door mijn teller..

Code:
        For i As Integer = 0 To intbovengrens - 1
            frmAgenda.lstagenda.Items.Add(stragenda(1, i))
        Next
mijn fout :D het werkt

hmmm,
Code:
        stragenda(, ) = New String() {stragenda(0, intbovengrens), stragenda(1, intbovengrens), stragenda(2, intbovengrens), txtNaam.Text, dtpdatum.Text, rtbbericht.Text}

een meerdimensionele array gaat hierin dus niet?
 
Laatst bewerkt door een moderator:
Nope, niet echt nee. Volgens mij kan je 'm wel zodanig bewerken dat hij wel goed werkt met een multi-d array. Ik zal er even naar kijken.

Maar even een vraagje, waarom gebruik je een multi-dimensionele array? Ik heb het gevoel dat je beter iets anders kan gebruiken.
 
@dejobse
Gebruik de volgende keer de knop "aanpassen bericht" om je bericht aan te passen i.p.v. drie berichten direct achter elkaar te plaatsen
 
Wat dan? en omdat ik altijd 3 rijen heb en dan x kolommen, er komt een kolom bij als je een agendapunt toevoegt... dus hoe ik dit anders zou doen weet ik niet? ik moet de array ook gaan sorteren op datum btw

@mod, Oke ik zal eraan denken, sorry..

hmm, ik zou nog een dingetje moeten hebben:

dus je hebt eerst de datum vb 25 augustus 2011 dan moet hierachter ergens een naam komen maar ik zou die graag op 1 lijn in de listbox dus dat ze allemaal beginnen op vb het 20ste teken( in word vb een tab) ik kan niks vinden over na een bepaald aantal tekens( dus stel het is mei 3 tekens tov augustus heeft er 8) dus bij mei moeten er dan nog 17 bij maar bij augustus maar 12 (spaties)

alvast bedankt voor al jullie hulp!
 
Laatst bewerkt:
Het beste kan je dan een ArrayList of een gewone List gebruiken, want als je het op deze manier:

PHP:
    Dim A(1, 1) As String


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        A(0, 0) = "Hoi"
        A(0, 1) = "Hoi2"
        A(1, 0) = "Hey"
        A(1, 1) = "Hey2"

        A = New String(,) {{A(0, 0), A(0, 1)}, {A(1, 0), A(1, 1)}, {"Hallo1", "Hallo2"}}
    End Sub

Gaat oplossen, kan je lang schrijven en het is onhandig. Dus een ArrayList of een List zou ik persoonlijk gebruiken.
 
ik zou ook een list gebruiken maarja... ik heb het gevraagd aan mijn leerkracht, nu wachten op reactie...
denk je echt dat het zo moeilijk is? uits een een sequentielbestand halen doe je toch ook gewoon door te zeggen op welke lijn hij moet beginnen zoeken, en schrijven gaat dit ook zo :s

of zou ik gewoon een textbox voor de listbox zetten? en daar de data in?
 
Ik snap je vraag niet helemaal, maar ik kan proberen een voorbeeldje te maken als je duidelijk aangeeft wat er moet gebeuren, eventueel met plaatjes als het mag :)
 
se9jj4.png


dit bekom ik zo, ik denk dat ik het gewoon zo doe... als je een beter oplossing, liever dat dan, maar dit is ook al een goed voorbeeld

EDIT:
een meerdimensionale array, hoe sorteer je dit? ik dacht gewoon: array.sort(mijnarray) maar dit gaat niet voor meerdimensionale arrays. wel jammer...
 
Laatst bewerkt:
Ik heb even iets gemaakt, en hoop dat het je wat verder helpt :)
Het programma maakt gebruik van een simpele listview. Een listview is eigenlijk een uitgebreide listbox, zie hier voor meer informatie.

Oké, dus wat ik gemaakt heb is het volgende:

iAgXG.png


Nadat ik wat items toegevoegd heb:

s5fjC.png


En dan is er een menu links bovenin -->
CZZ3S.png


Als je 'm gaat opslaan krijg je dit als resultaat in een tekst-bestand:

myE84.png


En als ik de app opnieuw opstart en dan op ''Laden'' druk krijg ik ze weer terug in de listview:

5USbY.png




Download het project hier: http://www.mijnbestand.nl/Bestand-GA3ZCRPF6J6G.rar
Ik heb er wat commentaar bij gezet, dan kan je het waarschijnlijk wat beter begrijpen. Als je geen zin hebt om het te downloaden kan je ook even hier naar kijken:

Insert knop:
gnRIM.png


Opslaan knop:
OKasV.png


Laden knop:
cbz7b.png


PHP:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnInsert.Click
        'Nieuwe item in de listview toevoegen met de ingegeven data.
        ListView1.Items.Add(New ListViewItem(New String() {DateTimePicker1.Value.Date, txtAgendapunt.Text}))
    End Sub
    Private Sub tsmiOpslaan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsmiOpslaan.Click
        'Nieuwe openfiledialog aanmaken
        Dim sfd As New SaveFileDialog
        'Als de gebruiker op OK heeft gedrukt
        If sfd.ShowDialog() = DialogResult.OK Then
            'Maakt hij een schrijver aan die de data gaat wegschrijven naar het bestand dat gekozen is door de gebruiker.
            Dim Schrijver As New IO.StreamWriter(sfd.FileName)
            'Loopen en alle gegevens wegschrijven naar het bestand.
            For i As Integer = 0 To (ListView1.Items.Count - 1)
                Schrijver.WriteLine(ListView1.Items(i).Text + "|" + ListView1.Items(i).SubItems(1).Text + "|")
            Next
            'Schrijver sluiten (alles word opgeslagen)
            Schrijver.Close()
            'Laten zien dat het gelukt is.
            MessageBox.Show("Opgeslagen!")
        End If
    End Sub
    Private Sub tsmiLaden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsmiLaden.Click
        'Eerst alle items uit de listview halen
        ListView1.Items.Clear()
        'Nieuwe openfiledialog aanmaken
        Dim ofd As New OpenFileDialog
        'Als de gebruiker op OK heeft gedrukt en een bestand heeft gekozen wat geopent moet worden,
        If ofd.ShowDialog() = DialogResult.OK Then
            'Nieuwe lezer aanmaken
            Dim Lezer As New IO.StreamReader(ofd.FileName)
            'Alles in een array stoppen, gesplit met het | teken.
            'Dus dit: "15-05-01|Een afspraak"
            'Word dit: Data(0) = "15-05-01" en Data(1) = "Een afspraak"
            Dim Data() As String = Lezer.ReadToEnd().Split("|")
            'Lezer sluiten
            Lezer.Close()
            'Loopen en alle gegevens inlezen naar de listview.
            For i As Integer = 0 To Data.Length - 2 Step +2
                ListView1.Items.Add(New ListViewItem(New String() {Data(i), Data(i + 1)}))
            Next
            'Laten zien dat het gelukt is.
            MessageBox.Show("Succesvol ingeladen!")
        End If
    End Sub

Succes :)
 
Laatst bewerkt:
Waar zijn die | teken op het eind van elke regel voor?

En moet dit
'Word dit: Data(1) = "15-05-01" en Data(2) = "Een afspraak"
Niet zo:
'Word dit: Data(0) = "15-05-01" en Data(1) = "Een afspraak"

En:
'Lezer sluiten
Lezer.Close()

Moet je Lezer.Dispose ook niet aanroepen dan?
 
I'm sorry, kleine fout met het de indexen van de arrays :o gefixed.

Die vertical bar char is om het te splitten van elkaar, anders krijg je ze niet in een aparte listviewitem/subitem.

Lezer.Dispose is niet perse nodig, sluiten is al genoeg. Alleen in grote projecten zou ik overwegen om Dispose te gebruiken. Meer info
 
(Wat had ik nu graag quotes gebruikt. Jij ook zeker?)

Niet als je per regel leest, dan is een | op eind niet nodig.

Je kan ook gebruik maken van het Using keyword. Dan wordt dispose en/of close automatisch uitgevoerd, dus is het niet langer nodig deze zelf nog te programeren.
Voorbeeld:
Dim sw As New StreamWriter("C:/TestFile.txt")
sw.WriteLine("Aloha!")
sw.Dispose()
word:
Code:
  Using sw As New StreamWriter("C:/TestFile.txt")
  sw.WriteLine("Aloha!")
  End Using

Wat betreft Dispose, als je ervoor kiest om niet het Using keyword te gebruiken, denk ik toch dat je nog Dispose() moet aanroepen om je vuilnis weg te gooien (Garbage Collecting) en daarna het object daadwerkelijk af te sluiten met Close().
Dit heeft een gast CodeProject mij aangeleerd.
Ik heb regelmatig gezien dat ik een error kreeg als ik een object, een StreamReader/StreamWriter bijvoorbeeld niet netjes afsluit met Dispose() en Close().
 
Laatst bewerkt:
Nee maar het werkt, zoals het nu is is er misschien niet optimaal gebruik gemaakt van de mogelijkheden van Visual Basic .NET, maar het werkt prima.

En dat van het using is me niet onbekend hoor ;) Laten we het topic niet hijacken, ben op msn als je wilt praten ;p
 
De taak werkt en is binnen geleverd, allemaal heel erg bedankt om me zo te helpen!

metvriendelijkegroet,
dejobse
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan