Autor
|
Tema: ayuda en VB.NET (Leído 3,454 veces)
|
**Aincrad**
|
hola a todos. hoy me he encontrado con un problema en vb.net que no puedo solucionar. tengo este codigo: Dim dirPath As String = Environment.ExpandEnvironmentVariables("%AppData%\Microsoft\Windows\Start Menu\Programs\Startup") Try For Each Archivo As String In My.Computer.FileSystem.GetFiles( _ dirPath, _ FileIO.SearchOption.SearchAllSubDirectories, _ "*.vbs", _ "*.cmd", _ "*.js", _ "*.wsf", _ "*.ink", _ "*.bat") ListBox1.Items.Add(Archivo) Form7.Show() Next ' errores Catch oe As Exception MsgBox(oe.Message, MsgBoxStyle.Critical) End Try
el código se encarga de buscar en la carpeta inicio de windows todos los archivos con los formatos que aparecen. Bueno lo que quiero es que si al buscar en la carpeta, no encuentra ningún archivo con ese formato me muestre un formulario. eso es todo . en pocas palabras necesito saber como ubicar este codigo: If cualquiercode Then MsgBox("se encontraron archivos con formato .vbs-.bat-.ink-.cmd-.js") Else form9.show() End If
no se si me comprenden. XD
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.872
|
En el otro post te expliqué varias cosas pero no veo que hayas intentado seguir los conejos... Para hacer lo que quieres simplemente guarda en una variable la colección devuelta por la función My.Computer.FileSystem.GetFiles() y evalua el número de elementos de ésta. Ejemplo: Imports Microsoft.VisualBasic.FileIO Imports System.Collections.ObjectModel Public Class Form1 Private Sub Test() Dim dirPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Startup) Dim fileExts As String() = {"*.vbs", "*.cmd", "*.js", "*.wsf", "*.ink", "*.bat"} Dim filePaths As ReadOnlyCollection(Of String) = My.Computer.FileSystem.GetFiles(dirPath, SearchOption.SearchAllSubDirectories, fileExts) If (filePaths.Count <> 0) Then With Me.ListBox1 .BeginUpdate() .Items.AddRange(filePaths.ToArray()) .EndUpdate() End With MessageBox.Show(Me, String.Format("Se encontraron archivos con extensión: {{{0}}}", String.Join(", ", fileExts)), Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information) Else My.Forms.Form9.Show() End If End Sub End Class
PD: LAS PREGUNTAS SOBRE VB.NET VAN EN EL SUBFORO DE PROGRAMACIÓN .NET, NO DE VB6. Ya te advirtió un Coadmin, respeta las normas por favor.Saludos
|
|
« Última modificación: 19 Septiembre 2017, 23:06 pm por Eleкtro »
|
En línea
|
|
|
|
**Aincrad**
|
gracias, pero me marca errores te señalo los errores en el code: Dim dirPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Startup) Dim fileExts As String() = {"*.vbs", "*.cmd", "*.js", "*.wsf", "*.ink", "*.bat"} Dim filePaths As ReadOnlyCollection(Of String) = 'me marca el signo = como error dice Expression expected My.Computer.FileSystem.GetFiles(dirPath, SearchOption.SearchAllSubDirectories, fileExts) 'ME SUBRAYA SearchOption y me dice 'SearchOption' is ambiguous, imported from the namespaces or types 'System.IO, Microsoft.VisualBasic.FileIO'. If (filePaths.Count <> 0) Then 'ME SUBRAYA filePaths y como solucion me muetra FileOption dice Name 'filePaths' is not declared. With Me.ListBox1 .BeginUpdate() .Items.AddRange(filePaths.ToArray()) .EndUpdate() End With MessageBox.Show(Me, String.Format("Se encontraron archivos con extensión: {{{0}}}", String.Join(", ", fileExts)), Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information) 'ME SUBRAYA , MessageBoxButtons.OK y dice Expression is not a method. Else My.Forms.Form9.Show() End If
si sirve de algo yo uso visual studio 2008.
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.872
|
Dim filePaths As ReadOnlyCollection(Of String) = 'me marca el signo = como error dice Expression expected My.Computer.FileSystem.GetFiles(dirPath, SearchOption.SearchAllSubDirectories, fileExts)
MessageBox.Show(Me, String.Format("Se encontraron archivos con extensión: {{{0}}}", String.Join(", ", fileExts)), Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information) 'ME SUBRAYA , MessageBoxButtons.OK y dice Expression is not a method.
Estás usando una versión antigua de Visual Studio / VB.NET. Añade un linebreak: " _" o junta las lineas. Sugerencia adicional: actualiza tu entorno a VS2017 ( o en su defecto VS2013, como mínimo ) para programar con mucha mayor comodidad.
My.Computer.FileSystem.GetFiles(dirPath, SearchOption.SearchAllSubDirectories, fileExts) 'ME SUBRAYA SearchOption y me dice 'SearchOption' is ambiguous, imported from the namespaces or types 'System.IO, Microsoft.VisualBasic.FileIO'.
Es normal, el compilador encuentra una ambiguedad (dos o más coincidencias de un miembro con el mismo nombre en diferentes namespaces) entre la enumeración Microsoft.VisualBasic.FileIO.SearchOption y System.IO.SearchOption. Para resolverlo puedes especificar la importación del namespace adecuado en la cabecera del archivo ...tal y como yo hice en el código que te mostré: Imports Microsoft.VisualBasic.FileIO
Saludos.
|
|
« Última modificación: 20 Septiembre 2017, 00:08 am por Eleкtro »
|
En línea
|
|
|
|
**Aincrad**
|
Gracias Elektro tenias razon en Añade un linebreak: " _" o junta las lineas solucione los errores.
|
|
« Última modificación: 22 Enero 2019, 22:06 pm por **Aincrad** »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Ayuda] Necesito ayuda para crear un buen video uso AF y Flash.
Diseño Gráfico
|
XXXXXX
|
1
|
5,822
|
11 Noviembre 2009, 00:17 am
por Sub_Cero
|
|
|
Ayuda por davor ayuda os ruego ayuda XD (SOLUCIONADO)
Hardware
|
XxRekcahlExX
|
6
|
11,155
|
24 Mayo 2010, 00:56 am
por Aprendiz-Oscuro
|
|
|
AYUDA -.- ahora no entro más en 4chan (tengo una duda, ayuda por favor)
Foro Libre
|
Draklit
|
6
|
9,227
|
15 Octubre 2010, 03:14 am
por Draklit
|
|
|
[PYTHON][AYUDA][ERROR] Necesito ayuda para instalar PyGTK 2 en windows 7
Scripting
|
Noxware
|
2
|
8,330
|
20 Septiembre 2014, 00:05 am
por Noxware
|
|
|
[AYUDA] Ayuda para poner en modo monitor mi tarjeta de red! Kali LInux
GNU/Linux
|
Santi__
|
1
|
9,630
|
12 Noviembre 2016, 18:25 pm
por Will21
|
|