Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-02-2023
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.488
Poder: 21
MAXIUM Va camino a la fama
Concuerdo con legibilidad y simpleza de Jsom vs XML

Y si bien sigo usando .ini por su minimalismo y eficacia. No me atrevería a usarlo para decenas de datos.
Responder Con Cita
  #2  
Antiguo 13-02-2023
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Estoy con Mario. Depende del uso que se le quiera dar. Hay datos, por ejemplo, que pueden guardarse en XML (usando "CDATA") que no sería posible o sería muy complicado guardar en archivos JSON, por ejemplo. De modo que depende del uso que se le vaya a dar al archivo y a los datos que se necesita guardar en el mismo. Si son datos verdaderamente simples acaso el venerable INI, o acaso JSON, en lugar de XML, pero, lo cierto es que cada archivo tiene sus más y su menos.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 13-02-2023
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Al final todos los tipos de los que estamos hablando son ficheros de texto, por lo tanto son muy similares.
A mi me siguen gustando, por simplicidad y por legibilidad, los .INI

Para los otros, XML y JSON, lo primero que tengo que hacer al abrirlos con un editor (Notepad++) es formatearlos, cosa que me ha mucha rabia/madra.
Si se necesita más complejidad (por ejemplo anidamiento) ya si que es necesario ir a XML/JSON.

Y entre estos 2 pues casi mejor (en mi caso) JSON, por legibilidad también, y porque puedes usar clases nativas; Los XMLDoc, Xml.XMLIntf, XMLDom, me resultan incómodos.

Por otro lado, yo he usado a veces esto, que resulta muy útil y cómodo (siempre y cuando la estructura del JSON no cambie):
https://jsontodelphi.com/
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 15-02-2023
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Yo suelo usar IFF. De hecho hace poco subí mis clases a SourceForge con el nombre de iff4pascal. Si no lo había dicho es porque estaba pensando en si añadir soporte a RIFF, pero tampoco veo el porqué... Bueno, eso y que todavía no lo he probado con Delphi, aunque no debería dar muchos problemas.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #5  
Antiguo 19-02-2023
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Lo he logrado con el Newtonjson, en el cual es una librería externa.

El resultado me queda en una sola línea y no me gusta. Por ejemplo.
Código:
{"TextBox":"Hola Club Delphi","CheckBox":true,"RadioButton1_Luz_ON":true,"RadioButton2_Luz_OFF":false}
Cuando en realidad debe quedar así para su fácil entendimiento o de forma legible.
Código:
{
     "TextBox":"Hola Club Delphi",
     "CheckBox":true,
     "RadioButton1_Luz_ON":true,
     "RadioButton2_Luz_OFF":false
}
Al menos ya puedo guardar y leer el json de una vez por todas. Ya averiguaré el formato de guardado como dije arriba.

Lo que estoy intentado, es evitar librerías de terceros como el Newtonjson, lo que no sabía que está el System.Text.json de la propia .net 7.0, que en realidad es nuevo en el core ya que el .net 4.8 hacia atrás no lo incluye.

Dejo aquí el código por si alguien lo necesita o por curiosear hecho con el Newtonjson.
Código:
using Newtonsoft.Json;

namespace Guardar_y_cargar_datos_en_archivo.json_.NET_7._0
{

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        class MiInfo
        {
            public string? TextBox { get; set; }
            public bool CheckBox { get; set; }
            public bool RadioButton1_Luz_ON { get; set; }
            public bool RadioButton2_Luz_OFF { get; set; }
        }

        void SalvarDatos()
        {
            MiInfo miInfo = new()
            {
                TextBox = textBox1.Text,
                CheckBox = checkBox1.Checked,
                RadioButton1_Luz_ON = radioButton1.Checked,
                RadioButton2_Luz_OFF = radioButton2.Checked
            };

            try
            {
                string serializado = JsonConvert.SerializeObject(miInfo);
                File.WriteAllText(@"Ejemplo.json", serializado);
            }
            catch {}
        }

        void RecuperarDatos()
        {
            if (File.Exists(@"Ejemplo.json"))
            {
                string serializado = File.ReadAllText(@"Ejemplo.json");
                //MiInfo miInfo = (MiInfo)JsonConvert.DeserializeObject(serializado);
                MiInfo miInfo = JsonConvert.DeserializeObject<MiInfo>(serializado);
                if (miInfo != null)
                {
                    textBox1.Text = miInfo.TextBox;
                    checkBox1.Checked = miInfo.CheckBox;
                    radioButton1.Checked = miInfo.RadioButton1_Luz_ON;
                    radioButton2.Checked = miInfo.RadioButton2_Luz_OFF;
                }
            }
        }

        private void button_Guardar_Click(object sender, EventArgs e)
        {
            SalvarDatos();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            RecuperarDatos();
        }
    }
}
Como podrán ver, he intentado usarlo con la librería de la propia Visual Studio Community 2022 usando .NET 7.0 y no es compatible.

¿Alguna idea sobre cómo adaptar de Newtosjon al de Microsoft que viene de serie?

En cuanto a los ini, los abandoné desde hace años cuando me dijeron que es muy viejo y lento, tampoco use el editor de registro para guardar datos y leerlos, ya que esta el Windows cada vez sería más lento, que suse XML y lo he usado hasta a día de hoy y ahora quiero ver el json por lo que veo, antes lo ignoraba y parece mejor que el xml y depende para qué, al menos para leer y entender de entrada, parece el más recomendable, por se usa cada vez más y más.

Saludos.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.
Responder Con Cita
  #6  
Antiguo 19-02-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por REHome Ver Mensaje
En cuanto a los ini, los abandoné desde hace años cuando me dijeron que es muy viejo y lento
Eso son prejucios de quien te lo dijo. ¿Acaso no es lo mismo que dicen de Delphi, que es viejo?

Si todo lo que vas a almacenar es algo así:
Cita:
TextBox=Hola Club Delphi
CheckBox=true
RadioButton1_Luz_ON=true
RadioButton2_Luz_OFF=false
Es lo más simple, directo, claro y cómodo de usar, te sirve cualquier editor.

Ahora, si vas a almacenar "registros" en ese fichero de texto, eso ya sería distinto.
Responder Con Cita
  #7  
Antiguo 19-02-2023
REHome REHome is offline
Miembro
 
Registrado: jul 2003
Ubicación: España
Posts: 454
Poder: 21
REHome Va por buen camino
Se ve muy bien el ini, lo recuerdo bien y lo usaba mucho el Officce 1997. Los de ahora no lo he mirado y mira que ha llovido desde entonces.

No recordaba que el más rápido y también me aconsejaron, es usar el binario.
https://learn.microsoft.com/es-es/do...e?view=net-7.0

Como no lo lee en el block de notas, por muy rápido que sea, lo descarté.

Y mira que Delphi, lo tengo todavía pendiente para hacer cosas relacionados con Arduino, ejemplos, pequeños tutoriales. Hace años hice un tutorial sencillo, así que Delphi no quede en el olvido, ya que Java por medio, que si Python, que si el Visual Studio y no se qué, pascal en general solo lo apoya Delphi.



Gracias.
__________________
http://electronica-pic.blogspot.com....n-arduino.html Manuales de electrónica general, PIC y Arduino.

Última edición por REHome fecha: 19-02-2023 a las 20:26:13.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cuál es el mejor servicio para guardar archivos en la nube? Lucuitas Internet 13 25-04-2019 20:10:29
Cual es la mejor opción de conexión a Bases de Datos en Lazarus para ... ? rolandoj Lazarus, FreePascal, Kylix, etc. 20 24-09-2012 01:44:57
¿Cuál es la mejor base de datos del mercado? rrf Varios 3 06-07-2010 18:12:12
Cual seria el mejor lugar para guardar la contraseña de acceso a mi Aplicacion JoAnCa Varios 3 21-02-2009 21:42:36
Cual es el mejor manejador gratis de base de datos para MySQl 5.0+ ? juangabriel1786 SQL 3 15-12-2008 00:10:29


La franja horaria es GMT +2. Ahora son las 21:02:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi