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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  ayuda commondialog y texto en picturebox
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda commondialog y texto en picturebox  (Leído 1,946 veces)
soru13

Desconectado Desconectado

Mensajes: 246



Ver Perfil
ayuda commondialog y texto en picturebox
« en: 17 Abril 2011, 20:43 pm »

hola, lo que estoy haciendo es que através de un commondialog yo seleccione un archivo y el nombre de este archivo me lo ponga dentro de un picturebox,para ello tengo este código:

Código
  1. CommonDialog1.ShowOpen
  2. If CommonDialog1.FileName <> "" Then
  3. Picture1.Cls
  4. mensaje = CommonDialog1.FileTitle
  5. Me.Picture1.Print mensaje
  6. Else
  7. Picture1.Cls
  8. mensaje = "No se seleccionó ningún archivo"
  9. Me.Picture1.Print mensaje

el caso es que esto me sirve para solo 1 archivo,si vuelvo a seleccionar otro me remplaza la primera línea de texto del picturebox.
Lo que necesito saber es como puedo hacer para que en el commondialog pueda seleccionar varios archivos y al seleccionarlos cuente el número de archivos que se han seleccionado y haga X lineas de texto en el picturebox. ¿Cómo podría hacer esto? Gracias

EDIT: he encontrado éste código que sirve para seleccionar varios archivos en através de common dialog y luego los añade en un listbox.

Código
  1. Option Explicit
  2.  
  3. ' Colección para guardar los archivos
  4. Dim mColFiles           As Collection
  5.  
  6. ' -----------------------------------------------------------------------------------
  7. ' \\ - Sub para agregar los archivos a la colección
  8. ' -----------------------------------------------------------------------------------
  9.  
  10. Private Sub mAddFiles(arrFiles() As String)
  11.  
  12. On Local Error GoTo error_handler
  13.  
  14.    With mColFiles
  15.        ' Si el array tiene un solo elemento, es por que se seleccionó un solo fichero ( Es decir Contiene la ruta completa : Dir + FileName)
  16.        If UBound(arrFiles) = 0 Then
  17.            ' Comprobar que la colección tiene elementos ...
  18.            If .Count > 0 Then
  19.                Call .Add(arrFiles(0), arrFiles(0), 1) ' agregar item en el primer lugar
  20.            ' si no hay elementos ...
  21.            Else
  22.                 Call .Add(arrFiles(0), arrFiles(0))
  23.            End If
  24.  
  25.        ' Si no, Hay mas de un archivo ....
  26.        Else
  27.            ' El primer elemento del array es el directorio ( Guardar el path en la variable  )
  28.            Dim sDir As String
  29.            sDir = arrFiles(0)
  30.  
  31.            ' verificar el separador de path
  32.            If Right(sDir, 1) <> "\" Then sDir = sDir & "\"
  33.            ' Los archivos ( solo el nombre sin el path )
  34.  
  35.            Dim i As Integer
  36.            For i = 1 To UBound(arrFiles)
  37.               ' REcorrer el array y agregarlos a la colección
  38.               If .Count > 0 Then
  39.                   Call .Add(sDir & arrFiles(i), sDir & arrFiles(i), 1) 'agregar primero
  40.               Else
  41.                   Call .Add(sDir & arrFiles(i), sDir & arrFiles(i))
  42.               End If
  43.             Next
  44.        End If
  45.    End With
  46. Exit Sub
  47. error_handler:
  48. If Err.Number = 457 Then
  49.    Resume Next ' ignorar error cuando se agrega el mismo archivo
  50. Else
  51.    MsgBox Err.Description
  52. End If
  53. End Sub
  54.  
  55. ' -----------------------------------------------------------------------------------
  56. ' \\ - Botón para seleccionar los archivos
  57. ' -----------------------------------------------------------------------------------
  58. Private Sub cmdAddFiles_Click()
  59.  
  60.    On Local Error Resume Next
  61.  
  62.    ' Configurar el cuadro de diálogo
  63.    ' ---------------------------------------------------------
  64.    With CD
  65.        ' Limpiar la propiedad FileName
  66.        .FileName = vbNullString
  67.        ' Establecer Flag para poder seleccionar múltiples archivos desde el cd
  68.        .Flags = .Flags Or cdlOFNExplorer Or cdlOFNAllowMultiselect
  69.  
  70.        ' Tamaño de Buffer para el FileName
  71.        .MaxFileSize = 32767 ' <- máximo 32 K
  72.  
  73.        ' Establecer filtro
  74.        .Filter = "Todos los Archivos|*.*"
  75.  
  76.        ' Abrir
  77.        .ShowOpen
  78.  
  79.        ' Verificar que el FileName no sea una cadena vacía
  80.        If .FileName <> vbNullString Then
  81.  
  82.           ' Array para obtener las rutas
  83.           Dim arrPaths() As String
  84.           arrPaths = Split(.FileName, Chr(0))
  85.  
  86.  
  87.           ' Enviar array de archivos para agregar a la colección
  88.           Call mAddFiles(arrPaths)
  89.           Erase arrPaths
  90.  
  91.           ' Actualizar listado
  92.           Call mUpdateList(lstFiles)
  93.        End If
  94.  
  95.        .FileName = vbNullString
  96.  
  97.    End With
  98.  
  99.    ' Error
  100.    Exit Sub
  101. error_handler:
  102.    MsgBox Err.Description, vbCritical
  103.  
  104. End Sub
  105.  
  106.  
  107. ' -----------------------------------------------------------------------------------
  108. ' \\ - Actualizar el contenido del listbox
  109. ' -----------------------------------------------------------------------------------
  110.  
  111. Private Sub mUpdateList(lBox As ListBox)
  112.    With lBox
  113.        ' limpiar listbox y volver a cargar
  114.        .Clear
  115.        Dim xItem As Variant
  116.        ' recorrer items de la colección
  117.        For Each xItem In mColFiles
  118.            .AddItem CStr(xItem)
  119.        Next
  120.        ' seleccionar el primero
  121.        If .ListCount > 0 Then
  122.            .ListIndex = 0
  123.            .SetFocus
  124.        End If
  125.    End With
  126. End Sub
  127.  
  128. ' -----------------------------------------------------------------------------------
  129. ' \\ - Eliminar todo
  130. ' -----------------------------------------------------------------------------------
  131. Private Sub cmdClear_Click()
  132.    Set mColFiles = Nothing
  133.    Set mColFiles = New Collection
  134.    Call mUpdateList(lstFiles)
  135. End Sub
  136.  
  137. ' -----------------------------------------------------------------------------------
  138. ' \\ - Eliminar selección
  139. ' -----------------------------------------------------------------------------------
  140.  
  141. Private Sub cmdDelete_Click()
  142.    Dim i As Integer
  143.    ' recorrer items y comprobar si se encuentran seleccionados
  144.    With lstFiles
  145.        For i = 0 To .ListCount - 1
  146.            If .Selected(i) Then
  147.                Call mColFiles.Remove(.List(i)) ' eliminar con el método Remove el item de la colección
  148.            End If
  149.        Next
  150.    End With
  151.    ' volver a cargar los items en el control
  152.    Call mUpdateList(lstFiles)
  153. End Sub
  154.  
  155.  
  156. Private Sub Form_Load()
  157.  
  158.    ' Crear nueva colección para guardar los archivos
  159.    Set mColFiles = New Collection
  160.  
  161.    cmdAddFiles.Caption = "Agregar archivos"
  162.    cmdDelete.Caption = "Eliminar selección"
  163.    cmdClear.Caption = "Eliminar todo"
  164.  
  165. End Sub

Este código me sería muy útil si me sacara sólo los nombres de los archivos y no la ruta de los archivos seleccionados,pero si cambio el .FileName por .FileTitle me da error y no me deja. ¿Alguien sabe porque? Gracias


« Última modificación: 17 Abril 2011, 23:32 pm por soru13 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON EL PICTUREBOX
Programación Visual Basic
IvanUgu 3 2,397 Último mensaje 10 Julio 2005, 02:51 am
por IvanUgu
CommonDialog
Programación Visual Basic
NYlOn 1 1,374 Último mensaje 30 Diciembre 2005, 09:37 am
por wuepe
ayuda con picturebox « 1 2 »
Programación Visual Basic
titan6146 19 9,372 Último mensaje 20 Noviembre 2009, 21:36 pm
por MCKSys Argentina
Ayuda con PictureBox [Vb.Net]
.NET (C#, VB.NET, ASP)
Keyen Night 1 5,558 Último mensaje 4 Abril 2010, 00:01 am
por raul338
[Ayuda]Reconocer contornos Picturebox
Programación Visual Basic
79137913 2 3,670 Último mensaje 6 Diciembre 2010, 11:48 am
por 79137913
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines