Ejemplo UNO
''' <summary>
''' Ejecutar la tarea de grabar un texto en disco
''' </summary>
Public Overrides Sub ExecuteTrabajo()
Dim taskSave As New System.Threading.Tasks.Task(Sub()
ExecuteSaveFileAsync(NombreFicheroFileInfo,
TextoQueSeGrabaEnDisco,
Codificacion)
End Sub)
' Arrancar la ejecución de la tarea.
taskSave.Start()
' Esperar a que termine la tarea
taskSave.Wait()
'Call ExecuteSaveFileAsync(NombreFicheroFileInfo, TextoQueSeGrabaEnDisco, Codificacion)
End Sub
Private Shared Async Sub ExecuteSaveFileAsync(
ByVal paramNombreFicheroFileInfo As System.IO.FileInfo,
ByVal paramTextoQueSeGrabaEnDisco As String,
ByVal paramCodificacion As System.Text.Encoding)
'---------------------------
' Control de datos de entrada
' /Eof Control de datos de entrada
'--------------------------------------------
' comprobar que existe el directorio, si no crearlo
' así se evitan errores tontos
Dim localPath As String = paramNombreFicheroFileInfo.DirectoryName
If System.IO.Directory.Exists(localPath) = False Then
System.IO.Directory.CreateDirectory(localPath)
End If
' Graba en disco,
Using fs As New System.IO.FileStream(
paramNombreFicheroFileInfo.FullName,
System.IO.FileMode.Create)
Using sr As New System.IO.StreamWriter(fs, paramCodificacion)
Await sr.WriteAsync(paramTextoQueSeGrabaEnDisco)
End Using
End Using
End Sub
Ejemplo DOS
''' <summary>
''' Ejecutar la tarea de grabar un texto en disco
''' </summary>
Public Sub ExecuteTrabajoAsync(
ByVal paramNombreFicheroFileInfo As System.IO.FileInfo,
ByVal paramTextoQueSeGrabaEnDisco As String)
Dim taskSave As System.Threading.Tasks.Task
' Observa las instrucciones [Async] y [Await] dode estan
taskSave = New System.Threading.Tasks.Task(Async Sub()
' La operación de grabar un texto en un fichero del disco,
Using fs As New System.IO.FileStream(
paramNombreFicheroFileInfo.FullName,
System.IO.FileMode.Create)
Using sr As New System.IO.StreamWriter(fs)
Await sr.WriteAsync(paramTextoQueSeGrabaEnDisco)
End Using
End Using
End Sub)
' Arrancar la ejecución de la tarea.
taskSave.Start()
' Esperar a que termine la tarea
taskSave.Wait()
End Sub