Bij houden hoe vaak het programma gestart word met tekst uit textbox

Status
Niet open voor verdere reacties.

Doofenshmirt

Gebruiker
Lid geworden
3 nov 2011
Berichten
222
Hallo,

Hoe kan ik bij houden hoe vaak een programma gestart word en dan de tekst uit textbox1 wordt opgeslagen.

Denk aan een txt bestandje maar zou niet weten hoe.
 
Je kan in ApplicationEvents een StartUp sub maken waarin je een integer steeds met 1 verhoogd.

Tekst opslaan kan op verschillende manieren:

1:
Code:
        My.Computer.FileSystem.WriteAllText(file As String, text As String, append As Boolean)

2:
Code:
        Using Writer As New StreamWriter(Path As String)
        Writer.Write(value As String)
        End Using
 
Ik heb nu dit.
Het werkt wel ,of bedoelde je iets anders ?

Hij zet de tekst van label1 nu in een txtfile telkens onder elkaar.

Maar het mooiste zou zijn als er een getal bij komt , want nu moet ik steeds de tekst tellen in het txt bestandje.


Code:
 Const mfileName As String = "C:\test.txt"
    

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim file As System.IO.StreamWriter
        file = My.Computer.FileSystem.OpenTextFileWriter(mfileName, True)
        file.WriteLine(Label1.Text)
        file.Close()
    End Sub


Zoiets zou het moeten worden dat hij de tekst zo wegschrijft , of is dit niet mogelijk ?
bv
Code:
1tekst
2tekst
3tekst
enz
 
Maar wat wil je daarmee bereiken dan? Je wilt toch tellen hoe vaak een programma opgestart word? Dan heb je aan een simpele integer genoeg, dus ik snap niet waar dan 1tekst, 2tekst, 3tekst, etc voor is.
 
Hij doet nu wat ik eigenlijk wil , de tekst van een label of textbox naar een txtfile schrijven bij opstarten.

Maar was misschien handig als er een nummer voor stond , maar voldoet nu ook.
 
Gebruik dan een integer die je steeds met 1 verhoogd. Die integer plaats je dan vóór je... 'tekst' in dat tekstbestand.

Vertel nou eens wat 'tekst' dan moet voorstellen? Is dat soms het tijdstip waarop het programma gestart werd?
 
Hoi,

Nou dat tekst is eigenlijk maar een voorbeeld, hij geeft eigenlijk de tekst een label weer.

Ik bedoel eigenlijk een nummer er voor zo als je bedoelde .
Code:
Gebruik dan een integer die je steeds met 1 verhoogd.

Maar ik geen idee hoe dit er uit ziet of hoe ik dat er tussen moet zetten.

Heb je misschien een voorbeeldje ?
 
Integer variabel declareren:

Code:
Dim iCounter As Integer

In de MyBase.StartUp sub (te vinden in ApplicationEvents) OF in de MyBase.Load (Form_Load) sub:

Code:
'Verhoog de waarde van iCounter met 1
iCounter += 1

Schrijven naar txt:

Code:
  Using Writer As New StreamWriter(Path As String)
        Writer.WriteLine(iCounter & " " & Label1.Text)
        End Using
 
Ik krijg hier een melding

Code:
(Path As string)


Comma, ')', or a valid expression continuation expected.
 
Je moet daar dan ook wel wat invullen.

Een pad waar je je bestand opslaat. :rolleyes:
 
Ja had net verzenden gedrukt toen in het zag:o

Hij schrijft weg maar niet met optellen , hij blijft bij 1

Code:
Imports System.IO
Public Class Form1
   
    Dim iCounter As Integer
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Verhoog de waarde van iCounter met 1
        iCounter += 1
        Using Writer As New StreamWriter("C:\test.txt")
            Writer.WriteLine(iCounter & " " & Label1.Text)
        End Using
    End Sub
 
Nee dat is ook niet zo gek, omdat je steeds opnieuw iCounter declareerd.

Ik vergat er bij te zeggen dat je de waarde van iCounter ergens moet vastzetten, bijvoorbeeld in het register, in een tekstbestandtje of in de Settings. Dat kun je doen in de Form_Closing sub of in MyBase.ShutDown sub in ApplicationSettings.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan