Dnes ještě jeden dotaz. Mám napsanou třídu, která mi zajišťuje ukládání. Chtěl bych aby probíhalo i automatické ukládání např. po deseti minutách do vlastního souboru pro případ výpadku proudu, či uživatelské chybě, že aplikaci zavře bez uložení (i když je varován) Jelikož se bude aplikace nadále rozšiřovat, tak chci mít kód ukládání jenom jeden.
Sub UlozeniBalance()
If Form1.SaveFile_Balance.ShowDialog() = DialogResult.OK Then
Dim soubor As String = Form1.SaveFile_Balance.FileName
If File.Exists(soubor) Then
If MsgBox("Soubor existuje. Přepsat?", MsgBoxStyle.OkCancel Or MsgBoxStyle.Question, "Přepsání souboru") = MsgBoxResult.Cancel Then Exit Sub
End If
Dim save As New RecordWriter(soubor)
' kod verze aplikace
save.write("[VERZE]")
save.write("ver.1,0")
' Informace
save.write("[INFORMACE]")
.
.
.
save.close()
MsgBox("Soubor uložen", MsgBoxStyle.Information Or MsgBoxStyle.OkOnly, "Uložení souboru kombinace MT, AT")
Else
MsgBox("Soubor nebyl uložen", MsgBoxStyle.Exclamation Or MsgBoxStyle.OkOnly, "Uložení souboru kombinace MT, AT")
End If
End Sub
Je v tomto případě vhodné použít Goto, nebo použít druhou možnost viz níže. Popřípadně použít třetí možnost, která mě nenapadá...
Sub UlozeniBalance(Optional ByVal autosave As Boolean = False)
Dim soubor As String
If autosave = True Then
soubor = IO.Path.Combine(Application.StartupPath, "Backup/neco.blc")
Else
If Form1.SaveFile_Balance.ShowDialog() = DialogResult.OK Then
soubor = Form1.SaveFile_Balance.FileName
If File.Exists(soubor) Then
If MsgBox("Soubor existuje. Přepsat?", MsgBoxStyle.OkCancel Or MsgBoxStyle.Question, "Přepsání souboru") = MsgBoxResult.Cancel Then Exit Sub
End If
Else
MsgBox("Soubor nebyl uložen", MsgBoxStyle.Exclamation Or MsgBoxStyle.OkOnly, "Uložení souboru kombinace MT, AT")
Exit Sub
End If
End If
Dim save As New RecordWriter(soubor)
' kod verze aplikace
save.write("[VERZE]")
save.write("ver.1,0")
' Informace
save.write("[INFORMACE]")
.
.
.
' konec verze 1.0
save.close()
MsgBox("Soubor uložen", MsgBoxStyle.Information Or MsgBoxStyle.OkOnly, "Uložení souboru kombinace MT, AT")
End Sub
|