Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#6781
Como promprobar si un Type es serializable:

Código (vbnet) [Seleccionar]
    ' Is Type Serializable?
    ' By Elektro
    '
    ' Usage Examples:
    '
    'MsgBox(IsTypeSerializable(Of String))
    'MsgBox(IsTypeSerializable(GetType(Form)))
    'MsgBox(IsTypeSerializable(0.0F.GetType))
    '
    ''' <summary>
    ''' Determines whether a Type can be serialized.
    ''' </summary>
    ''' <typeparam name="T"></typeparam>
    ''' <returns><c>true</c> if Type can be serialized; otherwise, <c>false</c>.</returns>
    Private Function IsTypeSerializable(Of T)() As Boolean

        Return Attribute.IsDefined(GetType(T), GetType(SerializableAttribute))

    End Function

    ''' <summary>
    ''' Determines whether a Type can be serialized.
    ''' </summary>
    ''' <typeparam name="T"></typeparam>
    ''' <param name="Type">The Type.</param>
    ''' <returns><c>true</c> if Type can be serialized; otherwise, <c>false</c>.</returns>
    Private Function IsTypeSerializable(Of T)(ByVal Type As T) As Boolean

        Return Attribute.IsDefined(GetType(T), GetType(SerializableAttribute))

    End Function





Como comprobar si un objeto es serializable:

Código (vbnet) [Seleccionar]
    ' Is Object Serializable?
    ' By Elektro
    '
    ' Usage Examples:
    '
    'MsgBox(IsObjectSerializable(New ArrayList From {"String Item"}, SerializationFormat.Xml)) ' Result: True
    'MsgBox(IsObjectSerializable(New ArrayList From {New Object() {"Collection", "Of", "Strings"}})) ' Result: False
    '
    ''' <summary>
    ''' Determines whether an object can be serialized.
    ''' </summary>
    ''' <param name="Object">The object.</param>
    ''' <returns><c>true</c> if object can be serialized; otherwise, <c>false</c>.</returns>
    Private Function IsObjectSerializable(ByVal [Object] As Object,
                                          Optional ByVal SerializationFormat As SerializationFormat =
                                                                                SerializationFormat.Xml) As Boolean

        Dim Serializer As Object

        Using fs As New IO.MemoryStream

            Select Case SerializationFormat

                Case Data.SerializationFormat.Binary
                    Serializer = New Runtime.Serialization.Formatters.Binary.BinaryFormatter()

                Case Data.SerializationFormat.Xml
                    Serializer = New Xml.Serialization.XmlSerializer([Object].GetType)

                Case Else
                    Throw New ArgumentException("Invalid SerializationFormat", SerializationFormat)

            End Select

            Try
                Serializer.Serialize(fs, [Object])
                Return True

            Catch ex As InvalidOperationException
                Return False

            End Try

        End Using ' fs As New MemoryStream

    End Function





Ejemplo de sintaxis para una condicional de .Net Framework del proyecto.

Código (vbnet) [Seleccionar]

#If NET20 Then
        ' This happens when the app targets .NEt Framework 2.0

#ElseIf NET40 Then
        ' This happens when the app targets .NEt Framework 4.0

#End If
#6782
Como limpiar la consola de depuración, en cualquier momento:
Nota: Asegurarse de no tener más de 1 instancia de VisualStudio en ejecución.

Código (vb) [Seleccionar]

   ' Clear Debug-Console Output
   ' By Elektro
   '
   ' Instructions:
   ' 1. Add a reference to 'EnvDTE' and 'envdte80'
   '
   ''' <summary>
   ''' Clears the debug console output.
   ''' </summary>
   Public Sub ClearDebugConsoleOutput()

       DirectCast(Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.12.0"), EnvDTE80.DTE2).
                  ToolWindows.OutputWindow.OutputWindowPanes.Item("Debug").Clear()

   End Sub







Como obtener el output de la consola de depuración, en cualquier momento:
Nota: Asegurarse de no tener más de 1 instancia de VisualStudio en ejecución.

Código (vbnet) [Seleccionar]
   ' Get Debug-Console Output
   ' By Elektro
   '
   ' Instructions:
   ' 1. Add a reference to 'EnvDTE' and 'envdte80'
   '
   ' Usage Examples:
   '
   ' Clipboard.SetText(GetDebugConsoleOutput)
   '
   ''' <summary>
   ''' Gets the debug console output.
   ''' </summary>
   ''' <returns>System.String.</returns>
   Public Function GetDebugConsoleOutput() As String

       Dim Output As EnvDTE.TextSelection =
           DirectCast(Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.12.0"), EnvDTE80.DTE2).
                      ToolWindows.OutputWindow.OutputWindowPanes.Item("Debug").TextDocument.Selection

       Output.SelectAll()
       Return Output.Text

   End Function
#6784
Se que no quieres oirlo, ¿pero te das cuenta que, aparte de estar utilizando una versión antigua del programa (2.x), estás intentando reemplazar la funcionalidad del compiler por usar un editor de texto para desarrollar aplicaciones, y que además estás dejando de lado todo el desarrollo de depuración?, ya que el editor no tiene un debugger, ni breakpoints, etc.

Si eres experto en dicho lenguaje y no necesitas depurar entonces adelante, usa sublime-text (o cualquier otro editor de texto) sabiendo lo que haces, pero de lo contario debes saber que usar un editor de texto no es una buena opción, las IDE's existen por un buen motivo.

Aquí está toda la documentación necesaria para la próxima vez:
· Build Systems - Options
· Build Systems - Variable Substitution

PD: Yo manejo Sublime-Text a diario desde hace muchos años, tanto como para la edición normal de texto como para el Scripting, pero jamás se me ocurriría programar en serio un proyecto "grande" con este o cualquier otro editor de texto ya sea de un lenguaje interpretado o compilado, ya que me estaría privando de todas las herramientas necesarias para desarrollar de forma eficiente que suelen proporcionarnos una IDE.

Saludos.
#6785
CitarEsta es la primera vez en España que se arresta a una persona por compartir este tipo de archivos a través de la red social

Así de lento vamos en España... digo yo que habrán cientos, o cinluso peor, miles de pedófilos que compartan ese tipo de material en redes sociales. a ver si se ponen las pilas la policia.
#6786
¿Para que pides que te cierren el post si luego tienes ganas de respondernos a todos? xD.

Sobre lo de la pequeña "discusión", está otodo olvidado, buen rolllo, como tu dices :) (yo me las dí un poco de justiciero porque me gusta hacer el bien, pero tampoco fui de mal rollo xD).

En lo que a mi respecta me he leido el testamento entero, pero no se que más aportarte la verdad, quizás aquí puedas encontrar algún lenguaje que te pueda interesar: List of programming languages by type, aunque no hay ninguna clasificación de "lenguajes de código nativo", pero por otro lado está muy bien clasificado por paradigmas de programación.

Y aquí tienes unos cuantos más lenguaje del tipo que estás buscando, o eso parece (la verdad es que no puedo tener los tecnicismos de todos los lenguajes mencionados en cuenta, la mayoría ni los he tocado, así que no se si te interesarán):
Cita de: http://stackoverflow.com/questions/1797328/programming-languages-that-compile-to-native-code-and-have-the-batteries-include
   C and C++.
   ...
   Haskell
   OCaml
   Go
   D
   Lisp
   ...
   Delphi

EDITO:

Cita de: CharlyM35 en  2 Agosto 2014, 09:23 AMEternal Idol: Por que estáis discutiendo? lol? em... creo que si owl-eye preguntó lo de "eres argentino?" fue por que le pareció una curiosidad... dudo mucho que tenga algo en contra contra los argentinos..[/center]

No quiero dármelas de defensor de Eternal Idol (aunque ampoco me importaría), pero su respuesta fue más que justificada... ya que esa pregunta sobre los argentinos no fue por curiosidad, fue una ofensa racial.
Si mantuvieras una conversación 2 segundos con el usuario que hizo la "pregunta" sería más que suficiente para que comprobases del "palo" que va, ya que no hace otra cosa que comportarse como un niño e insultando a los que le lleven la contraria por pura diversión y su modo de defenderse ante una crítica es intentando ridiculizar a la otra persona... pero quien queda en ridículo es él.
En fín, esa pregunta fue una ofensa racial en toda regla, y yo espero que se sancione ese tipo de ofensas raciales y a los usuarios que las hagan, ya que ni las ofensas ni ese tipo de personas aportan nada bueno a un foro como este.

Un saludo
#6787
Foro Libre / Re: Lenguajes Nativos
1 Agosto 2014, 11:49 AM
Cita de: CharlieGleek en  1 Agosto 2014, 09:30 AM
Madre de dios, virgen del amor hermoso....

Creo que hay gente que no conoce las diferencias entre lenguajes Nativos y lenguajes Interpretados. Me habéis recomendado JS, C# y Python.... y los tres son interpretados...  No tengo nada en contra de los interpretados, bueno si, muchissimas cosas, por ello mismo no los uso, jamás.

1. Para empezar tu comentario está FUERA DE TONO para todos los usuarios que solo han intentado ayudarte, en especial te pasaste un rato con "owl-eyes", el cual considero un usuario conflictivo pero no ha echo más que intentar ayudarte, así que deberías relajarte un poco, ¿no crees?.

2. Aunque creas saberlo todo, te sugiero leer unas definiciones para que entiendas la diferencia sobre un lenguaje compilado o interpretado, y el porque estás equivocado:

· Interpreted language
CitarAn interpreted language is a programming language for which most of its implementations execute instructions directly, without previously compiling a program into machine-language instructions. The interpreter executes the program directly, translating each statement into a sequence of one or more subroutines already compiled into machine code.

· Compiled language
CitarA compiled language is a programming language whose implementations are typically compilers (translators that generate machine code from source code), and not interpreters (step-by-step executors of source code, where no pre-runtime translation takes place).

The term is somewhat vague; in principle any language can be implemented with a compiler or with an interpreter. A combination of both solutions is also increasingly common: a compiler can translate the source code into some intermediate form (often called bytecode), which is then passed to an interpreter which executes it.

· C-Sharp

· Is C# partially interpreted or really compiled?
CitarC# is compiled into IL, by the c# compiler.

This IL is then compiled just-in-time (JIT) as it's needed, into the native assembly language of the host machine. It would be possible to write a .NET runtime that interpreted the IL instead though. Even if this was done, I'd still argue that c# is a compiled language.

· NGen (Native Image Generator)
CitarThe Native Image Generator, or simply NGen is the ahead-of-time compilation service of the .NET Framework. It allows a CLI assembly to be pre-compiled instead of letting the Common Language Runtime do a just-in-time compilation at runtime. In some cases the execution will be significantly faster than with JIT.

No diré nada más sobre este tema para no empezar una ridícula discusión que no lleva a ningún sitio y donde desgraciadamente ya ha comentado otro usuario conflictivo que seguramente metería más baza en el asunto, prefiero dejarlo como está y que saques tus propias conclusiones, aunque de todas formas, con tu último comentario FUERA DE TONO has dejado claro que tipo de lenguaje andas buscando, eso debiste decir en tu primer comentario para no esperar este tipo de respuestas sobre lenguajes compilados, no nos culpes a nosotros por no haber sabido expresarte tú mismo.

Aunque de todas formas sinceramente no se que tipo de lenguaje esperas conseguir encontrar (aparte de C++), ¿crees que una aplicación desarrollada en C++ no necesita nada para ejecutarse y se puede portabilizar a otra plataforma sin requisitos previos para ejecutarse allí?, eso es lo que tú denominas de forma incorrecta como "intérprete", y al menos en Windows necesitas tener instaladas las librerías (Runtimes) de C++, lo digo porque a las Runtimes de Framework y etc te gusta llamarlo "intérpretes", cuando realmente no lo son ...aunque se parezcan.

· Runtime system
CitarA run-time system, also called runtime system, or just runtime, exhibits the behavior of the constructs of a computer language. Every programming language has[verification needed] some form of a runtime system, whether the language is a compiled language, interpreted language, embedded domain-specific language, or is invoked via an API as is pthreads.

Venga, un saludo.
#6788
Foro Libre / Re: Lenguajes Nativos
1 Agosto 2014, 03:43 AM
Cita de: CharlieGleek en  1 Agosto 2014, 02:25 AM
Me gusta trabajar aplicaciones sin interfaz grafica...

yo detesto los interpretados

C++ y ADA me llamaron la atención tanto por su sintaxis como por el hecho de que ambos son lenguajes de proposito general.

Entonces te encantaría aprender C-Sharp (C#), y utilizando la IDE original de VisualStudio para los proyectos CLI, porque si me usas otra IDE de terceros acabarás muerto del asco y desaprovechando parte de su potencial.

· VisualStudio 2013 U. (Instalador+Plantillas+Snippets+Libs+Controles+Tools)

Un saludo
#6789
Cita de: ChelmiR en 31 Julio 2014, 04:03 AMla imagen si sirve solo tienes que selecionar el link copiar y pegar en la barra del navegador http://i.imgur.com/uXSG8Uf.png

Esa imagen si, pero no es la misma que publicaste en tu primer comentario, como ya dije, aquella url no existe.

Un saludo!
#6790
Cita de: El Benjo en 30 Julio 2014, 19:49 PMAquí está otra persona con el mismo problema.
Por desgracia Googleando no se puede encontrar mucha más información que esa acerca de este problema específico.
PD: Me hizo gracia lo de "otra persona", no te fijaste lo suficiente en el nombre del usuario :P

CitarY no tienes que crearte un método serializador para guardar eso. Con las funciones para serializar del propio .NET debería ser suficiente. A como yo lo veo, es la única solución que existe para guardar en 'My.Settings'. Saludos.

Por serializable no quise decir desarrollar un serializador, quise decir: crear una Class, añadirle 3 propiedades públicas ("image", "index", "file") declarar la Class como serializable (ISerializable), y luego reemplazar el uso del ArrayList por una colección de objetos, de esta Class, y usar los métodos ya existentes para serializar y deserializar la colección en "X" archivo, lo que quise decir era eso, y que para hacer todo ese rollo teniendo disponible un ArrayList entonces ¿para que hacerlo?, prefiero aprovechar la comodidad del ArrayList pero no hay por donde cojerlo.

Si supieras como guardar los cambios del ArrayList en la propiedad de My.Setting aunque fuese serializando la colección entonces me gustaría que pudieses mostrarme un ejemplo, yo lo intenté como puedes comprobar en el update de aquél post que citaste, pero en un comentario más abajo explico que acabé echo un lio porque no tenia muy claro si estaba serializando un Arraylists que contenia otro Arraylist Arraylist(Arraylist), y luego para deserializarlo acabé echo un lio también con el Stream de memoria, no tengo mucha experiencia en eso.

Gracias por comentar El Benjo

Un saludo!