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) (Moderador: kub0x)
| | | |-+  Guardar listview en archivo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 4 Ir Abajo Respuesta Imprimir
Autor Tema: Guardar listview en archivo  (Leído 20,086 veces)
SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Guardar listview en archivo
« en: 18 Julio 2013, 17:51 pm »

Hola foro, estoy intentado hacer un programa que guarde mis contraseñas "Soy algo olvidadizo"  :silbar:


El - Necesito que aqui se guarden todos los cambios y que al abrir el programa los datos sigan hay guardados y cargados
Edito: Estoy atascado en esta parte
Quiero que al editar los nombres, contraseñas o el sitio web este lo guarde automaticamente, y al abrir el programa cargan los mismos datos que deje ya antes


Código
  1.  
  2. Dim saveFileDialog1 As New SaveFileDialog()
  3.  
  4.        saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
  5.        saveFileDialog1.FilterIndex = 2
  6.        saveFileDialog1.RestoreDirectory = True
  7.  
  8.        If saveFileDialog1.ShowDialog() = DialogResult.OK Then
  9.            Using sw As New IO.StreamWriter(saveFileDialog1.FileName, False)
  10.                'write each row of the ListView out to a tab-delimited line in a file
  11.                For i As Integer = 0 To Me.ListView1.Items.Count - 1
  12.                    sw.WriteLine(((ListView1.Items(i).Text & vbTab) + ListView1.Items(i).SubItems(0).ToString() & vbTab) + ListView1.Items(i).SubItems(1).ToString())
  13.                Next
  14.            End Using
  15.        End If
  16.  


« Última modificación: 19 Julio 2013, 17:55 pm por SγиtαxEяяoя » En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Guardar listview en archivo
« Respuesta #1 en: 18 Julio 2013, 19:21 pm »

Bueno, la intención de tu aplicación es muy clara, vamos primero con el procedimiento de guardado.

  • Primero abrir un archivo predeterminado para el guardado de los campos.
  • Recorrer mediante un for los items en la lista y guardar sus subitems.
  • Cerrar el archivo abierto.

Código
  1. Dim Contador As Integer
  2.        FileSystem.FileOpen(1, "Nombre del archivo.extension", OpenMode.Output)
  3.        For Contador = 0 To ListView1.Items.Count - 1
  4.            FileSystem.PrintLine(1, ListView1.Items(Contador).SubItems(0))
  5.            FileSystem.PrintLine(1, ListView1.Items(Contador).SubItems(1))
  6.            FileSystem.PrintLine(1, ListView1.Items(Contador).SubItems(2))
  7.        Next
  8.        FileSystem.FileClose(1)
  9.  

He detectado un error en tu código actual, la matriz "Añadir" se declara con 4 campos en vez de tres necesitas Declararla como "Dim Añadir(2) As String".

Ahora vamos con el código para eliminar los items. Aquí simplemente necesitas hacer uso de la propiedad ListView1.SelectedItems() y el método Remove() mediante otro For.

Con la opción de edición necesitarías hacerlo mediante un form que obtenga los valores de los subitems y los añada a unos campos de texto en el form, donde al cerrar el form se guarden los cambios.

Y para la opción de abrir la página necesitarías ser más específico en lo que quieres.

Por cierto, te paso la dirección para que descargues una aplicación que yo hice para ese mismo propósito. Es sólo el ejecutable, sin el código, pero puede ser que algunas de las opciones que trae te puedan dar ideas, como el hecho de que la aplicación incluye el cifrado de la información.

http://www.benjasoft.is-great.net/index.php?CargarP=Scripts/PHP/PHPAuto.php&ParPost=333&ArchReemplazar=DocumentosPagina/Auto_programa1.html&ArchVariables=Recursos/Aplicaciones/AutoDefiafer1Variables.txt

Al inicio de la aplicación te pedirá que introduzcas una contraseña, dejas el campo de texto vacío y le das en ingresar, porque al inicio la contraseña es nula, pero se la puedes cambiar desde la aplicación. Todo está en la ayuda en PDF que se adjunta en la descarga.  ;)

Otra cosa que se me olvidaba, deberás incluir una rutina que te cargue las claves al inicio de la aplicación.

Saludos


En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Guardar listview en archivo
« Respuesta #2 en: 18 Julio 2013, 19:41 pm »

Hola Benjo, gracias por responder pero mira este error que me da al tratar de guardar los datos

En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Guardar listview en archivo
« Respuesta #3 en: 18 Julio 2013, 19:47 pm »

Ok, no me había fijado en eso, disculpa. Me faltó hacer referencia a la propiedad Text: "ListView1.Items(Contador).SubItems(0).Text". Creo que con eso debe de quedar.  :P
En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Guardar listview en archivo
« Respuesta #4 en: 19 Julio 2013, 00:59 am »

Bien, ahora estoy intentando algo como esto, algo simple no quiero complicarme tanto, ya que apenas estoy aprendiendo :)



Código
  1. If TextUser.Text = "User123" Or TextPass.Text = "Password123" Then
  2.            Form2.Show()
  3.        Else
  4.            MsgBox("Incorrect.")
  5.        End If
  6.  

Pero al poner "User" este automáticamente abre el "Form2"

Yo quiero, que se necesite poner el TextUser.Text y luego el TextPass.Text y hay si se pueda abrir el Form2
« Última modificación: 19 Julio 2013, 01:03 am por SγиtαxEяяoя » En línea

El Benjo


Desconectado Desconectado

Mensajes: 392



Ver Perfil WWW
Re: Guardar listview en archivo
« Respuesta #5 en: 19 Julio 2013, 02:18 am »

Es que has puesto Or en lugar de And. Es un error común, suele pasar.  :xD
En línea

www.es.neftis-ai.com

Sí hay un mejor lenguaje de programación y es ese con el que puedes desarrollar tus objetivos.
SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Guardar listview en archivo
« Respuesta #6 en: 19 Julio 2013, 05:24 am »

Como puedo validar la contraseña que he puesto en el "Form1" y en el "Form2" pueda cambiarla
Tengo esto en el "Form1"


Código
  1. If TextUser.Text = "Test" And TextPass.Text = "123" Then
  2.            Form2.Show()
  3.            Me.Visible = False
  4.        Else
  5.            MsgBox("Incorrect.")
  6.        End If
  7.  

El usuario es "Text" y la contraseña es "123"

Tengo una opción dentro de otro "Form" en la que deseo cambiar la contraseña

Algo asi


Pero no se bien como hago el procedimiento

Esto es lo que trato de hacer

Código
  1. If Form1.TextPass.Text = "123" Then
  2.            NewPass.Enabled = True
  3.            RNewPass.Enabled = True
  4.            Form1.TextPass.Text = RNewPass.Text
  5.            Form1.TextPass.Text = NewPass.Text
  6.        Else
  7.            NewPass.Enabled = False
  8.            RNewPass.Enabled = False
  9.        End If
  10.  
En línea

z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Guardar listview en archivo
« Respuesta #7 en: 19 Julio 2013, 16:24 pm »

Intenta poniéndolo dentro de un Timer para que siempre lo compruebe en general ese code está bien.
En línea


Interesados hablad por Discord.
SγиtαxEяяoя

Desconectado Desconectado

Mensajes: 154


Ver Perfil
Re: Guardar listview en archivo
« Respuesta #8 en: 19 Julio 2013, 17:52 pm »

Tengo el siguiente problema :-\ y no encuentro solucion alguna alguien me puede ayudar :p






Código
  1. If TxtUser.Text = "" Or TxtPass.Text = "" Then
  2.            MessageBox.Show("Enter Credential")
  3.            'ElseIf Not TextBox3.Text.Contains("https://") Or TextBox3.Text.Contains("http://") Then
  4.            'MessageBox.Show("URL Invalid")
  5.        ElseIf Not TxtUser.Text = "" Or TxtPass.Text = "" Then
  6.            Dim row1 As String() = {TxtPass.Text, TxtWeb.Text}
  7.            ListView1.Items.Add(TxtUser.Text).SubItems.AddRange(row1)
  8.            Dim Add As New myObject()
  9.            Add.Column1 = TxtUser.Text
  10.            Add.Column2 = TxtPass.Text
  11.            Add.Column3 = TxtWeb.Text
  12.            listViewItems.Add(Add)
  13.        End If
  14.        TxtUser.Clear()
  15.        TxtPass.Clear()
  16.        TxtWeb.Clear()
  17.  





Código
  1. If ListView1.SelectedItems.Count > 0 Then
  2.            ListView1.SelectedItems(0).Text = TxtUser.Text
  3.            ListView1.SelectedItems(0).SubItems(1).Text = TxtPass.Text
  4.            ListView1.SelectedItems(0).SubItems(2).Text = TxtWeb.Text
  5.            Utilities.XMLSaver.SerializeToXML(listViewItems, ListViewItemsXml)
  6.        End If
  7.  
  8.  
  9. If ListView1.SelectedItems.Count > 0 Then
  10.            TxtUser.Text = ListView1.SelectedItems(0).Text
  11.            TxtPass.Text = ListView1.SelectedItems(0).SubItems(1).Text
  12.            TxtWeb.Text = ListView1.SelectedItems(0).SubItems(2).Text
  13.        End If
  14.  





Código
  1. If ListView1.SelectedItems.Count > 0 AndAlso MessageBox.Show("Do you want to delete this item?", "Confirm", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
  2.            ListView1.SelectedItems(0).Remove()
  3.        End If
  4.  





Código
  1. If TxtWeb.Text.Contains("https://") Or TxtWeb.Text.Contains("http://") Or TxtWeb.Text.Contains("www.") Then
  2.            Process.Start(TxtWeb.Text)
  3.        ElseIf TxtWeb.Text = "" Then
  4.            MessageBox.Show("Invalid URL")
  5.        End If
  6.  





Código
  1. Utilities.XMLSaver.SerializeToXML(listViewItems, ListViewItemsXml)
  2.  


La cosa es que, al editar o borrar algun item, este no guarda los cambios en el XML

Este es el codigo

Código
  1. Imports System.Collections.Generic
  2. Imports System.Linq
  3. Imports System.Text
  4. Imports System.IO
  5. Imports System.Xml
  6. Imports System.Xml.Serialization
  7. Namespace Utilities
  8. Public NotInheritable Class XMLSaver
  9. Private Sub New()
  10.        End Sub
  11. Public Shared Sub SerializeToXML(ListviewItems As List(Of myObject), path As String)
  12. Dim serializer As New XmlSerializer(GetType(List(Of myObject)))
  13. Dim textWriter As TextWriter = New StreamWriter(path)
  14. serializer.Serialize(textWriter, ListviewItems)
  15. textWriter.Close()
  16. End Sub
  17. Public Shared Function DeserializeFromXML(path As String) As List(Of myObject)
  18. Dim deserializer As New XmlSerializer(GetType(List(Of myObject)))
  19. Dim textReader As TextReader = New StreamReader(path)
  20. Dim ListviewItems As List(Of myObject)
  21. ListviewItems = DirectCast(deserializer.Deserialize(textReader), List(Of myObject))
  22. textReader.Close()
  23. Return ListviewItems
  24. End Function
  25. End Class
  26. End Namespace
  27.  
« Última modificación: 19 Julio 2013, 18:03 pm por SγиtαxEяяoя » En línea

z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Guardar listview en archivo
« Respuesta #9 en: 19 Julio 2013, 18:02 pm »

En el primer code, tienes esto:

Código:
ElseIf Not TxtUser.Text = "" Or TxtPass.Text = "" Then

Por que no usas un Else?

Y aparte que errores tienes... No has dado nada más que codes :¬¬
En línea


Interesados hablad por Discord.
Páginas: [1] 2 3 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Guardar archivos dentro de un form(listview).... « 1 2 »
Programación Visual Basic
5v5 13 5,430 Último mensaje 16 Noviembre 2005, 03:06 am
por ..::[ thekingkid ]::..
Guardar en archivo .txt
Java
Topaz_34 6 5,488 Último mensaje 30 Junio 2007, 02:16 am
por marioly
Tuto-Como cargar un listview desde un archivo .txt en visualbasic
.NET (C#, VB.NET, ASP)
Christian010 4 12,587 Último mensaje 15 Noviembre 2008, 17:10 pm
por seba123neo
Listview con iconos de archivo
.NET (C#, VB.NET, ASP)
okik 2 3,242 Último mensaje 1 Diciembre 2016, 16:15 pm
por Eleкtro
Help Cargar y Guardar listview en txt VB.net
.NET (C#, VB.NET, ASP)
ELMU3RT0 0 3,220 Último mensaje 19 Agosto 2021, 03:24 am
por ELMU3RT0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines