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 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
  #2  
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
  #3  
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
  #4  
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
  #5  
Antiguo 19-02-2023
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Varias veces hablas de algo "rápido" pero lo que muestras no veo algo que lo demande. Si no hablamos de varias megas/gigas no va a ver enorme diferencia entre los formatos.

Creo que si no tienes claro el porque estas buscando un formato ninguno va a resaltar.


P.D: La version moderna de los INI es el TOML https://toml.io/en/
__________________
El malabarista.
Responder Con Cita
  #6  
Antiguo 20-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 mamcx Ver Mensaje
P.D: La version moderna de los INI es el TOML https://toml.io/en/
TOML [Tom's Obvious Minimal Language]
Viendo el ejemplo de su web, está claro que es un nombre muy apropiado.
¿Sabes si hay algo implementado en Delphi para usarlos?
Responder Con Cita
  #7  
Antiguo 20-02-2023
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Parece que para FPC:

https://github.com/toml-lang/toml/wiki

https://github.com/genericptr/fpTOML
__________________
El malabarista.
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 18:18:28.


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