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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Error al poner una estructura al leer un archivo de acceso directo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error al poner una estructura al leer un archivo de acceso directo  (Leído 4,894 veces)
javier234-


Desconectado Desconectado

Mensajes: 453


Ver Perfil
Error al poner una estructura al leer un archivo de acceso directo
« en: 2 Febrero 2011, 20:35 pm »

Hola a todos,

He creado un archivo de tipo random con 64 registros, cada uno de los cuales contiene un String de 16 caracteres y un valor de tipo Single.
El codigo es el siguiente:

RegistroParametros es la estructura con el String Nombre_Parametro de 16bytes y el Single Valor_Parametro.

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

        FileOpen(1, "T:\Parametros.dat", OpenMode.Random, OpenAccess.Default, OpenShare.Shared)
        Dim i As Integer
        For i = 1 To 64
            FileGet(1, ContenidoRegistroParametros, i)
            MessageBox.Show(ContenidoRegistroParametros.Nombre_Parametro)
        Next

Error   1   Option Strict On no permite restricciones del tipo 'System.ValueType' al tipo 'AccesoArchivoDeParametros.Form1.RegistroParametros' al copiar de nuevo el valor del parámetro 'ByRef' 'Value' en el argumento correspondiente.

Si cambio ContenidoRegistroParametros por ContenidoRegistroParametros.Nombre_Parametro, no me dice que hay error, pero al ejecutarse se para.

Alguien sabe como puedo arreglarlo?
Gracias anticipadas y saludos


En línea

Elemental Code


Desconectado Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: Error al poner una estructura al leer un archivo de acceso directo
« Respuesta #1 en: 2 Febrero 2011, 22:25 pm »

De donde yo vengo eso no se hace asi.

Seguro que vos no sos programador de .NET?


En línea

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas
javier234-


Desconectado Desconectado

Mensajes: 453


Ver Perfil
Re: Error al poner una estructura al leer un archivo de acceso directo
« Respuesta #2 en: 2 Febrero 2011, 22:33 pm »

Gracias Elemental Code por responder,

No soy programador de .NET.Estoy aprendiendo Visual Basic 2008 y trato de hacer cosas sacadas de lo que hacen aplicaciones.
Podrias decirme como se hace?.Te lo agradeceria.
Aunque he hecho un par de tutoriales, hay cosas aun que no tengo claras y pienso que programando y haciendo cosas practicas viene muy bien para aprender.
Saludos
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.417


Se siente observado ¬¬'


Ver Perfil
Re: Error al poner una estructura al leer un archivo de acceso directo
« Respuesta #3 en: 2 Febrero 2011, 22:40 pm »


VB08 forma parte de .NET
Código:
http://es.wikipedia.org/wiki/Microsoft_.NET
En línea

javier234-


Desconectado Desconectado

Mensajes: 453


Ver Perfil
Re: Error al poner una estructura al leer un archivo de acceso directo
« Respuesta #4 en: 2 Febrero 2011, 22:43 pm »

Si, que VB 2008 forma parte de .NET, lo se.Lo que queria decir es que no soy un programador experto ni de Visual Basic ni de ningun otro lenguaje de .NET.
Saludos
En línea

kingdarnakes

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Error al poner una estructura al leer un archivo de acceso directo
« Respuesta #5 en: 2 Febrero 2011, 22:50 pm »

Deberias de poner el código entre las etiquetas [code ][/ code] sin espacios así se lee mejor.

En que linea te da el error?

Código:
ContenidoRegistroParametros.Nombre_Parametro = "                "

Si es en esta linea asegurate de que existe Nombre_parametro.

Código:
FileGet(1, ContenidoRegistroParametros, i)

No entiendo que quieres hacer ahí. Lo que yo entiendo es que lo que tu quieres hacer no lo estas haciendo de forma correcta...
En línea

javier234-


Desconectado Desconectado

Mensajes: 453


Ver Perfil
Re: Error al poner una estructura al leer un archivo de acceso directo
« Respuesta #6 en: 2 Febrero 2011, 23:06 pm »

Gracias kingdarnakes por responder,

El error que puse me lo da si en la linea de lectura del archivo FileGet(1,ContenidoRegistroParametros,i)
Ahi aparece el error de Opcion Strict On no permite....
en cambio si en esa line pongo FileGet(1,ContenidoRegistroParametros.Valor_parametro,i) no da error ninguno de codigo fuente.En cambio, si lo compilo, en la compilacion da error y se cuelga.
Saludos
En línea

kingdarnakes

Desconectado Desconectado

Mensajes: 23


Ver Perfil
Re: Error al poner una estructura al leer un archivo de acceso directo
« Respuesta #7 en: 2 Febrero 2011, 23:13 pm »

Gracias kingdarnakes por responder,

El error que puse me lo da si en la linea de lectura del archivo FileGet(1,ContenidoRegistroParametros,i)
Ahi aparece el error de Opcion Strict On no permite....
en cambio si en esa line pongo FileGet(1,ContenidoRegistroParametros.Valor_parametro,i) no da error ninguno de codigo fuente.En cambio, si lo compilo, en la compilacion da error y se cuelga.
Saludos


Claro ya que ContenidoRegistroParametros es una referencia a una estructura, y no apunta a ninguna variable ni array ni nada...

Mira en la documentación de FileGet y entenderás porque el error.
http://msdn.microsoft.com/es-es/library/microsoft.visualbasic.filesystem.fileget.aspx
En línea

javier234-


Desconectado Desconectado

Mensajes: 453


Ver Perfil
Re: Error al poner una estructura al leer un archivo de acceso directo
« Respuesta #8 en: 2 Febrero 2011, 23:39 pm »

Bien, lo que me dices ya es algo, pq no sabia como acceder al MSDN de Microsoft para ver directamente explicacion de errores.
Por lo que se ve no puede ponerse ahi una estructura y si los tipos que indica, como String.Por eso si pongo ContenidoRegistroParametros.Valor_parametro, no da error de codigo fuente,pero si al compilar, y el error que da es:
Longitud de registro incorrecta.
Si pongo despues del i ,20 que es lla longitud del registro, el error que me da en codigo fuente es:

Error   1   Error de resolución de sobrecarga porque ninguna de las funciones 'FileGet' a las que se tiene acceso se puede llamar con estos argumentos:
    'Public Sub FileGet(FileNumber As Integer, ByRef Value As String, [RecordNumber As Long = -1], [StringIsFixedLength As Boolean = False])': Option Strict On no permite la conversión implícita de 'Integer' en 'Boolean'.
    'Public Sub FileGet(FileNumber As Integer, ByRef Value As System.Array, [RecordNumber As Long = -1], [ArrayIsDynamic As Boolean = False], [StringIsFixedLength As Boolean = False])': Un valor de tipo 'String' no se puede convertir en 'System.Array'.
    'Public Sub FileGet(FileNumber As Integer, ByRef Value As System.Array, [RecordNumber As Long = -1], [ArrayIsDynamic As Boolean = False], [StringIsFixedLength As Boolean = False])': Option Strict On no permite la conversión implícita de 'Integer' en 'Boolean'.

Cada vez veo mas dificil el .NET.
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