Notepad: code

- We moeten het programma (of ten minste dit formulier)
laten onthouden welk bestand geopend is, en of dat bestand gewijzigd is
sinds de laatste keer dat het opgeslagen is.
Dim changed As Boolean
Dim filename As String
- Om een nieuw formulie te maken:
Private Sub mnuNew_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles mnuNew.Click
Dim f As New Form1
f.Show()
End Sub
- Om het actieve formulier resp. alle formulieren te
sluiten:
Private Sub mnuClose_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles mnuClose.Click
Me.Dispose()
End Sub
Private Sub mnuCloseall_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuCloseall.Click
Application.Exit()
End Sub
- Opmaak van de weergave. Let op: het gaat over ASCII,
dus de tekst zelf wordt niet opgemaakt.
Private Sub mnuFont_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles mnuFont.Click
dlgFont.ShowDialog()
With dlgFont
txtBox.Font = dlgFont.Font 'niet alle details moeten expliciet geformuleerd
worden
End With
End Sub
- Bestanden openen:
Private Sub mnuOpen_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles mnuOpen.Click
dlgOpen.ShowDialog()
Dim fr As StreamReader
Dim ReadString As String
filename = dlgOpen.FileName
fr = New StreamReader(filename)
ReadString = fr.ReadToEnd
txtBox.Text = ReadString
End Sub
- Bestanden opslaan:
Private Sub mnuSave_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles mnuSave.Click
If filename = "" Then
mnuSaveas_Click(sender, e)
Exit Sub
End If
Dim oTxtWriter As New StreamWriter(filename)
oTxtWriter.WriteLine(CStr(txtBox.Text))
oTxtWriter.Flush()
oTxtWriter.Close()
End Sub
Private Sub mnuSaveas_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles mnuSaveas.Click
Dim filename As String
dlgSave.ShowDialog()
filename = dlgSave.FileName
Dim oTxtWriter As New StreamWriter(filename)
oTxtWriter.WriteLine(CStr(txtBox.Text))
oTxtWriter.Flush()
oTxtWriter.Close()
End Sub
- Het openen resp. opslaan van bestanden kan nog veel eenvoudiger:
- In VS2008 kan je een streamreader maken met het My sleutelwoord:
My.Computer.FileSystem.OpenTextFileWriter(bestandsnaam)
- Met een RichTextBox die een methode Loadfile heeft, en een
daarmeeovereenkomende methode SaveFile om het bestand op te slaan -
RichTextBox1.LoadFile(bestandsnaam) resp . RichTextBox1.SaveFile(bestandsnaam).
- Als het bestand is opgeslagen, onthouden we dat. Bij
wijziging onthouden we dat de wijziging niét is opgeslagen:
Private Sub txtBox_KeyPress(ByVal sender As Object,
ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtBox.KeyPress
changed = True
End Sub
- Als de gebruiker het programma of Windows afsluit,
willen we hem de kans geven de wiujzigingen op te slagen:
Private Sub Form1_Disposed(ByVal sender As Object,
ByVal e As System.EventArgs) Handles MyBase.Disposed
If changed = True Then
Select Case MsgBox("The file has been modified. Change?", vbYesNo)
Case vbYes
mnuSave_Click(sender, e)
End Select
End If
End Sub
- Meer: terug naar het
programma.
[VB Web] - [hlrnet]
- [copyright]