Convertidor de formato (Delphi)
Convertidor de formato (JSON, XML, etc.) para Delphi.
Convertidor de formato (JSON, XML, etc.) para Delphi.
Índice
- Instalación/configuración
- Usar
- Mapa del sitio
- Estructura
- Grupo de trabajo
- Dependencias
- Contribuir
- Lista de verificación para contribuir
- Créditos
- Licencia
- Estandarización de código
- Todo
- Árbol de proyectos
Instalación/configuración

* Haga clic en la imagen para ver el video
Corrección: reemplace "$ (variable_created) dcu" con "$ (variable_created) output" en la ruta de la biblioteca
Usar
Cómo usar

* Haga clic en la imagen para ver el video
Usar ejemplo

* Haga clic en la imagen para ver el video
Fondos
Jsontoxml
- Stringstring: convierte un JSON en forma de cadena en una cadena en forma de xml (cadena);
- Parametrización
- StrContent: json a convertidor (cadena);
- StringToFile: convierte una cadena JSON en un archivo XML (boolean);
- Parametrización
- StrContent: json a convertidor (cadena);
- FilePathResult: ruta del archivo XML para ser guardado (String);
- StringToreturnType: convierte un JSON en forma de cadena en un XMLDocument XML (TXMLDocument);
- Parametrización
- StrContent: json a convertidor (cadena);
- Filestring: convierte un archivo JSON en un XML en String (String);
- Parametrización
- FilePath: JSON File Path to Converter (String);
- Fileletofile: convierte un archivo JSON en un archivo XML (booleano);
- Parametrización
- FilePath: JSON File Path to Converter (String);
- FilePathResult: ruta del archivo XML para ser guardado (String);
- FileletReTurnType: convierte un archivo json en un txmlDocument xml (txmlDocument);
- Parametrización
- FilePath: JSON File Path to Converter (String);
- OriginIntyPetostring: convierte un tjsonObject json en una cadena en forma de xml (cadena);
- Parametrización
- Contenido: JSON a Converter (TJSONObject);
- OriginIntyPetOfile: convierte un TJSONObject JSON en un archivo XML (boolean);
- Parametrización
- Contenido: JSON a Converter (TJSONObject);
- FilePathResult: ruta del archivo XML para ser guardado (String);
- OriginIntyPeturnType: convierte un tjsonObject JSON en un XML XML (TXMLDocument);
- Parametrización
- Contenido: JSON a Converter (TJSONObject);
- NormizeRigin: convierte un JSON en forma de cadena en un JSON TJSONObject (TJSONObject);
- Parametrización
- Contenido: JSON para normalizar (cadena);
- Normalizeorigin: convierte un tjsonobject json en una lista de tstring (tStringList);
- Parametrización
- Contenido: JSON para normalizar (TJSONObject);
- Normalizeorigin: convierte un json tStringList en una cadena (cadena) json;
- Parametrización
- Contenido: JSON para normalizar (TStringList);
- NormalizerEturn: convierte un xml xml xml en forma de txmlDocument (txmlDocument);
- Parametrización
- Contenido: xml para normalizar (cadena);
- NormalizerEturn: convierte un XMLDocument XML en una XML TStringList (tStringList);
- Parametrización
- Contenido: xml para normalizar (txmlDocument);
- NormalizerETurn: convierte un XML en forma de una cadena en forma de XML (cadena);
- Parametrización
- Contenido: XML para normalizar (TStringList);
Xmltojson
- StringString: convierte una cadena xml xml en una cadena (cadena) json;
- Parametrización
- StrContent: xml a convertidor (cadena);
- StringToFile: convierte un XML en cadena en un archivo json (boolean);
- Parametrización
- StrContent: xml a convertidor (cadena);
- FilePathResult: JSON FILE PATH se guardará (String);
- StringToreturnType: convierte una cadena XML xml en un tjsonObject (tjsonObject) json;
- Parametrización
- StrContent: xml a convertidor (cadena);
- Filestring: convierte un archivo XML en una cadena (string) json;
- Parametrización
- FilePath: XML File Path to Converter (String);
- Fileletofile: convierta un archivo XML en un archivo JSON (boolean);
- Parametrización
- FilePath: XML File Path to Converter (String);
- FilePathResult: JSON FILE PATH se guardará (String);
- FileletReTurnType: convierte un archivo XML en un TJSONObject JSON (TJSONObject);
- Parametrización
- FilePath: XML File Path to Converter (String);
- OriginIntyPetostring: Convierte un XML en forma de XML en una cadena (String) json;
- Parametrización
- Contenido: xml a convertidor (txmlDocument);
- OriginIntyPetOfile: convierte un XML en forma de TXMLDocument en un archivo JSON (boolean);
- Parametrización
- Contenido: xml a convertidor (txmlDocument);
- FilePathResult: JSON FILE PATH se guardará (String);
- OriginIntyPeturnType: convierte un xmlDocument XML en un TJSONObject (TJSONObject) JSON;
- Parametrización
- Contenido: xml a convertidor (txmlDocument);
- Normalizeorigin: convierte un xml xml xml en forma de txmlDocument (txmlDocument);
- Parametrización
- Contenido: xml para normalizar (cadena);
- NormizeRigin: convierte un XMLDocument XML en una XML TStringList (tStringList);
- Parametrización
- Contenido: xml para normalizar (txmlDocument);
- Normalizeorigin: convierte un xml xml en una cadena en forma de xml (cadena);
- Parametrización
- Contenido: XML para normalizar (TStringList);
- NormalizerEturn: convierte un JSON en forma de cadena en un JSON TJSONObject (TJSONObject);
- Parametrización
- Contenido: JSON para normalizar (cadena);
- NormalizerEturn: convierte un JSON TJSONObject a una TStringList (tStringList) JSON;
- Parametrización
- Contenido: JSON para normalizar (TJSONObject);
- NormalizerEturn: convierte un JSON TStringList en una cadena (cadena) JSON;
- Parametrización
- Contenido: JSON para normalizar (TStringList);
Mapa del sitio

Estructura
- Aplicación: Contiene la compilación de los paquetes y el testador (s);
- Documentación: contiene la documentación del paquete (s);
- Imágenes: contiene las imágenes utilizadas en el paquete (s);
- Módulos: módulos que realizan cada conversión disponible en el sistema;
- JSONTOXML: Contiene el paquete utilizado para la conversión XML a JSON;
- XMLTOJSON: contiene el paquete utilizado para la conversión de JSON a XML;
- Salida: contiene los archivos pre -compilados utilizados por Delphi (.dcu);
- Proyecto: Directorio con proyectos de cada paquete y probador;
- SRC: contiene la fuente esencial para la operación de los paquetes;
- Estandarización: contiene las interfaces que estandarizan las pacaciones;
- FormatConverter: contiene el paquete con el registro de este componente (también utilizado para obtener el número de compilación);
- FormatConvertester: contiene el ejecutable del componente;
- Verder: contiene los paquetes de terceros;
Grupo de trabajo
La compilación del proyecto debe mantenerse como en la imagen.

Dependencias
- No hay dependencias hasta ahora.
Contribuir
- Hacer un tenedor basado en el maestro;
- Hacer "confirmar" de sus cambios (si está resolviendo algún "problema", no olvide escribir "arreglado #numeroSissue" en el mensaje);
- Empujar a tus compromisos;
- Solicite una "solicitud de extracción" para el principal maestro del repositorio.
Creando un problema
Para crear un problema, preste atención a lo siguiente:
- Seleccionar la etiqueta adecuada para el problema (esta etiqueta puede cambiarse, pero la no diseñación hace que el problema se pierda).

- Seleccionar el proyecto FormatConverter - Kanban , esto organizará lo que se está haciendo y lo que se debe hacer.

Lista de verificación para contribuir
- Probar las funcionalidades creadas / alteradas;
- Marque con "#" los problemas completados, en los comitos;
- ReadMe (Caso que lo necesita)
- Número de construcción;
- Índice de cambio;
- Cambiar / agregar forma de uso;
- Incluir paquetes / clases / métodos / parámetros en formas de uso;
- Cambiar mapa del sitio;
- Cambiar la estructura de la aplicación;
- Imagen actualizada del grupo de trabajo;
- Agregar / eliminar dependencias (paquetes de terceros);
- Actualizar los métodos de instalación / configuración del paquete;
- Actualizar la documentación de origen;
- Eliminar / agregar elementos en todos;
- Actualizar el árbol del proyecto;
- Al agregar elementos en total, no olvide crear el "problema" correspondiente;
- Etiquetas principales
- Error: corrección de algún problema;
- Documentación: cambio en la documentación;
- Enhope: cambio de funcionalidad existente para mejorarla;
- Característica: nueva funcionalidad;
- Proyecto
- FormatConverter - Kanban: para organizar mejor el proyecto;
Créditos
@bomorafinha
Licencia
Estandarización de código
Versión
A la versión, el Converver de formateo debe usarse como base, la formación del paquete FormatConverter.BPL para Windows 32 bits, de la siguiente manera:

dónde:
- Versión principal, solo cambia cuando la operación básica del sistema cambia considerablemente;
- Número de módulos funcionales del sistema;
- Número de funciones públicas disponibles en el sistema;
- Construir versión del sistema autogenerado de Delphi;
- La construcción debe mantenerse como autoincrito;
Para cada prueba compilada con éxito, debemos dar a la versión FormatConverter.bpl a la versión (Shift + F9).
Las versiones del repositorio se realizarán cada vez que un módulo esté 100% terminado, o cuando se realice una reparación muy relevante.
Estándares adoptados en el proyecto
Para una mejor comprensión del proyecto, se han adoptado algunos estándares que facilitan la identificación de cada estructura utilizada. Básicamente son el uso de Camelcase y Pascalcase ;
Variables de método
Se deben llegar a las variables locales Camelcase .
Observe el espacio entre la declaración variable y el comienzo del método.

Variables privadas
La declaración de varía privado siempre debe ocurrir dentro de los modificadores de acceso.
Deben ser llegados Camelcase siempre comenzando con "F" seguido de su nombre.

Propiedades
Las propiedades deben usar Pascalcase .
Deben tener exactamente el nombre de su variable privada y/o método de acceso, eliminando solo el prefijo (F, Get, SET).

Métodos
La declaración de métodos siempre debe ocurrir dentro de los modificadores de acceso.
Deben llegar los métodos Camelcase .
Los parámetros del método deben llegar a Camelcase comenzando con "A".
Busque, cuando sea posible, use Get , Set , EH , etc. de acuerdo con la función de método y/o su devolución.
Cuando se les llama siempre, use parientes en su llamada, incluso cuando sin parámetros. Ej: mi Memodo ();

Interfaces
Las interfaces siempre deben comenzar con la letra "I" (mayúsculas), seguido de su nombre en Pascalcase .

Clases
Las clases siempre deben comenzar con la letra "T", seguida de su nombre en Pascalcase .
Las clases que no extienden ninguna otra clases específicas deben extender tinterfacedObject .

Llamado métodos en múltiples líneas
Los métodos con llamadas muy extensas deben llamarse utilizando el estándar de identidad JSON.


Uso de bloques de finalización de Begin
Estructuras que no usan el bloque de apertura y cierre del código, como un IFS de línea, en un código muy extenso que generalmente se interponen en el camino de leer el código para modificaciones posteriores. Por esta razón, todas las estructuras deben tener el bloque de apertura y cierre ( comenzar ... Fin )


Ociosidad
Se debe declarar que los modificadores de acceso están alineados con la declaración de clase.
Se debe alinear la declaración de métodos, propiedades, constructores/destructivos, así como la variable de declaración var .
Procedimientos y funciones grupales sin alternarlos.
Declaraciones variables, métodos, constructores, destructores y propiedades separables con una línea en blanco, así como dejar una línea en blanco antes de la instrucción Modificador de acceso, o el final del bloque, excepto el primer modificador después de la declaración de clase.

Llamado los métodos y variables internos de la clase
Deben ser precedidos por la palabra reservada para facilitar la lectura del código.

Palabras reservadas
Se da preferencia al uso de pequeñas iniciales para palabras reservadas. Sin embargo, esta no es una regla para el proyecto, ya que está reservado para que IDE lo señale, por lo que no perturba la lectura del código.
Nomenclatura de archivo
Nombra los archivos que comienzan con U_ .
Para una mejor ubicación de los archivos en el Administrador de archivos y las unidades dentro de Delphi, debemos configurar el nombre de los archivos componiéndolos de sus módulos, envíos y funciones finales, todo separado por punto. Como sigue en la siguiente imagen:

Un código bien estandarizado es mucho más fácil de leer, incluso por programadores que usan otros idiomas.
Todo
Converter JSON -> CSV
- Entrada JSON -> Salida CSV
- Entrada JSON -> Salida de cadenas
- Entrada JSON -> Salida del archivo
- Entrada de cadena -> salida CSV
- Entrada de cadena -> Salida de cadena
- Entrada de cadena -> Salida del archivo
- Entrada de archivo -> salida CSV
- Entrada de archivo -> Salida de cadena
- Entrada de archivo -> Salida del archivo
- Cadena de origen estándar -> JSON
- Origen estándar JSON -> tstringlist
- Origen estándar tStringList -> cadena
- Normalizar cadena de retorno -> CSV
- Normalizar return csv -> tstringlist
- Retorno estándar tStringList -> cadena
Converter XML -> CSV
- Entrada XML -> Salida CSV
- Entrada XML -> Salida de cadenas
- Entrada XML -> Salida del archivo
- Entrada de cadena -> salida CSV
- Entrada de cadena -> Salida de cadena
- Entrada de cadena -> Salida del archivo
- Entrada de archivo -> salida CSV
- Entrada de archivo -> Salida de cadena
- Entrada de archivo -> Salida del archivo
- Cadena de origen estándar -> XML
- Origen estándar XML -> tstringlist
- Origen estándar tStringList -> cadena
- Normalizar cadena de retorno -> CSV
- Normalizar return csv -> tstringlist
- Retorno estándar tStringList -> cadena
Converter CSV -> JSON
- Entrada CSV -> Salida JSON
- Entrada CSV -> Salida de cadenas
- Entrada CSV -> Salida del archivo
- Entrada de cadena -> Salida JSON
- Entrada de cadena -> Salida de cadena
- Entrada de cadena -> Salida del archivo
- Entrada de archivo -> Salida JSON
- Entrada de archivo -> Salida de cadena
- Entrada de archivo -> Salida del archivo
- Cadena de origen estándar -> CSV
- Origen estándar CSV -> tstringlist
- Origen estándar tStringList -> cadena
- Normalizar cadena de retorno -> json
- Normalizar return json -> tstringlist
- Retorno estándar tStringList -> cadena
Converter CSV -> XML
- Entrada CSV -> Salida XML
- Entrada CSV -> Salida de cadenas
- Entrada CSV -> Salida del archivo
- Entrada de cadena -> salida XML
- Entrada de cadena -> Salida de cadena
- Entrada de cadena -> Salida del archivo
- Entrada de archivo -> salida XML
- Entrada de archivo -> Salida de cadena
- Entrada de archivo -> Salida del archivo
- Cadena de origen estándar -> CSV
- Origen estándar CSV -> tstringlist
- Origen estándar tStringList -> cadena
- Normalizar cadena de retorno -> xml
- Estandarizar return xml -> tstringlist
- Retorno estándar tStringList -> cadena
Árbol de proyectos
FormatConverter
├── app
│ └── .gitkeep
├── documentation
│ └── images
│ ├── exemplo.png
│ ├── install_config.png
│ ├── label_issue.png
│ ├── nomenclatura.png
│ ├── padrao_blocos_01.png
│ ├── padrao_blocos_02.png
│ ├── padrao_chamadas_01.png
│ ├── padrao_chamadas_02.png
│ ├── padrao_classes.png
│ ├── padrao_identacao_01.png
│ ├── padrao_interfaces.png
│ ├── padrao_metodos.png
│ ├── padrao_propriedades.png
│ ├── padrao_self_01.png
│ ├── padrao_variaveis_locais.png
│ ├── padrao_variaveis_privadas.png
│ ├── project_issue.png
│ ├── sitemap.png
│ ├── uso.png
│ ├── versionamento.png
│ └── workgroup.png
├── images
│ └── icone
│ ├── FormatConverter.bmp
│ ├── icon 150x150.png
│ ├── icon 44x44.png
│ ├── icon.ico
│ ├── icon.png
│ └── icon.psd
├── modules
│ ├── CSVtoJSON
│ │ └── U_CSV.JSON.pas
│ ├── CSVtoXML
│ │ └── U_CSV.XML.pas
│ ├── JSONtoCSV
│ │ └── U_JSON.CSV.pas
│ ├── JSONtoXML
│ │ └── U_JSON.XML.pas
│ ├── XMLtoCSV
│ │ └── U_XML.CSV.pas
│ └── XMLtoJSON
│ └── U_XML.JSON.pas
├── output
│ └── .gitkeep
├── project
│ ├── CSVtoJSON.dpk
│ ├── CSVtoJSON.dproj
│ ├── CSVtoXML.dpk
│ ├── CSVtoXML.dproj
│ ├── Format_Converter.groupproj
│ ├── FormatConverter.dpk
│ ├── FormatConverter.dproj
│ ├── FormatConverterTester.dpr
│ ├── FormatConverterTester.dproj
│ ├── JSONtoCSV.dpk
│ ├── JSONtoCSV.dproj
│ ├── JSONtoXML.dpk
│ ├── JSONtoXML.dproj
│ ├── Padronizacao.dpk
│ ├── Padronizacao.dproj
│ ├── XMLtoCSV.dpk
│ ├── XMLtoCSV.dproj
│ ├── XMLtoJSON.dpk
│ └── XMLtoJSON.dproj
├── src
│ ├── FormatConverter
│ │ └── U_FormatConverter.pas
│ ├── FormatConverterTester
│ │ ├── U_FormatConverterTester.View.fmx
│ │ └── U_FormatConverterTester.View.pas
│ └── Padronizacao
│ ├── U_Normalize.pas
│ └── U_Origin.Return.pas
├── vendor
│ └── .gitkeep
├── .gitattributes
├── .gitignore
├── LICENSE
└── README.md