Hola pues bueno, quiero hacer algo así:
(http://i.imgur.com/z0eJvr0.png)
Y que cuando le hagamos click a una carpeta pues se cambie de directorio:
La ruta la tengo seteada como "Ruta", en un Dim Ruta As String = "aqui iria la ruta seleccionada a otra ves del FolderBrowserDialog"
Necesito por lo menos que me digais como saco la direccion a través de un: "selecteditemchanged".
Un saludo.
EDITO:
Enconte un codigo que lo hace todo, codigo aquí:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Try
' Configuración del FolderBrowserDialog
With FolderBrowserDialog1
.Reset() ' resetea
' leyenda
.Description = " Seleccionar una carpeta "
' Path " Mis documentos "
.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
' deshabilita el botón " crear nueva carpeta "
.ShowNewFolderButton = False
'.RootFolder = Environment.SpecialFolder.Desktop
'.RootFolder = Environment.SpecialFolder.StartMenu
Dim ret As DialogResult = .ShowDialog ' abre el diálogo
' si se presionó el botón aceptar ...
If ret = Windows.Forms.DialogResult.OK Then
Dim nFiles As ObjectModel.ReadOnlyCollection(Of String)
nFiles = My.Computer.FileSystem.GetFiles(.SelectedPath)
MsgBox("Total de archivos: " & CStr(nFiles.Count), _
MsgBoxStyle.Information)
End If
.Dispose()
End With
Catch oe As Exception
MsgBox(oe.Message, MsgBoxStyle.Critical)
End Try
End Sub
Si tengo alguna duda, pues pregunto. :)
Tengo una duda:
If ret = Windows.Forms.DialogResult.OK Then
Dim nFiles As ObjectModel.ReadOnlyCollection(Of String)
nFiles = My.Computer.FileSystem.GetFiles(.SelectedPath)
MsgBox("Total de archivos: " & CStr(nFiles.Count), _
MsgBoxStyle.Information)
End If
Lo que quiero hacer es setear la direccion desde aqui, pero no tengo ni idea, porque nunca maneje este campo.
Un saludo.
Cita de: Seazoux en 24 Enero 2013, 20:46 PMLo que quiero hacer es setear la direccion desde aqui, pero no tengo ni idea, porque nunca maneje este campo.
Dim Folder As String = FBD.SelectedPath ' Aquí tienes "la dirección"
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim FBD As New FolderBrowserDialog
FBD.Description = " Seleccionar una carpeta "
FBD.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
Dim Resultado As DialogResult = FBD.ShowDialog
If Resultado = Windows.Forms.DialogResult.OK Then
Dim Folder As String = FBD.SelectedPath ' Aquí tienes "la dirección"
MsgBox("Carpeta seleccionada: " & vbnewline & Folder)
End If
FBD.Dispose()
End Sub
Cita de: EleKtro H@cker en 25 Enero 2013, 09:42 AM
Dim Folder As String = FBD.SelectedPath ' Aquí tienes "la dirección"
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim FBD As New FolderBrowserDialog
FBD.Description = " Seleccionar una carpeta "
FBD.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
Dim Resultado As DialogResult = FBD.ShowDialog
If Resultado = Windows.Forms.DialogResult.OK Then
Dim Folder As String = FBD.SelectedPath ' Aquí tienes "la dirección"
MsgBox("Carpeta seleccionada: " & vbnewline & Folder)
End If
FBD.Dispose()
End Sub
Gracias por ese c&p oculto xD
Un duda, y si quiero setear una variable general desde un sub nivel? Es decir desde el "If Resultado = Windows.Forms.DialogResult.OK Then" poner una variable general que valga tambien para: "Dim Files As Array = IO.Directory.GetFiles(
Folder, "*", IO.SearchOption.TopDirectoryOnly)"
Un saludo.
Cita de: Seazoux en 25 Enero 2013, 16:36 PM
Un duda, y si quiero setear una variable general desde un sub nivel? Es decir desde el "If Resultado = Windows.Forms.DialogResult.OK Then" poner una variable general que valga tambien para: "Dim Files As Array = IO.Directory.GetFiles(Folder, "*", IO.SearchOption.TopDirectoryOnly)"
Eing?No se si te he entendido muy bien...
Las variables declaradas dentro de un sub, se quedan en el sub.
Ya te dije que leyeses los tipos de variables y declaraciones.
EDITO: Todas las variables que vayas a usar en más de un sub/ocasión las deberías declarar fuera de los subs... ejemplo:
class
Public putavariable as string
form load sub
putavariable = "putovalor"
sub1()
end sub
sub1
msgbox(putavariable)
end sub
end class
xD saludos.
Cita de: EleKtro H@cker en 25 Enero 2013, 16:46 PM
Eing?
No se si te he entendido muy bien...
Las variables declaradas dentro de un sub, se quedan en el sub.
Ya te dije que leyeses los tipos de variables y declaraciones.
EDITO: Todas las variables que vayas a usar en más de un sub/ocasión las deberías declarar fuera de los subs... ejemplo:
class
Public putavariable as string
form load sub
putavariable = "putovalor"
sub1()
end sub
sub1
msgbox(putavariable)
end sub
end class
xD saludos.
Y como lo puedo pasar de form a form? xD Me refiero a la putavariable xD
Cita de: Seazoux en 25 Enero 2013, 18:15 PM
Y como lo puedo pasar de form a form? xD Me refiero a la putavariable xD
Public Shared puta_variable As String = "Elektro H@cker"
MsgBox(Form1.puta_variable)
saludos
Cita de: EleKtro H@cker en 25 Enero 2013, 18:34 PM
Public Shared puta_variable As String = "Elektro H@cker"
MsgBox(Form1.puta_variable)
saludos
Bueno, pues llevo con un error putandome de hay la variable xD un ratillo.
Necesito declarar una primera variable para que se pueda abrir de hay tu ultimo codigo, pero cuando se va abrir el form 2 me suelta este error:
(http://i.imgur.com/HBcFtuC.png)
Y luego pa colmo, necesito guardarlo en un archivo dat o dentro del mismo exe para que la proxima vez se guarde y se ejecute esa direccion.
Es decir, necesita una direccion base para abrir y luego cargar otra direccion que seria la guardada de la ultima vez. :-\
Y a ver si me ayudas con el paquete en castellano :-\ :-\
El error está más que claro, la variable "Folder" está vacía, y en la imagen lo puedes ver en los autos: "Folder > value Nothing"
¿Porque no te fijas en lo que estás haciendo?
1. declaras la variable en el form2
2. no le das ningún valor a esa NUEVA variable
3. intentas usar la variable en el método "getfiles" (pero la variable no contiene ningún valor, así que KABOOM!)
Te he explicado como usar las variables en otras class.
1. declaras la variable en
EL PRIMER FORM (form1.vb)
2. la usas así en el resto de forms: msgbox(form1.mivariable)
PD: O puedes hacer un form, lo llamas "Variables Globales.vb" y ahi metes las p*tas variables que desees, tienes un ejemplo de eso en el post de los snippets (sintaxis > global variables) ahí tienes un ejemplo bueno.
Cita de: Seazoux en 25 Enero 2013, 19:40 PMnecesito guardarlo en un archivo dat o dentro del mismo exe para que la proxima vez se guarde y se ejecute esa direccion.
Olvídate de crear archivos innecesarios para guardar "opciones" o cosas así, esto no es Batch, todo es más simple.
Debes crear una setting en tu proyecto, y luego es tán sencillo como hacer... :
my.settings.MiOpcion = Folder
my.settings.save()
form1 load sub
msgbox(my.settings.MiOpcion) ' la última ruta guardada...
end sub
EDITO: Bueno en realidad esto se guarda en el archivo
settings.cfg del programa, pero eso ya es otra cosa xD.
Si realmente quieres aprender te va a ser
mucho más dificil si te modificas el lenguaje de la IDE al castellano, más que nada porque no vas a encontrar referencias en castellano ni ayuda en ningún sitio cuando tengas un problema en concreto sobre la IDE y necesites buscar un código o solución en Google, todos los terminos son en ingles, y hay que aprender a usar en inglés, déjate eso para cuando sepas mejor las cosas.
saludos
Cita de: EleKtro H@cker en 25 Enero 2013, 20:04 PM
El error está más que claro, la variable "Folder" está vacía.
Me pregunto porque a veces seré tan cazurro. xD
La verdad que lo imagine, pero me faltaba un puto Form1. xDDD
En fin
Ahora tengo que hacer que se actualice el ListBox cuando lo ejecute en el FolderBrowserDialog, porque no hace nada. Le echare un vistazo igualmente. :xD
Cita de: EleKtro H@cker en 25 Enero 2013, 20:04 PM
Si realmente quieres aprender te va a ser mucho más dificil si te modificas el lenguaje de la IDE al castellano, más que nada porque no vas a encontrar referencias en castellano ni ayuda en ningún sitio cuando tengas un problema en concreto sobre la IDE y necesites buscar un código o solución en Google, todos los terminos son en ingles, y hay que aprender a usar en inglés, déjate eso para cuando sepas mejor las cosas.
saludos
Se bastante ingles o eso creo, y la verdad es que aunque tenga el programa en Español se me da igual, yo lo traduzco al ingles y busco en ingles que es lo que hago xDDD
Hihihihihi, que burraco soy, hay conflicto entre el Folder del Form1 y el del Form2 aunque no lo diga se ve claramente. XD Como hagi para anular el Folder del Form1.Folder y tomar el nuevo folder?
Codigo:
Dim Files As Array = IO.Directory.GetFiles(Form1.Folder, "*", IO.SearchOption.TopDirectoryOnly)
Cita de: Seazoux en 25 Enero 2013, 20:14 PM
Se bastante ingles o eso creo, y la verdad es que aunque tenga el programa en Español se me da igual, yo lo traduzco al ingles y busco en ingles que es lo que hago xDDD
Yo también se mucho (Inglés leido) y te aseguro que saber no te va a servir de nada cuando empiezas a aprender un programa y necesitas leer tutoriales y manuales,
prueba a aprender Photoshop con la APP en castellano y todos los tutoriales/pasos en Inglés, y me cuentas que tál te fue...
Para usar el VS al Español y sin miedo hay que estar al nivel de
Seba123Neo xD
Cita de: Seazoux en 25 Enero 2013, 20:14 PM
hay conflicto entre el Folder del Form1 y el del Form2 aunque no lo diga se ve claramente. XD Como hagi para anular el Folder del Form1.Folder y tomar el nuevo folder?
Codigo: Dim Files As Array = IO.Directory.GetFiles(Form1.Folder, "*", IO.SearchOption.TopDirectoryOnly)
Pero si ya tienes la variable declarada en el form1, ¿Quieres crear la misma variable y con el mismo valor en el form2?
form1
public folder as string
end class
form2
dim folder2 as string = form1.folder
Dim Files As Array = IO.Directory.GetFiles(folder2 , "*", IO.SearchOption.TopDirectoryOnly)
Cita de: EleKtro H@cker en 25 Enero 2013, 20:23 PM
Yo también se mucho (Inglés leido) y te aseguro que saber no te va a servir de nada cuando empiezas a aprender un programa y necesitas leer tutoriales y manuales,
prueba a aprender Photoshop con la APP en castellano y todos los tutoriales/pasos en Inglés, y me cuentas que tál te fue...
Ese tal Sebaneo me suena su nombre, refrescame la memoria XD
Cita de: EleKtro H@cker en 25 Enero 2013, 20:23 PM
Para usar el VS al Español y sin miedo hay que estar al nivel de Seba123Neo xD
Pero si ya tienes la variable declarada en el form1, ¿Quieres crear la misma variable y con el mismo valor en el form2?
form1
public folder as string
end class
form2
dim folder2 as string = form1.folder
Dim Files As Array = IO.Directory.GetFiles(folder2 , "*", IO.SearchOption.TopDirectoryOnly)
Con el mismo valor no, con el nuevo valor del FolderBrowserDialog xD ;-)
Cita de: Seazoux en 25 Enero 2013, 20:55 PM
Ese tal Sebaneo me suena su nombre, refrescame la memoria XD
Uno de los moderadores de esta sección.
Cita de: EleKtro H@cker en 25 Enero 2013, 21:20 PM
Uno de los moderadores de esta sección.
Y la otra pregunta no me la respondes, si es que si es que xD >:D :xD
Cita de: Seazoux en 25 Enero 2013, 21:42 PM
Y la otra pregunta no me la respondes, si es que si es que xD >:D :xD
Antes de tu nueva edición era una pregunta inentendible.
Cita de: Seazoux en 25 Enero 2013, 21:42 PM
Con el mismo valor no, con el nuevo valor del FolderBrowserDialog xD
y digo yo... ¿Y porqué no lo haces de la misma manera que lo haces con el antiguo valor del folderbrowserdialog? (c&p oculto)
PD: si no es eso da más datos del problema... pon tu código.
saludos
Cita de: EleKtro H@cker en 25 Enero 2013, 21:49 PM
Antes de tu nueva edición era una pregunta inentendible.
y digo yo... ¿Y porqué no lo haces de la misma manera que lo haces con el antiguo valor del folderbrowserdialog? (c&p oculto)
PD: si no es eso da más datos del problema... pon tu código.
saludos
Lo que intento hacer es editar el Folder desde:
If Resultado = Windows.Forms.DialogResult.OK Then
' Aquí iria el codigo
End If
Pero hay conflicto porque hay ya un Folder definido, que por cierto lo quite de Form1,
Option Explicit On
Public Class Form2
Dim Listita As New ListBox
Dim FBD As New FolderBrowserDialog
Private Sub Form2_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Listita.BackColor = Color.White
Listita.ForeColor = Color.Black
Listita.Size = New Point(340, 251)
Listita.Location = New Point(12, 25) ' Dejo un margen de espacio de 100 px porque solo quieres ocupar "la mayor parte"
AddHandler Listita.SelectedIndexChanged, AddressOf Listita_SelectedIndexChanged
Me.Controls.Add(Listita)
Dim Folder As String = "C:\Users\Alvaro\Documents"
Dim Files As Array = IO.Directory.GetFiles(Folder, "*", IO.SearchOption.TopDirectoryOnly)
For Each File In Files
Dim File_Info As New IO.FileInfo(File)
Listita.Items.Add(File_Info.Name)
Next
Dim Files1 As Array = IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.System), "*", IO.SearchOption.TopDirectoryOnly)
Dim TotalRoms As Int32 = Files1.Length
Label1.Text = "Roms encontrados (" & TotalRoms & ")"
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
Private Sub Listita_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim Item As String = Listita.SelectedItem
MsgBox(Folder + Item)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
FBD.Description = " Seleccionar una carpeta "
FBD.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
FBD.ShowNewFolderButton = True
Dim Folder As String = FBD.SelectedPath
Dim Resultado As DialogResult = FBD.ShowDialog
If Resultado = Windows.Forms.DialogResult.OK Then
End If
FBD.Dispose()
End Sub
End Class
Un saludo.
Cláramente se vé que declaras dos "Folder" privadas en el form que has posteado.
Cita de: Seazoux en 25 Enero 2013, 21:57 PMhay conflicto porque hay ya un Folder definido
Tú mismo te respondes... usa el buscador de la IDE,
Ctrl + F, y buscas "Folder" en la solución entera.
CitarDim Files1 As Array = IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.System), "*", IO.SearchOption.TopDirectoryOnly)
Dim TotalRoms As Int32 = Files1.Length
Label1.Text = "Roms encontrados (" & TotalRoms & ")"
Una pregunta: ¿ese código que te puse lo sigues teniendo de decoración?, ¿entiendes el code?.
Y otra pregunta, ¿Porque tienes dos forms?,
cada uno es libre de crear los forms que quiera en su aplicación... pero digo yo que en una app tán pequeña no es necesario más de un form porque no necesita más de 200 líneas de código xD...
saludos
Cita de: EleKtro H@cker en 26 Enero 2013, 09:10 AM
Cláramente se vé que declaras dos "Folder" privadas en el form que has posteado.
Tú mismo te respondes... usa el buscador de la IDE, Ctrl + F, y buscas "Folder" en la solución entera.
Si pero como declaro un Form si necesito las 2, a no ser que hiciese una matriz xD Pero igualmente necesito declarar la primera pa que no me suelte un error, como lo haria? Y luego otra que seria de le
My.Setting, como lo hariax2? xD
pues dále otro nombre a la segunda variable...
esto ya te lo puse antes:
form1
public folder as string = "C:\"
form2
public folder2 as string = form1.folder
No uses el mismo nombre de variable para todo...
Cita de: EleKtro H@cker en 26 Enero 2013, 11:20 AM
pues dále otro nombre a la segunda variable...
esto ya te lo puse antes:
form1
public folder as string = "C:\"
form2
public folder2 as string = form1.folder
No uses el mismo nombre de variable para todo...
Pero es que si lo cambio sea lo que sea que cambie igualmente, no voy a poderr hacer una variable para las dos, porque el nombre va a estar cambiando, es decir que si la variable que toma es Folder, yo no le puedo meter la variable Folder2, poque no la va a enternder, me explico?
A ver si me pouedes hacer un codigo o algo :laugh:
No entiendo tu problema Seazoux, y no creo que séa tán dificil declarar una variable en el form principal y usarla en las otras classes, pues te he dado mil ejemplos ya.
De todas formas, si te es tán complicado entonces deberías olvidarte de variables y crear una setting por ejemplo:
My.Settings.Folder
Ahí guardas el valor de la ruta y eso te sirve para cualquier form, y sin movidas.
Saludos
Cita de: EleKtro H@cker en 26 Enero 2013, 12:22 PM
No entiendo tu problema Seazoux, y no creo que séa tán dificil declarar una variable en el form principal y usarla en las otras classes, pues te he dado mil ejemplos ya.
De todas formas, si te es tán complicado entonces deberías olvidarte de variables y crear una setting por ejemplo:
My.Settings.Folder
Ahí guardas el valor de la ruta y eso te sirve para cualquier form, y sin movidas.
Saludos
Me va a ser mucho mas facil, y si quiero editar las settings de ese My.Setting desde el
If Resultado = Windows.Forms.DialogResult.OK Then
' Aquí iria el codigo
End If
?
my.settings.myvariable = fbd.selectedpath
Cita de: EleKtro H@cker en 26 Enero 2013, 12:30 PM
my.settings.myvariable = fbd.selectedpath
Pues si pongo:
My.Settings.Folder = FBD.SelectedPath
Me dice:
Error 1 'Folder' is not a member of 'WindowsApplication1.My.MySettings'. C:\Users\Alvaro\Documents\VisualBasic NET\Projectos\WebKitEmulator\WindowsApplication1\WindowsApplication1\Form2.vb 46 13 WindowsApplication1
Bueno, ahora necesitamos hardcodear esto, como vistes hay un boton que sale: "Descargar roms"
Deberia hacer algo asi:
*Espera que voy a subir la foto*
CitarPues si pongo:
My.Settings.Folder = FBD.SelectedPath
Me dice:
Error 1 'Folder' is not a member of 'WindowsApplication1.My.MySettings'. C:\Users\Alvaro\Documents\VisualBasic NET\Projectos\WebKitEmulator\WindowsApplication1\WindowsApplication1\Form2.vb 46 13 WindowsApplication1
Es que no has creado ninguna setting.
Google + vbnet how create my.settingssaludos.
En serio, no sé como se te puede dar tán dificil una variable.
Te vuelvo a repetir lo de antes:
1. Estás declarando la variable en el form, fuera de los subs.
2. No le das ningun valor a la variable.
3. En el form load intentas usar la variable, que no contiene ningún valor, y eso son dos errores, porque no sé que pinta ahí lo que haces en el form load, cuando debería estar todo en el sub del botón.
Repito las cosas y no haces caso.
Public Class Form2
Dim Listita As New ListBox
Private Sub Form2_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Listita.BackColor = Color.White
Listita.ForeColor = Color.Black
Listita.Size = New Point(340, 251)
Listita.Location = New Point(12, 25)
AddHandler Listita.SelectedIndexChanged, AddressOf Listita_SelectedIndexChanged
Me.Controls.Add(Listita)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
Private Sub Listita_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim Item As String = Listita.SelectedItem
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim FBD As New FolderBrowserDialog
FBD.Description = " Seleccionar una carpeta "
FBD.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
FBD.ShowNewFolderButton = True
Dim Resultado As DialogResult = FBD.ShowDialog
If Resultado = Windows.Forms.DialogResult.OK Then
Try
Dim Folder As String = FBD.SelectedPath
Dim Files As Array = IO.Directory.GetFiles(Folder, "*", IO.SearchOption.TopDirectoryOnly)
Dim TotalRoms As Int32 = Files.Length
Listita.Items.Clear()
For Each File In Files
Dim File_Info As New IO.FileInfo(File)
Listita.Items.Add(File_Info.Name)
Next
Label1.Text = "Roms encontrados (" & TotalRoms & ")"
Catch ex As Exception
MsgBox(ex.Message)
End Try
End If
FBD.Dispose()
End Sub
End Class
Saludos
Si pero ahora, no se carga nada al principio, sale en blanco xD
Tendre que usar el my.settings xD
Cual es el problema principal? ya no se entiende nada, si te explicas desde un principio lo que necesitas claramente tal vez te puedamos ayudar mejor.
Cita de: $Edu$ en 26 Enero 2013, 14:27 PM
Cual es el problema principal? ya no se entiende nada, si te explicas desde un principio lo que necesitas claramente tal vez te puedamos ayudar mejor.
Simplemente como se maneja el App.config, porque estoy mirando, pero lo unico que encuentro es para VB.net 2005 y no el VS 2012, y aqui lo dice muy claro:
<userSettings>
<WindowsApplication1.My.MySettings>
<setting name="myBackColor" serializeAs="String">
<value>Control</value>
</setting>
</WindowsApplication1.My.MySettings>
pero me dice que userSettings no esta declarado.
Que alguien me traduzca esto al VS 2012:
<userSettings>
<WindowsApplication1.My.MySettings>
<setting name="Folder" serializeAs="String">
<value>FBD.SelectedPath</value>
</setting>
</WindowsApplication1.My.MySettings>
Un saludo.
No todo es necesario codearlo, dispones de un menú en la IDE para crear las APP/USER settings:
Project > windowsapplication properties > settings
o dale doble click en "my project" en el "solution explorer"
Nombre: Folder Type: String Scope: User Value: (nada de nada)
Y listo, ya habrás creado tu setting/propiedad
saludos
Cita de: EleKtro H@cker en 26 Enero 2013, 15:11 PM
No todo es necesario codearlo, dispones de un menú en la IDE para crear las APP/USER settings:
Project > windowsapplication properties > settings
o dale doble click en "my project" en el "solution explorer"
Nombre: Folder Type: String Scope: User Value: (nada de nada)
Y listo, ya habrás creado tu setting/propiedad
saludos
Pero aunque le ponga un value ni si quiera se carga. :xD
Le puse My.Settings.Folder = FBD.SelectedPath
Pero npi de como hacer cargar el value de esa propiedad. :¬¬
Cita de: Seazoux en 25 Enero 2013, 21:57 PM
Lo que intento hacer es editar el Folder desde:
If Resultado = Windows.Forms.DialogResult.OK Then
' Aquí iria el codigo
End If
Pero hay conflicto porque hay ya un Folder definido, que por cierto lo quite de Form1,
Option Explicit On
Public Class Form2
Dim Listita As New ListBox
Dim FBD As New FolderBrowserDialog
Private Sub Form2_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
Listita.BackColor = Color.White
Listita.ForeColor = Color.Black
Listita.Size = New Point(340, 251)
Listita.Location = New Point(12, 25) ' Dejo un margen de espacio de 100 px porque solo quieres ocupar "la mayor parte"
AddHandler Listita.SelectedIndexChanged, AddressOf Listita_SelectedIndexChanged
Me.Controls.Add(Listita)
Dim Folder As String = "C:\Users\Alvaro\Documents"
Dim Files As Array = IO.Directory.GetFiles(Folder, "*", IO.SearchOption.TopDirectoryOnly)
For Each File In Files
Dim File_Info As New IO.FileInfo(File)
Listita.Items.Add(File_Info.Name)
Next
Dim Files1 As Array = IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.System), "*", IO.SearchOption.TopDirectoryOnly)
Dim TotalRoms As Int32 = Files1.Length
Label1.Text = "Roms encontrados (" & TotalRoms & ")"
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
Private Sub Listita_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim Item As String = Listita.SelectedItem
MsgBox(Folder + Item)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
FBD.Description = " Seleccionar una carpeta "
FBD.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
FBD.ShowNewFolderButton = True
Dim Folder As String = FBD.SelectedPath
Dim Resultado As DialogResult = FBD.ShowDialog
If Resultado = Windows.Forms.DialogResult.OK Then
End If
FBD.Dispose()
End Sub
End Class
Un saludo.
Tenes que poner la linea Dim Folder As String = "C:\Users\Alvaro\Documents" junto con estas otras para que quede asi:
Dim Listita As New ListBox
Dim FBD As New FolderBrowserDialog
Dim FolderPrincipal As String = "C:\Users\Alvaro\Documents"
Asi la nueva variable FolderPrincipal se podra usar desde cualquier procedimiento o funcion.
Luego si podras usar esa variable aca:
If Resultado = Windows.Forms.DialogResult.OK Then
FolderPrincipal = folder ' si es que querias hacer esto (poner la nueva carpeta seleccionada)
End If
Nada mas, nada de complicaciones, por lo menos es lo que te he entendido.
No tengo actualizado ese codigo, ahora lo que intento leer es la variable haciendo una pequeña prueba:
MsgBox("La ruta del Folder deberia salir aquí: " & My.Settings.Folder)
Pero no me sale nada de nada y eso que le tengo un value puesto. >:D
Cita de: Seazoux en 26 Enero 2013, 19:09 PM
MsgBox("La ruta del Folder deberia salir aquí: " & My.Settings.Folder)
no me sale nada de nada y eso que le tengo un value puesto. >:D
Si la propiedad tiene un valor de tipo string, entonces ese msgbox debería funcionar,
a menos que hayas eliminado el valor de la propiedad en alguna parte dle código . . . y si no muestra nada, entonces es que la propiedad no tiene ningún valor, está vacía.
Sincéramente no se te puede ayudar si no aportas datos, ¿como esperas que te digamos cual es el problema en esa línea de código si no muestras más información?
1. la excepción que te marca la IDE, eso haznos el favor a todos de ponerlo siempre cuando postees un problema, xq yo por ejemplo me canso de postear para pedirte más información siempre...
2. Una imagen de tus "settings"
3. el código del sub donde intentas usar la variable
eso estaría bien...
Saludos
Directamente te paso el codigo por un MP y listo. :P
Estoy casi seguro que lo que quieres es mas simple de lo que crees, es exactamente lo que te dije yo seguramente. No necesitas hacer nada de Settings y no se que mas, es mas simple.
Cita de: $Edu$ en 26 Enero 2013, 19:33 PM
Estoy casi seguro que lo que quieres es mas simple de lo que crees, es exactamente lo que te dije yo seguramente. No necesitas hacer nada de Settings y no se que mas, es mas simple.
Pienso lo mismo, unos comentarios atrás en este post puedes ver como le modifiqué el form con los cambios que le has comentado tú $Edu$, pero ni así...
si sé le da mal las variables creo que mejor con settings xD...
Cita de: Seazoux en 26 Enero 2013, 19:09 PM
no me sale nada de nada y eso que le tengo un value puesto. >:D
A mi me funciona bien, me sale un msgbox con el valor de la setting: "Aquí debería salir el Folder"
reinicia el VS a ver a veces hace cosas raras xD
Cita de: EleKtro H@cker en 26 Enero 2013, 19:36 PM
A mi me funciona bien, me sale un msgbox con el valor de la setting: "Aquí debería salir el Folder"
reinicia el VS a ver a veces hace cosas raras xD
Ni
p**a idea, pero que no me funciona, pero WTF?????
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
MsgBox("Test:" & My.Settings.Folder)
End Sub
Pues te aseguro que tál y como lo tienes funciona, no he tocaod nada, y muestra el valor "Aquí debería salir el Folder".
Prueba a limpiar el proyecto y vuelve a recounstruirlo. (Clean, rebuild solution)
Una pregunta... tú estás usando settings para recordar la última ruta, cuando cierras y vuelves a abrir la aplicación? o lo estás usando como alternativa a usar variabls?
Porque en segundo caso, deberías intentarlo con variables como dice $Edu$, es que si no puedes con una maldita variable... no vas a poder hacer por tí mismo xD.
Saludos!
Cita de: EleKtro H@cker en 26 Enero 2013, 19:45 PM
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
MsgBox("Test:" & My.Settings.Folder)
End Sub
Pues te aseguro que tál y como lo tienes funciona, no he tocaod nada, y muestra el valor "Aquí debería salir el Folder".
Prueba a limpiar el proyecto y vuelve a recounstruirlo. (Clean, rebuild solution)
Una pregunta... tú estás usando settings para recordar la última ruta, cuando cierras y vuelves a abrir la aplicación? o lo estás usando como alternativa a usar variabls?
Porque en segundo caso, deberías intentarlo con variables como dice $Edu$, es que si no puedes con una maldita variable... no vas a poder hacer por tí mismo xD.
Saludos!
Lo estoy usando para la primera opcion xD ahora me enseñaras a usar el MySettings.Save xD
Cita de: Seazoux en 26 Enero 2013, 19:48 PMahora me enseñaras a usar el MySettings.Save xD
No tiene ningún misterio,
MySettings.Save()
Fín.
-.-* Y así guardas todos los cambios de los valores de todas tus settings.
* Y puedes activar la opción de salvar automáticamente las settings al cerrar la APP.
Respecto al MsgBox VB.net me está trolleando acabo de reinicar el PC y nada. xD
Mira esto:
(http://i.imgur.com/OsOfSkk.png)
Cita de: Seazoux en 26 Enero 2013, 19:55 PM
Respecto al MsgBox VB.net me está trolleando acabo de reinicar el PC y nada. xD
MÁS DATOS PORFAVOR.
Te salta una excepción? o te sale el valor vacío ? o que te sale?Vale la has cagado un poco xD.
En el solution explorer dale a "show all files" y busca el "settings.designer.vb"
y comprueba el "mySettings" expandiendo el "settings.designer.vb" ahi mismo
¿Tienes uno, o dos? si tienes dos, borra el nuevo que te lo habrá creado el VS por un error (una vez me pasó eso).
Y comprueba que no tienes el "app.config" vacío.
Cita de: Seazoux en 26 Enero 2013, 20:02 PM
No sorry, me sale solo 1, no se. :-\
Te recomiendo que te descargues el proyecto que me has pasado a mi, porque me funciona sin ningún error:
http://www.mediafire.com/?0waco6kynzgaovx
o al menos reemplaza el app.config del proyecto que me has mandado al tuyo y el settings.designer si no lo tienes igual
saludos
Cita de: EleKtro H@cker en 26 Enero 2013, 20:00 PM
MÁS DATOS PORFAVOR.
Te salta una excepción? o te sale el valor vacío ? o que te sale?
Sale el valor vacio:
(http://i.imgur.com/OsOfSkk.png)
No sorry, me sale solo 1, no se. :-\
Ni idea, pero me sigue saliendo todo igual xD
Una cosilla, afecta que tenga instalado el Frameowork .NET 3.5 y el 2.0? :xD
Descargue el proyecto tuyo y le hice los cambios que te decia hoy. Modifique el Form2.
Ejecuta el programa, y hace click en el boton Test para ver si te sale la ruta que queres, o si es lo que querias hacer.
http://www.mediafire.com/?w5ycx4b6j884yb8
Cita de: $Edu$ en 26 Enero 2013, 20:45 PM
Descargue el proyecto tuyo y le hice los cambios que te decia hoy. Modifique el Form2.
Ejecuta el programa, y hace click en el boton Test para ver si te sale la ruta que queres, o si es lo que querias hacer.
http://www.mediafire.com/?w5ycx4b6j884yb8
Invalid or Deleted File. :-\
A ver ahora: http://www.mediafire.com/?urhcrxt9mz0s2xp
Cita de: $Edu$ en 26 Enero 2013, 23:35 PM
A ver ahora: http://www.mediafire.com/?urhcrxt9mz0s2xp
Primer fallo:
Error 1 'Folder' is not declared. It may be inaccessible due to its protection level. C:\Users\Alvaro\Documents\VisualBasic NET\Proyectos\WebKitEmulatorBeta\WebKitEmulator\WebKitEmulator\WindowsApplication1\WindowsApplication1\Form2.vb 51 32 WindowsApplication1
:-\ :-\ :-\
Ya arregle ese bug, pero igualmente me quedo con la otra version, sigue los hilos del tema y gracias por tu esfuerzo, Edu me recomiendas que me quite el NET 2.0 y 3.5? ;-)
La verdad que no tengo el Visual Studio instalado ahora mismo por eso solo modifique desde el notepad, pero tendria que andar, no hice nada raro ni mal.
Seguro has compilado el proyecto para ejecutarlo a ver si anda? es decir desde el mismo IDE como siempre pero digo esto porque tal vez fuiste directamente a la carpeta Bin a ejecutar el programa y entonces ese programa.exe es viejo y no el actualizado.
No se la verdad, por lo menos viste lo que cambie? asi como te decia. Dime solo si es eso lo que quieres hacer, aunque no funcione quiero saberlo.
No quites nada, tu instalaste el Visual Studio 2008 o el 2010 o 2012 y ahi te instalo el framework correspondiente a la version, no toques nada.
$Edu$ no declaraste la variable "Folder" y aquí la intentas usar, seazoux lleva razón.
FolderPrincipal = Folder ' SE GUARDA EL DIRECTORIO EN LA VARIABLE PUBLICA
@Seazoux
Te añado las modificaciones que quieres en el código que ya te modifiqué hace 2 páginas en este hilo...
FÍJATE EN LOS CAMBIOS Y VERÁS COMO ERA TODO MUY FÁCILPD: Antes de usar este código vacía el valor de la setting en la IDE
Public Class Form2
Dim Listita As New ListBox
Private Sub Form2_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
With Listita
.BackColor = Color.White
.ForeColor = Color.Black
.Size = New Point(340, 251)
.Location = New Point(12, 25)
AddHandler .SelectedIndexChanged, AddressOf Listita_SelectedIndexChanged
End With
Me.Controls.Add(Listita)
if My.Settings.Folder isnot nothing then LoadFolder(My.Settings.Folder) ' Aquí cargas el último directorio que se cargó al salir de la aplicación
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Hide()
End Sub
Private Sub Listita_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim Item As New IO.FileInfo(My.Settings.Folder & "\" & Listita.SelectedItem)
MsgBox(Item.FullName)
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim FBD As New FolderBrowserDialog
FBD.Description = " Seleccionar una carpeta "
FBD.SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
FBD.ShowNewFolderButton = True
If FBD.ShowDialog = Windows.Forms.DialogResult.OK Then : My.Settings.Folder = FBD.SelectedPath : LoadFolder(My.Settings.Folder) : End If
FBD.Dispose()
End Sub
Private Sub LoadFolder(ByVal Folder As String)
Try
Listita.Items.Clear()
Dim Files As Array = IO.Directory.GetFiles(Folder, "*")
Dim TotalRoms As Int32 = Files.Length
For Each File In Files
Dim File_Info As New IO.FileInfo(File)
Listita.Items.Add(File_Info.Name)
Next
Label1.Text = "Roms encontrados (" & TotalRoms & ")"
Catch ex As Exception : MsgBox(ex.Message)
End Try
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
MessageBox.Show(My.Settings.Folder, "", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
End Sub
End Class
Saludos
EDITO:Cita de: Seazoux en 26 Enero 2013, 23:48 PMEdu me recomiendas que me quite el NET 2.0 y 3.5? ;-)
¿Como que quitartelos?
No te los tienes que quitar ni desinstalar ni nada, pero no debes hacer un proyecto en FW2.0 porqué está obsoleto, y tiene muy pocos métodos,
los debes hacer en FW3.X o FW4.X, yo hago aplicaciones en FW3.5 cuando puedo, pero prefiero usar FW4.0 por que véo methods más útiles que en FW3.5 no están, y por compatibilidad con algunos controles de terceros que uso que en FW3.X no corren.
Sincéramente depende de tus necesidades y de cúan compatible quieres que séa la APP para el público... casi todos los PC's llevan incorporados el FrameWork 3.X así que si haces el proyecto en FW4.5 muchos pc's necesitarán descargar el FW4.5 para correr tu APP.
saludos
Cita de: EleKtro H@cker en 27 Enero 2013, 09:42 AM
Casi todos los PC's llevan incorporados el FrameWork 3.X así que si haces el proyecto en FW4.5 muchos pc's necesitarán descargar el FW4.5 para correr tu APP.
Lo suponia gracias por decirmelo, ahora te comento a ver si fusca xD
Titirititititiri!!! Si que funca :))))) el caso que lol, no se si lo hubiese puesto desde un princpio como yo creia iba a funcionar era como un presentimiento. :xD
Ahora vamos a hacer lo de las descargas. ;-)
Pero por cierto, el codigo ese:
If My.Settings.Folder IsNot Nothing Then LoadFolder(My.Settings.Folder) ' Aquí cargas el último directorio que se cargó al salir de la aplicación
Como hago para borrarlo porque no quiero que se me quede esa direccion xD
Cita de: Seazoux en 27 Enero 2013, 11:19 AM
Como hago para borrarlo porque no quiero que se me quede esa direccion xD
Borrar el que.
my.settings.folder = nothing
Tal vez me falto declararlo si, no vi, pero con ver lo que intente hacer se tenia que dar cuenta, eso de usar Settings no era ni necesario.