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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Sin error ninguno con TextBox y errror con ListBox
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sin error ninguno con TextBox y errror con ListBox  (Leído 5,719 veces)
javier234-


Desconectado Desconectado

Mensajes: 453


Ver Perfil
Sin error ninguno con TextBox y errror con ListBox
« en: 5 Febrero 2011, 20:16 pm »

Hola a todos,

He creado dos proyectos exactamente iguales en Visual Basic 2008, uno que utiliza un TextBox para esvribir lo leido de un archivo y otro que utiliza un ListBox en vez del TextBox.
El codigo fuente es exactamente el mismo tanto en uno como en otro.Lo unico que cambia es la linea donde escribo al TextBox o al ListBox, y sin embargo en el proyecto del ListBox, me da el famoso error
----------------------------------------------------
Error   1   Option Strict On no permite restricciones del tipo 'System.ValueType' al tipo 'WriteListBoxDatosArchivoRandom.Form1.RegistroParametros' al copiar de nuevo el valor del parámetro 'ByRef' 'Value' en el argumento correspondiente.   T:\Documents and Settings\xxxxxx\Mis documentos\Visual Studio 2008\Projects\WriteListBoxDatosArchivoRandom\Form1.vb   40   24   WriteListBoxDatosArchivoRandom
-----------------------------------------------------
cosa que en el de TextBox no da ningun error ni antes de la compilacion ni despues de ella.
Este es el codigo que da error antes de compilar en lo que esta en negrita
_______________________________________________________
Public Class Form1

    Public Structure RegistroParametros
        <VBFixedString(16)> Public Nombre_Parametro As String
        Public Valor_Parametro As Single
    End Structure

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim ContenidoRegistroParametros As RegistroParametros
        ContenidoRegistroParametros.Nombre_Parametro = "                "
        ContenidoRegistroParametros.Valor_Parametro = 0

        FileOpen(1, "T:\Parametros.dat", OpenMode.Random, OpenAccess.ReadWrite, OpenShare.Shared, Len(ContenidoRegistroParametros))
        Dim i As Integer
        Dim c As Char
        For i = 1 To 64
            c = CType(ChrW(i + 48), Char)
            ContenidoRegistroParametros.Nombre_Parametro = c + c + c + c + c + c + c + c + c + c + c + c + c + c + c + c
            ContenidoRegistroParametros.Valor_Parametro = CType(i, Single)
            FilePut(1, ContenidoRegistroParametros, i)
        Next
        MessageBox.Show("Se creo el archivo")

        For i = 1 To 16
            FileGet(1, ContenidoRegistroParametros, i)
            ListBox1.Items.Add(ContenidoRegistroParametros.Nombre_Parametro & "-" & ContenidoRegistroParametros.Valor_Parametro.ToString & ControlChars.CrLf)
        Next

        FileClose(1)

    End Sub
End Class
-------------------------------------------------------------------------------
La linea que cambia en el proyecto del TextBox es la de ListBox.Items.Add(...) por esta otra
TextBox1.AppendText(ContenidoRegistroParametros.Nombre_Parametro & "-" & ContenidoRegistroParametros.Valor_Parametro.ToString & ControlChars.CrLf)

Alguien entiende que en el proyecto TextBox no de error alguno y si lo de en el proyecto de ListBox y ENCIMA en la linea de lectura del archivo ???

Cualquier ayuda sera bienvenida
Gracias anticipadas y saludos



En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Sin error ninguno con TextBox y errror con ListBox
« Respuesta #1 en: 5 Febrero 2011, 20:22 pm »

Bueno, hace mucho rato que no codeo algo en .NET, pero lo que puedo recordar...

Los saltos de lines los genera automáticamente el objeto ListBox, es decir,
Código
  1. For i As Integer = 0 To 10
  2.  ListBox1.Items.Add( i )
  3. Next

Ahora, en tú código los estas ingresando, intentad ponerlo así,
Código
  1.        For i = 1 To 16
  2.            FileGet(1, ContenidoRegistroParametros, i)
  3.            ListBox1.Items.Add(ContenidoRegistroParametros.Nombre_Parametro & "-" & ContenidoRegistroParametros.Valor_Parametro.ToString)
  4.        Next

Recuerda, que este objeto tiene 2 opciones:
  1. Lo que se encuentra encima, es decir, el texto.
  2. El que se encuentra por debajo, es decir, el valor.

Así que puedes eliminar la concatenación y consultar como se puede agregar el valor por debajo.


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
javier234-


Desconectado Desconectado

Mensajes: 453


Ver Perfil
Re: Sin error ninguno con TextBox y errror con ListBox
« Respuesta #2 en: 5 Febrero 2011, 20:33 pm »

Gracias Shell Root  por responder,

Pero el error no lo da en la linea de ListBox1.Items.Add(....) sino en la linea anterior al leer el archivo (FileGet(........)), cosa que no entiendo por que no da el mismo error en el otro proyecto en el que utilizo un TextBox en vez de un ListBox.
Es mas, te diré que si quito completamente la linea ListBox1.Items.Add (....), me sigue dando el mismo error.Increible pero cierto.
Tanto en uno como en otro proyecto la opcion OptionStrict esta en On.
Al margen de que en los ListBox se genere automaticamente el salto de linea.

Gracias
Saludos
En línea

agus0


Desconectado Desconectado

Mensajes: 360



Ver Perfil
Re: Sin error ninguno con TextBox y errror con ListBox
« Respuesta #3 en: 6 Febrero 2011, 00:26 am »

Fijate el Problema esta en Que Estas Tratando de Copiar o Pasar una Variable a otra que no es del mismo tipo... (Creo igual no lo lei el code) Mas allá de eso.. Esto es VISUAL BASIC 6.0.

Lo mejor seria que postes tu Duda en :NET: http://foro.elhacker.net/net-b62.0/

Suerte
En línea

javier234-


Desconectado Desconectado

Mensajes: 453


Ver Perfil
Re: Sin error ninguno con TextBox y errror con ListBox
« Respuesta #4 en: 6 Febrero 2011, 00:38 am »

Gracias agus0  por responder,

No  sabia que este post era solo para Visual Basic 6.0 o menor.Por eso lo puse aqui..
Como se mueve al .NET ?
De cualquier manera te digo que lo curioso es que el error lo da no en una linea nueva, sino en una linea que estaba exactamente igual puesta en el proyecto con TextBox y alli no daba error.Realmente es incomprensible.
Si sabes como mover el post a .NET dimelo por favor.
Saludos
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Sin error ninguno con TextBox y errror con ListBox
« Respuesta #5 en: 7 Febrero 2011, 05:11 am »

La verdad creo que ese codigo viene de un proyecto de vb6 convertido a .net

Deberias hacerlo deneuvo pero utilizando las clases de .net tales como streams, te facilitaran mucho la vida
En línea

javier234-


Desconectado Desconectado

Mensajes: 453


Ver Perfil
Re: Sin error ninguno con TextBox y errror con ListBox
« Respuesta #6 en: 7 Febrero 2011, 11:37 am »

Hola raul338, gracias por responder,

La verdad es que me esta dando bastantes problemas el tema, pero necesito operar con archivos de acceso directo y los unicos ejemplos que he encontrado en la red, unos no funcionan (debian ser para VB6) y otros como el que pongo da errores extraños,una vez si y otra no.No he encontrado ni se donde encontrar ejemplos o documentos para este tipo de archivos en .NET, ya que el MSDN es un poco infumable y no facil de entender.
Si sabes de algun sitio donde poder mirar te lo agradeceria.
Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines