Programacion
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Programacion

on

  • 396 views

 

Statistics

Views

Total Views
396
Views on SlideShare
396
Embed Views
0

Actions

Likes
0
Downloads
9
Comments
0

0 Embeds 0

No embeds

Accessibility

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Programacion Document Transcript

  • 1. 1 - Contar archivos en un directorio Texto planoCopiar código fuenteImprimir 1. 2. 3. 4. 5. 6. 7. PrivateSub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ HandlesMyBase.Load Try 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. EndTry 18. 19. EndSub 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 2 - Crear un archivo vacío ( método Create - objeto System.IO.File ) Texto planoCopiar código fuenteImprimir 1. PrivateSub Form1_Load(ByVal sender As System.Object, _ 2. ByVal e As System.EventArgs) HandlesMyBase.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. EndTry 13. EndSub
  • 2. 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 3 - Crear un archivo plano y añadirle texto ( método WriteLine del objeto StreamWriter. Espacio de nombres System.IO ) Texto planoCopiar código fuenteImprimir 1. OptionExplicitOn 2. 3. Imports System.IO 4. 5. PublicClass Form1 6. 7. PrivateSub Form1_Load(ByVal sender As System.Object, _ 8. ByVal e As System.EventArgs) _ 9. HandlesMyBase.Load 10. 11. Dim oSW AsNew StreamWriter("C:archivo_prueba.txt") 12. 13. DimLíneaAsString = "Línea de texto "& vbNewLine &"Otra linea de texto" 14. oSW.WriteLine(Linea) 15. oSW.Flush() 16. 17. EndSub 18. EndClass 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 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 planoCopiar código fuenteImprimir 1. PrivateSub Form1_Load(ByVal sender As System.Object, _
  • 3. 2. ByVal e As System.EventArgs) HandlesMyBase.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. ForEach Archivo AsStringIn 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. EndTry 20. EndSub 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", _ 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 planoCopiar código fuenteImprimir 1. 2. 3. 4. 5. 6. PrivateSub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) HandlesMyBase.Load Try 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. ForEach name AsStringIn Archivo 15. ' Agrega 16. ListBox1.Items.Add(name) 17. Next 18. ' error 19. Catch oe As Exception
  • 4. 20. MsgBox(oe.Message, MsgBoxStyle.Critical) 21. EndTry 22. ndSub 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", _ 6 - Comprobar si un directorio o archivo Existe Propiedad Exist del objeto Directory y el objeto File. (Espacio de nombres System.IO) Texto planoCopiar código fuenteImprimir 1. OptionExplicitOn 2. 3. Imports System.IO 4. 5. PublicClass Form1 6. 7. PrivateSub Form1_Load(ByVal sender As System.Object, _ 8. ByVal e As System.EventArgs) _ 9. HandlesMyBase.Load 10. 11. ' Directory 12. IfDirectory.Exists("c:windows") Then 13. MsgBox("La carpeta existe", MsgBoxStyle.Information) 14. Else 15. MsgBox("No existe", MsgBoxStyle.Information) 16. EndIf 17. 18. IfFile.Exists("c:windowsexplorer.exe") Then 19. MsgBox("Existe", MsgBoxStyle.Information) 20. Else 21. MsgBox("No existe", MsgBoxStyle.Information) 22. EndIf 23. EndSub 24. EndClass 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
  • 5. 7 - Renombrar un archivo ( My.Computer.FileSystem.RenameFile ) Texto planoCopiar código fuenteImprimir 1. OptionExplicitOn 2. 3. PublicClass Form1 4. PrivateSub Form1_Load( _ 5. ByVal sender As System.Object, _ 6. ByVal e As System.EventArgs) HandlesMyBase.Load 7. ' ruta del archivo y el nuevo nombre 8. DimsPathAsString = "c:archivo.txt" 9. DimsNuevoNombreAsString = "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. EndTry 19. EndSub 20. 21. EndClass 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" 8 - Mover ( My.Computer.FileSystem.MoveFile ) Texto planoCopiar código fuenteImprimir 1. OptionExplicitOn 2. 3. PublicClass Form1 4. PrivateSub Form1_Load( _ 5. ByVal sender As System.Object, _ 6. ByVal e As System.EventArgs) HandlesMyBase.Load 7. ' ruta del archivo origen y el nuevo path y nombre 8. DimsArchivoOrigenAsString = "c:archivo.txt" 9. DimsRutaDestinoAsString = "d:archivo.txt" 10. 11. Try 12. ' Mover el fichero.si existe lo sobreescribe 13. My.Computer.FileSystem.MoveFile(sArchivoOrigen, _ 14. sRutaDestino, _ 15. True)
  • 6. 16. MsgBox("Ok.", MsgBoxStyle.Information, "Mover archivo") 17. ' errores 18. Catch ex As Exception 19. MsgBox(ex.Message.ToString, MsgBoxStyle.Critical) 20. EndTry 21. EndSub 22. EndClass 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" 9 Eliminar archivos y carpetas ( My.Computer.FileSystem.DeleteFile ) ( My.Computer.FileSystem.DeleteDirectory ) Texto planoCopiar código fuenteImprimir 1. OptionExplicitOn 2. 3. PublicClass Form1 4. PrivateSub Form1_Load( _ 5. ByVal sender As System.Object, _ 6. ByVal e As System.EventArgs) HandlesMyBase.Load 7. 8. Try 9. ' Eliminar el archivo, mostrando el cuadro 10. 'de diálogo de eliminar de windows para confirmar 11. DimsdirAsString = "c:Nueva carpeta" 12. DimSpathAsString = "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. EndTry 32. EndSub 33. EndClass
  • 7. 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 10 - Crear un archivo temporal ( My.Computer.FileSystem.GetTempFileName ) Texto planoCopiar código fuenteImprimir 1. OptionExplicitOn 2. 3. PublicClass Form1 4. PrivateSub Form1_Load( _ 5. ByVal sender As System.Object, _ 6. ByVal e As System.EventArgs) HandlesMyBase.Load 7. 8. Try 9. ' crea el archivo en el directorio temp del usuario 10. DimsTempFileAsString 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. EndTry 21. EndSub 22. EndClass 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 =
  • 8. 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 planoCopiar código fuenteImprimir 1. OptionExplicitOn 2. 3. PublicClass Form1 4. PrivateSub Form1_Load( _ 5. ByVal sender As System.Object, _ 6. ByVal e As System.EventArgs) HandlesMyBase.Load 7. 8. Try 9. DimSPathAsString = "c:un_archivo.txt" 10. DimsContentAsString = vbNullString 11. 12. WithMy.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. EndIf 21. EndWith 22. ' errores 23. Catch ex As Exception 24. MsgBox(ex.Message.ToString, MsgBoxStyle.Critical) 25. EndTry 26. EndSub 27. EndClass 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
  • 9. 12 - Cargar directorios y archivos en un ListBox ( Métodos GetFiles y GetDirectories) Colocar en un formulario dos controles ListBox Texto planoCopiar código fuenteImprimir 1. OptionExplicitOn 2. OptionStrictOn 3. 4. Imports System.IO 5. 6. PublicClass Form1 7. 8. PrivateSub Form1_Load( _ 9. ByVal sender As System.Object, _ 10. ByVal e As System.EventArgs) HandlesMyBase.Load 11. 12. ' Obtener todos los archivos .exe del directorio windows ( inclyendo subdirectorios ) 13. ForEacharchivosAsStringInDirectory.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. ForEacharchivosAsStringInDirectory.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. EndSub 31. EndClass Option Explicit On Option 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 13 - Obtener propiedades
  • 10. 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 planoCopiar código fuenteImprimir 1. 2. 3. 4. 5. 6. 7. 8. OptionExplicitOn OptionStrictOn Imports System.IO PublicClass Form1 PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.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. EndWith 19. Button1.Text = "Listar propiedades" 20. TextBox1.Text = "c:windows" 21. EndSub 22. 23. PrivateSub 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. ForEachsFicheroAsStringInDirectory.GetFiles( _ 32. TextBox1.Text, "*.*", _ 33. SearchOption.TopDirectoryOnly) 34. 35. ' Crear nuevo objeto FileInfo
  • 11. 36. Dim Archivo AsNewFileInfo(sFichero) 37. 38. ' Crear nuevo objeto ListViewItem 39. Dim item AsNewListViewItem(Archivo.Name.ToString) 40. 41. ' cargar los datos y las propiedades 42. Withitem 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. EndWith 56. 57. Next 58. ' errores 59. Catch ex As Exception 60. Debug.Print(ex.Message.ToString) 61. Beep() 62. EndTry 63. 64. EndSub 65. EndClass