elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Ayuda a optimizar codigo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda a optimizar codigo  (Leído 3,445 veces)
Tomas1982

Desconectado Desconectado

Mensajes: 48



Ver Perfil
Ayuda a optimizar codigo
« en: 5 Octubre 2016, 18:02 pm »

Saludos ante todo. Estoy tratando de crear una app que me sea capas de organizar las extensiones de ficheros que le oriente, hasta el momento e logrado algo que no se si es la mejor manera de hacerlo, ya que soy nuevo en la programación. A continuación les dejo el código para el que le sirva y para si me pudieran ayudar a mejorar su funcionamiento. Gracias...

     
Código
  1.  
  2. Imports System
  3. Imports System.IO
  4. Imports System.Windows
  5. Imports System.Threading.Tasks
  6. Imports System.Reflection
  7. Imports System.Text
  8. Imports System.Security.Cryptography
  9. Imports System.Security.AccessControl
  10.  
  11.  
  12. Public NotInheritable Class Form1 : Inherits Form
  13.  
  14.    Dim linea As String
  15.  
  16.       Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  17.  
  18.        Dim Ruta As String = My.Application.Info.DirectoryPath()
  19.        Dim LetraRuta As String = Mid(Ruta, 1, 3)
  20.        Label1.Text = LetraRuta
  21.  
  22.        'Cargar datos del txt
  23.        Dim lector As New StreamReader(Ruta & "\" & "test.txt")
  24.        ' Leer el contenido mientras no se llegue al final
  25.        While lector.Peek() <> -1
  26.            ' Leer una línea del fichero
  27.            linea = lector.ReadLine()
  28.            ' Si no está vacía, añadirla al control
  29.            ' Si está vacía, continuar el bucle
  30.            If String.IsNullOrEmpty(linea) Then
  31.                Continue While
  32.            End If
  33.           ListBox3.Items.Add(linea)
  34.        End While
  35.        ' Cerrar el fichero
  36.        lector.Close()
  37.  
  38.        Dim allDrives() As DriveInfo = DriveInfo.GetDrives()
  39.        For Each [Drive] In allDrives
  40.            Dim strDrive As String = [Drive].ToString
  41.            If LetraRuta <> strDrive Then 'Comprobamos que las rutas sean diferentes
  42.                Try
  43.                    Dim DriveSubDirectories As String() = Directory.GetDirectories(strDrive)
  44.                    For Each strSubDirectory As String In DriveSubDirectories
  45.                        Dim strFolder As String = strSubDirectory.Remove(0, strSubDirectory.LastIndexOf("\") + 1)
  46.                        ListBox1.Items.Add(strSubDirectory) '<---Carpeta
  47.                        Try
  48.                            Dim strFiles As IEnumerable = Directory.EnumerateFiles(strDrive & strFolder, "*", SearchOption.AllDirectories)
  49.                            Dim NbArchivo As String
  50.                            For Each strFileName In strFiles
  51.                                ListBox2.Items.Add(strFileName) '<--Archivo con ruta completa
  52.  
  53.                                For Each item As Object In ListBox3.Items
  54.                                    'If InStr(strFileName, item) Then
  55.                                    Dim ExArchivo As String
  56.                                    ExArchivo = Path.GetExtension(strFileName)
  57.                                    If ExArchivo = item Then
  58.                                        NbArchivo = Path.GetFileName(strFileName) 'Then
  59.  
  60.                                        Dim RutaDestino As String = Ruta & "\" & "Organizado" & "\" & ExArchivo & "\"
  61.  
  62.                                        ' Crea directorio Raiz
  63.                                        If Not Directory.Exists(Ruta & "\" & "Organizado") Then
  64.                                            Directory.CreateDirectory(Ruta & "\" & "Organizado")
  65.                                            'Le da atributos a la carpeta raiz
  66.                                            Dim folder_info As IO.DirectoryInfo = My.Computer.FileSystem.GetDirectoryInfo(Ruta & "\" & "Organizado")
  67.                                          End If
  68.  
  69.                                        'Crea subdirectorios por extensiones encontradas
  70.                                        If Not Directory.Exists(RutaDestino) Then
  71.                                            Directory.CreateDirectory(RutaDestino)
  72.  
  73.                                            Dim folder_info2 As IO.DirectoryInfo = My.Computer.FileSystem.GetDirectoryInfo(RutaDestino)
  74.  
  75.                                        End If
  76.                                        'File.Copy("K:\55\", True)
  77.                                        File.Copy(strFileName, RutaDestino & NbArchivo, True)
  78.                                    End If
  79.                                Next
  80.                                Me.Text = ListBox2.Items.Count.ToString() & ".Archivos"
  81.                            Next 'strFileName
  82.                        Catch ex As Exception
  83.                            '   MessageBox.Show(ex.Message)
  84.                        End Try 'strFiles
  85.                    Next  'strSubDirectory
  86.  
  87.                Catch ex As Exception
  88.                    ' MessageBox.Show(ex.Message)
  89.                End Try 'Drives
  90.            End If
  91.        Next '[Drive]
  92.        'Bloqueamos la carpera
  93.        Dim fs As FileSystemSecurity = File.GetAccessControl(Ruta & "\" & "Organizado")
  94.        fs.AddAccessRule(New FileSystemAccessRule(Environment.UserName, FileSystemRights.FullControl, AccessControlType.Deny))
  95.        File.SetAccessControl(Ruta & "\" & "Organizado", CType(fs, FileSecurity))
  96.  
  97.    End Sub
  98. End Class
  99.  
  100.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Optimizar Codigo
PHP
FFFenix 0 1,497 Último mensaje 9 Septiembre 2011, 03:18 am
por FFFenix
Optimizar código sobrecargado en c++
Programación C/C++
angoav98 1 2,433 Último mensaje 21 Febrero 2012, 14:50 pm
por Xandrete
¿Optimizar código?
ASM
paulagarcum 2 2,658 Último mensaje 4 Abril 2013, 13:46 pm
por paulagarcum
Optimizar un codigo
Programación C/C++
arcanaer 0 1,854 Último mensaje 23 Noviembre 2016, 04:16 am
por arcanaer
[AYUDA] [BATCH] ¿Se puede optimizar este código? (Suma)
Scripting
.:Xx4NG3LxX:. 0 1,894 Último mensaje 25 Febrero 2020, 20:08 pm
por .:Xx4NG3LxX:.
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines