Programacion

12

Click here to load reader

Transcript of Programacion

Page 1: Programacion

1 - Contar archivos en un directorio

Texto plano Copiar código fuente Imprimir

1. Private Sub Form1_Load(ByVal sender As System.Object, _ 2. ByVal e As System.EventArgs) _ 3. Handles MyBase.Load 4.5. Try 6.7. Dim ContadorDeArchivos As

System.Collections.ObjectModel.ReadOnlyCollection(Of String) 8. 'le indicamos el path que queremos 9. ContadorDeArchivos = My.Computer.FileSystem.GetFiles("C:\

WINDOWS") 10. 'nos devuelve la cantidad de archivos 11.12. MsgBox("La Cantidad de Archivos es: " &

CStr(ContadorDeArchivos.Count)) 13. ' error 14. Catch oExcep As Exception 15. MsgBox("Descripción del error : " & _ 16. oExcep.Message, MsgBoxStyle.Critical, "Error") 17. End Try 18.19. End Sub

2 - Crear un archivo vacío ( método Create - objeto System.IO.File )

Texto plano Copiar código fuente Imprimir

1. Private Sub Form1_Load(ByVal sender As System.Object, _ 2. ByVal e As System.EventArgs) Handles MyBase.Load 3.4.5. Try 6. Dim Archivo As System.IO.FileStream 7. ' crea un archivo vacio prueba.txt 8. Archivo = System.IO.File.Create("c:\Prueba.txt") 9. ' error 10. Catch oe As Exception 11. MsgBox(oe.Message, MsgBoxStyle.Critical) 12. End Try 13. End Sub

Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles MyBase.Load

Try

Dim ContadorDeArchivos As System.Collections.ObjectModel.ReadOnlyColle 'le indicamos el path que queremos ContadorDeArchivos = My.Computer.FileSystem.GetFiles("C:\WINDOWS") 'nos devuelve la cantidad de archivos

Page 2: Programacion

3 - Crear un archivo plano y añadirle texto ( método WriteLine del objeto StreamWriter. Espacio de nombres System.IO )

Texto plano Copiar código fuente Imprimir

1. Option Explicit On 2.3. Imports System.IO 4.5. Public Class Form1 6.7. Private Sub Form1_Load(ByVal sender As System.Object, _ 8. ByVal e As System.EventArgs) _ 9. Handles MyBase.Load 10.11. Dim oSW As New StreamWriter("C:\archivo_prueba.txt") 12.13. Dim Línea As String = "Línea de texto " & vbNewLine & "Otra

linea de texto" 14. oSW.WriteLine(Linea) 15. oSW.Flush() 16.17. End Sub 18. End Class

4 - My.Computer.FileSystem.GetFiles - Listar archivos

Ejemplo que carga y lista en un control listbox, los archivos de una carpeta

Colocar un ListBox1

Texto plano Copiar código fuente Imprimir

1. Private Sub Form1_Load(ByVal sender As System.Object, _

Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load

Try Dim Archivo As System.IO.FileStream ' crea un archivo vacio prueba.txt Archivo = System.IO.File.Create("c:\Prueba.txt") ' error Catch oe As Exception

Option Explicit On

Imports System.IO

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles MyBase.Load

Page 3: Programacion

2. ByVal e As System.EventArgs) Handles MyBase.Load 3.4. Try 5. ' lista todos los archivos dll del directorio windows _ 6. ' SearchAllSubDirectories : incluye los Subdirectorios 7. ' SearchTopLevelOnly : para buscar solo en el nivel actual 8. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 9. For Each Archivo As String In My.Computer.FileSystem.GetFiles( _ 10. "c:\windows", _ 11. FileIO.SearchOption.SearchAllSubDirectories, _ 12. "*.dll") 13.14. ListBox1.Items.Add(Archivo) 15. Next 16. ' errores 17. Catch oe As Exception 18. MsgBox(oe.Message, MsgBoxStyle.Critical) 19. End Try 20. End Sub

5 - My.Computer.FileSystem.FindInFiles - Buscar dentro de un fichero

Lo siguiente Busca en un directorio archivos que contengan una cadena de texto determinada

Controles : un ListBox1 en el form

Texto plano Copiar código fuente Imprimir

1. Private Sub Form1_Load(ByVal sender As System.Object, _ 2. ByVal e As System.EventArgs) Handles MyBase.Load 3.4. Try 5.6. Dim Archivo As

System.Collections.ObjectModel.ReadOnlyCollection(Of String) 7. ' busca "Hola mundo" en un solo nivel ( SearchTopLevelOnly ) en

el directorio c: 8. Archivo = My.Computer.FileSystem.FindInFiles( _ 9. "C:\", _ 10. "Hola Mundo", _ 11. True, _ 12. FileIO.SearchOption.SearchTopLevelOnly) 13. ' recorre la lista 14. For Each name As String In Archivo 15. ' Agrega 16. ListBox1.Items.Add(name) 17. Next 18. ' error 19. Catch oe As Exception

Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load

Try ' lista todos los archivos dll del directorio w indow s _ ' SearchAllSubDirectories : incluye los Subdirectorios ' SearchTopLevelOnly : para buscar solo en el nivel actual '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' For Each Archivo As String In My.Computer.FileSystem.GetFiles( _ "c:\w indow s", _

Page 4: Programacion

20. MsgBox(oe.Message, MsgBoxStyle.Critical) 21. End Try 22. nd Sub

6 - Comprobar si un directorio o archivo Existe

Propiedad Exist del objeto Directory y el objeto File. (Espacio de nombres System.IO)

Texto plano Copiar código fuente Imprimir

1. Option Explicit On 2.3. Imports System.IO 4.5. Public Class Form1 6.7. Private Sub Form1_Load(ByVal sender As System.Object, _ 8. ByVal e As System.EventArgs) _ 9. Handles MyBase.Load 10.11. ' Directory 12. If Directory.Exists("c:\windows") Then 13. MsgBox("La carpeta existe", MsgBoxStyle.Information) 14. Else 15. MsgBox("No existe", MsgBoxStyle.Information) 16. End If 17.18. If File.Exists("c:\windows\explorer.exe") Then 19. MsgBox("Existe", MsgBoxStyle.Information) 20. Else 21. MsgBox("No existe", MsgBoxStyle.Information) 22. End If 23. End Sub 24. End Class

Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load

Try

Dim Archivo As System.Collections.ObjectModel.ReadOnlyCollection(Of Strin ' busca "Hola mundo" en un solo nivel ( SearchTopLevelOnly ) en el directori Archivo = My.Computer.FileSystem.FindInFiles( _ "C:\", _ "Hola Mundo", _

Option Explicit On

Imports System.IO

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles MyBase.Load

Page 5: Programacion

7 - Renombrar un archivo

( My.Computer.FileSystem.RenameFile )

Texto plano Copiar código fuente Imprimir

1. Option Explicit On 2.3. Public Class Form1 4. Private Sub Form1_Load( _ 5. ByVal sender As System.Object, _ 6. ByVal e As System.EventArgs) Handles MyBase.Load 7. ' ruta del archivo y el nuevo nombre 8. Dim sPath As String = "c:\archivo.txt" 9. Dim sNuevoNombre As String = "archivo_Renombrado.txt" 10.11. Try 12. ' Renombrarlo con la función renameFile 13. My.Computer.FileSystem.RenameFile(sPath, sNuevoNombre) 14. MsgBox("Ok.", MsgBoxStyle.Information, "Renombrar archivo") 15. ' errores 16. Catch ex As Exception 17. MsgBox(ex.Message.ToString, MsgBoxStyle.Critical) 18. End Try 19. End Sub 20.21. End Class

8 - Mover

( My.Computer.FileSystem.MoveFile )

Texto plano Copiar código fuente Imprimir

1. Option Explicit On 2.3. Public Class Form1 4. Private Sub Form1_Load( _ 5. ByVal sender As System.Object, _ 6. ByVal e As System.EventArgs) Handles MyBase.Load 7. ' ruta del archivo origen y el nuevo path y nombre 8. Dim sArchivoOrigen As String = "c:\archivo.txt" 9. Dim sRutaDestino As String = "d:\archivo.txt" 10.11. Try 12. ' Mover el fichero.si existe lo sobreescribe 13. My.Computer.FileSystem.MoveFile(sArchivoOrigen, _ 14. sRutaDestino, _ 15. True)

Option Explicit On

Public Class Form1 Private Sub Form1_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' ruta del archivo y el nuevo nombre Dim sPath As String = "c:\archivo.txt" Dim sNuevoNombre As String = "archivo_Renombrado.txt"

Page 6: Programacion

16. MsgBox("Ok.", MsgBoxStyle.Information, "Mover archivo") 17. ' errores 18. Catch ex As Exception 19. MsgBox(ex.Message.ToString, MsgBoxStyle.Critical) 20. End Try 21. End Sub 22. End Class

9 Eliminar archivos y carpetas

( My.Computer.FileSystem.DeleteFile )

( My.Computer.FileSystem.DeleteDirectory )

Texto plano Copiar código fuente Imprimir

1. Option Explicit On 2.3. Public Class Form1 4. Private Sub Form1_Load( _ 5. ByVal sender As System.Object, _ 6. ByVal e As System.EventArgs) Handles MyBase.Load 7.8. Try 9. ' Eliminar el archivo, mostrando el cuadro 10. 'de diálogo de eliminar de windows para confirmar 11. Dim sdir As String = "c:\Nueva carpeta" 12. Dim Spath As String = "c:\archivo.txt" 13.14. ' Archivo 15. My.Computer.FileSystem.DeleteFile( _ 16. Spath, _ 17. FileIO.UIOption.AllDialogs, _ 18. FileIO.RecycleOption.SendToRecycleBin, _ 19. FileIO.UICancelOption.DoNothing) 20.21. ' carpeta 22. My.Computer.FileSystem.DeleteDirectory( _ 23. sdir, _ 24. FileIO.UIOption.AllDialogs, _ 25. FileIO.RecycleOption.SendToRecycleBin, _ 26. FileIO.UICancelOption.DoNothing) 27.28. ' errores 29. Catch ex As Exception 30. MsgBox(ex.Message.ToString, MsgBoxStyle.Critical) 31. End Try 32. End Sub 33. End Class

Option Explicit On

Public Class Form1 Private Sub Form1_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load ' ruta del archivo origen y el nuevo path y nombre Dim sArchivoOrigen As String = "c:\archivo.txt" Dim sRutaDestino As String = "d:\archivo.txt"

Page 7: Programacion

10 - Crear un archivo temporal

( My.Computer.FileSystem.GetTempFileName )

Texto plano Copiar código fuente Imprimir

1. Option Explicit On 2.3. Public Class Form1 4. Private Sub Form1_Load( _ 5. ByVal sender As System.Object, _ 6. ByVal e As System.EventArgs) Handles MyBase.Load 7.8. Try 9. ' crea el archivo en el directorio temp del usuario 10. Dim sTempFile As String =

My.Computer.FileSystem.GetTempFileName.ToString 11. ' muestra la ruta 12. MsgBox("Archivo creado en la dirección :" & _ 13. vbNewLine & _ 14. sTempFile, _ 15. MsgBoxStyle.Information, "Ruta del temporal") 16.17. ' errores 18. Catch ex As Exception 19. MsgBox(ex.Message.ToString, MsgBoxStyle.Critical) 20. End Try 21. End Sub 22. End Class

Option Explicit On

Public Class Form1 Private Sub Form1_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load

Try ' Eliminar el archivo, mostrando el cuadro 'de diálogo de eliminar de w indow s para confirmar

Option Explicit On

Public Class Form1 Private Sub Form1_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load

Try ' crea el archivo en el directorio temp del usuario Dim sTempFile As String = My.Computer.FileSystem.GetTempFileName.ToStri

Page 8: Programacion

11 - Leer todo el contenido de un archivo de texto en una solo operación, y almacenarlo en una variable

( My.Computer.FileSystem.ReadAllText )

Texto plano Copiar código fuente Imprimir

1. Option Explicit On 2.3. Public Class Form1 4. Private Sub Form1_Load( _ 5. ByVal sender As System.Object, _ 6. ByVal e As System.EventArgs) Handles MyBase.Load 7.8. Try 9. Dim SPath As String = "c:\un_archivo.txt" 10. Dim sContent As String = vbNullString 11.12. With My.Computer.FileSystem 13. ' verifica si existe el path 14. If .FileExists(SPath) Then 15. ' lee todo el contenido 16. sContent = .ReadAllText(SPath) 17. MsgBox(sContent.ToString, MsgBoxStyle.Information, "Datos") 18. Else 19. MsgBox("ruta inválida", MsgBoxStyle.Critical, "error") 20. End If 21. End With 22. ' errores 23. Catch ex As Exception 24. MsgBox(ex.Message.ToString, MsgBoxStyle.Critical) 25. End Try 26. End Sub 27. End Class

Option Explicit On

Public Class Form1 Private Sub Form1_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load

Try Dim SPath As String = "c:\un_archivo.txt" Dim sContent As String = vbNullString

Page 9: Programacion

12 - Cargar directorios y archivos en un ListBox ( Métodos GetFiles y GetDirectories)

Colocar en un formulario dos controles ListBox

Texto plano Copiar código fuente Imprimir

1. Option Explicit On 2. Option Strict On 3.4. Imports System.IO 5.6. Public Class Form1 7.8. Private Sub Form1_Load( _ 9. ByVal sender As System.Object, _ 10. ByVal e As System.EventArgs) Handles MyBase.Load 11.12. ' Obtener todos los archivos .exe del directorio windows

( inclyendo subdirectorios ) 13. For Each archivos As String In Directory.GetFiles("c:\windows",

_ 14. "*.exe", _ 15. SearchOption.AllDirectories) 16. ' extraer el nombre de la ruta 17. archivos = archivos.Substring(archivos.LastIndexOf("\") +

1).ToString 18. ' Agregar el valor al listbox 19. ListBox1.Items.Add(archivos.ToString) 20. Next 21.22. ' Obtener todos los directorios del directorio c: ( un solo

nivel ) 23. For Each archivos As String In Directory.GetDirectories("c:\",

"*.*", SearchOption.TopDirectoryOnly) 24. ' extraer el nombre de la carpeta de la ruta completa 25. archivos = archivos.Substring(archivos.LastIndexOf("\") +

1).ToString 26. ' Agregar el valor 27. ListBox2.Items.Add(archivos.ToString) 28. Next 29.30. End Sub 31. End Class

Option Explicit OnOption Strict On

Imports System.IO

Public Class Form1

Private Sub Form1_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load

Page 10: Programacion

13 - Obtener propiedades

Ejemplo que usa la clase FileInfo de system.IO para obtener algunas propiedades y datos de archivos ( el nombre , la fecha y la hora de modificación en formato corto , el tamaño en bytes y la extensión )

Colocar un control Listview, un button y un control TextBox

Código fuente en el formulario principal

Texto plano Copiar código fuente Imprimir

1. Option Explicit On 2. Option Strict On 3.4. Imports System.IO 5.6. Public Class Form1 7.8. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load 9. ' agregar columnas 10. With ListView1 11. .Columns.Add("Nombre", 150) 12. .Columns.Add("Fecha y hora de modificación", 150) 13. .Columns.Add("Tamaño - bytes ", 100) 14. .Columns.Add("Extensión", 80) 15.16. .View = View.Details 17. .GridLines = True 18. End With 19. Button1.Text = "Listar propiedades" 20. TextBox1.Text = "c:\windows" 21. End Sub 22.23. Private Sub Button1_Click( _ 24. ByVal sender As System.Object, _ 25. ByVal e As System.EventArgs) Handles Button1.Click 26.27.28. ListView1.Items.Clear() 29. Try 30. ' recorrer los ficheros en la colección 31. For Each sFichero As String In Directory.GetFiles( _ 32. TextBox1.Text, "*.*", _ 33. SearchOption.TopDirectoryOnly)

Page 11: Programacion

34.35. ' Crear nuevo objeto FileInfo 36. Dim Archivo As New FileInfo(sFichero) 37.38. ' Crear nuevo objeto ListViewItem 39. Dim item As New ListViewItem(Archivo.Name.ToString) 40.41. ' cargar los datos y las propiedades 42. With item 43.44. ' LastWriteTime - fecha de modificación 45. .SubItems.Add(Archivo.LastWriteTime.ToShortDateString & " " & _ 46. Archivo.LastWriteTime.ToShortTimeString) 47. ' Length - tamaño en bytes 48. .SubItems.Add(Archivo.Length.ToString) 49.50. ' Extension - extensión 51. .SubItems.Add(Archivo.Extension.ToString) 52.53. ListView1.Items.Add(item) ' añadir el item 54.55. End With 56.57. Next 58. ' errores 59. Catch ex As Exception 60. Debug.Print(ex.Message.ToString) 61. Beep() 62. End Try 63.64. End Sub 65. End Class