Convertisseur de format (Delphi)
Convertisseur de format (JSON, XML, etc.) pour Delphi.
Convertisseur de format (JSON, XML, etc.) pour Delphi.
Indice
- Installation / configuration
- Utiliser
- Sitemap
- Structure
- Groupe de travail
- Dépendances
- Contribuer
- Liste de contrôle pour contribuer
- Crédits
- Licence
- Standardisation du code
- Tous
- Arbre de projet
Installation / configuration

* Cliquez sur l'image pour afficher la vidéo
Correction: remplacer "$ (variable_created) dcU" par "$ (variable_created) output" sur le chemin de la bibliothèque
Utiliser
Comment utiliser

* Cliquez sur l'image pour afficher la vidéo
Utiliser l'exemple

* Cliquez sur l'image pour afficher la vidéo
Fonds
JSontoxml
- Stringstring: convertit un JSON en forme de chaîne en un XML de forme de chaîne (chaîne);
- Paramétrage
- StrContent: JSON à Converter (String);
- StringTofile: convertit une chaîne JSON en fichier XML (booléen);
- Paramétrage
- StrContent: JSON à Converter (String);
- FilePathResult: chemin de fichier XML à enregistrer (String);
- StringToreTurnType: convertit un JSON en forme de chaîne en un txMlDocument XML (TXMLDocument);
- Paramétrage
- StrContent: JSON à Converter (String);
- FileString: convertit un fichier JSON en un XML dans String (String);
- Paramétrage
- FilePath: chemin de fichier JSON vers Converter (String);
- FileTofile: convertit un fichier JSON en fichier XML (booléen);
- Paramétrage
- FilePath: chemin de fichier JSON vers Converter (String);
- FilePathResult: chemin de fichier XML à enregistrer (String);
- FileToreTurnType: convertit un fichier JSON en un TxMLDocument XML (TXMLDocument);
- Paramétrage
- FilePath: chemin de fichier JSON vers Converter (String);
- OriginIntypetoString: convertit un tjsonObject JSON en un XML en forme de chaîne (String);
- Paramétrage
- Contenu: JSON à Converter (TJSONObject);
- OrigineTypetoFile: convertit un tjsonObject JSON en un fichier XML (boolean);
- Paramétrage
- Contenu: JSON à Converter (TJSONObject);
- FilePathResult: chemin de fichier XML à enregistrer (String);
- OriginTypeTurnType: convertit un JSON TJSONOBject en un TxMlDocument XML (TXMLDocument);
- Paramétrage
- Contenu: JSON à Converter (TJSONObject);
- Normalizeorigin: convertit un JSON en forme de chaîne en JSON TJSONObject (tjsonObject);
- Paramétrage
- Contenu: JSON pour normaliser (String);
- Normalizeorigin: convertit un tjsonObject JSON en TStringList JSON (TStringList);
- Paramétrage
- Contenu: JSON à normaliser (tjsonObject);
- Normalizeorigin: convertit un JSON TStringList en une chaîne (chaîne) JSON;
- Paramétrage
- Contenu: JSON à normaliser (TStringList);
- NormalizerEturn: convertit un XML XML XML sous la forme de TXMLDocument (TxMLDocument);
- Paramétrage
- Contenu: XML pour normaliser (String);
- NormalizerETurn: convertit un XMLDocument XML en TStringList XML (TStringList);
- Paramétrage
- Contenu: XML pour normaliser (txMLDocument);
- NormalizerEturn: convertit un XML sous la forme d'un XML en forme de chaîne (chaîne);
- Paramétrage
- Contenu: XML pour normaliser (TStringList);
Xmltojson
- Stringstring: convertit une chaîne XML XML en une chaîne (chaîne) JSON;
- Paramétrage
- StrContent: xml à convertisseur (string);
- StringTofile: convertit un XML en chaîne en fichier JSON (booléen);
- Paramétrage
- StrContent: xml à convertisseur (string);
- FilePathResult: chemin de fichier JSON à enregistrer (String);
- StringToreTurnType: convertit un XML String XML en un tjsonObject (tjsonObject) JSON;
- Paramétrage
- StrContent: xml à convertisseur (string);
- FileString: convertit un fichier XML en une chaîne (chaîne) JSON;
- Paramétrage
- FilePath: chemin de fichier XML vers Converter (String);
- FileTofile: convertir un fichier XML en fichier JSON (booléen);
- Paramétrage
- FilePath: chemin de fichier XML vers Converter (String);
- FilePathResult: chemin de fichier JSON à enregistrer (String);
- FileToreTurnType: convertit un fichier XML en un tjsonObject JSON (tjsonObject);
- Paramétrage
- FilePath: chemin de fichier XML vers Converter (String);
- OrigineTypetOstring: convertit un XML en forme de XML en JSON de chaîne (chaîne);
- Paramétrage
- Contenu: XML à convertisseur (txMLDocument);
- OrigineTypetoFile: convertit un XML sous la forme de TxMLDocument en fichier JSON (Boolean);
- Paramétrage
- Contenu: XML à convertisseur (txMLDocument);
- FilePathResult: chemin de fichier JSON à enregistrer (String);
- OrigineTypeTurnType: convertit un XMLDocument XML en JSON TJSONObject (tjsonObject);
- Paramétrage
- Contenu: XML à convertisseur (txMLDocument);
- Normalizeorigin: convertit un XML XML XML sous la forme de TxMLDocument (TxMLDocument);
- Paramétrage
- Contenu: XML pour normaliser (String);
- Normalizeorigin: convertit un XMLDocument XML en TStringList XML (TStringList);
- Paramétrage
- Contenu: XML pour normaliser (txMLDocument);
- NormalizeOrigin: convertit un XML XML en un XML en forme de chaîne (chaîne);
- Paramétrage
- Contenu: XML pour normaliser (TStringList);
- NormalizerETurn: convertit un JSON en forme de chaîne en JSON TjsonObject (tjsonObject);
- Paramétrage
- Contenu: JSON pour normaliser (String);
- NormalizerEturn: convertit un tjsonObject JSON à un TStringList (TStringList) JSON;
- Paramétrage
- Contenu: JSON à normaliser (tjsonObject);
- NormalizerETurn: convertit un JSON TStringList en une chaîne (chaîne) JSON;
- Paramétrage
- Contenu: JSON à normaliser (TStringList);
Sitemap

Structure
- APP: Contient la compilation du (s) package (s) et du (s);
- Documentation: contient la documentation du (s) package (s);
- Images: contient les images utilisées dans le ou les packages;
- Modules: modules qui effectuent chaque conversion disponible dans le système;
- JSontoxML: contient le package utilisé pour la conversion XML en JSON;
- Xmltojson: contient le package utilisé pour la conversion de JSON en xml;
- Sortie: contient les fichiers pré-compilés utilisés par Delphi (.DCU);
- Projet: répertoire avec projets de chaque package et testeur;
- SRC: contient la source essentielle pour le fonctionnement du (s) package (s);
- Standardisation: contient les interfaces qui standardisent les pacations;
- FormatConverter: contient le package avec l'enregistrement de ce composant (également utilisé pour obtenir le numéro de construction);
- FormatConverter: contient l'exécutable du composant;
- Verder: contient les paquets de tiers;
Groupe de travail
La compilation du projet doit être maintenue comme dans l'image.

Dépendances
- Aucune dépendance jusqu'à présent.
Contribuer
- Faites une fourche basée sur le maître;
- Faites «vous engager» de vos modifications (si vous résolvez un «problème», n'oubliez pas d'écrire «Correction #NumeReroIssue» dans le message);
- Faire la poussée de vos commits;
- Demandez une "demande de traction" pour le principal maître du référentiel.
Créer un problème
Pour créer un problème , faites attention aux éléments suivants:
- Sélection de l' étiquette appropriée pour le problème (cette étiquette peut être modifiée, mais la non-conception ne fait perdre que le problème ).

- Sélection de la convertisseur de format - Projet Kanban , cela organisera ce qui est fait et ce qui devrait être fait.

Liste de contrôle pour contribuer
- Tester les fonctionnalités créées / modifiées;
- Marquez avec "#" les problèmes terminés, dans les engagements;
- Readme (cas dans le besoin)
- Numéro de construction;
- Index de changement;
- Changer / ajouter une forme d'utilisation;
- Inclure des packages / classes / méthodes / paramètres sous des formes d'utilisation;
- Changer le plan du site;
- Modifier la structure de l'application;
- Image mise à jour de WorkGroup;
- Ajouter / supprimer les dépendances (packages tiers);
- Mettre à jour les méthodes d'installation / configuration du package;
- Mettre à jour la documentation source;
- Supprimer / ajouter des éléments en tout;
- Mettre à jour l'arborescence du projet;
- Lorsque vous ajoutez des éléments en tout, n'oubliez pas de créer le "problème" correspondant;
- Étiquettes principales
- Bogue: correction d'un problème;
- Documentation: changement de documentation;
- Amélioration: changement de fonctionnalité existante pour l'améliorer;
- Caractéristique: Nouvelles fonctionnalités;
- Projet
- FormatConverter - Kanban: pour mieux organiser le projet;
Crédits
@bomorafinha
Licence
Standardisation du code
Version
Pour version, le convertisseur de format doit être utilisé comme base, la formation du paquet FormatConverter.BPL pour Windows 32 bits, comme suit:

où:
- Version principale, il ne change que lorsque le fonctionnement du système de base change considérablement;
- Nombre de modules fonctionnels du système;
- Nombre de fonctions publiques disponibles dans le système;
- Créer la version du système auto-généré Delphi;
- La construction doit être conservée comme auto-augmentation;
Pour chaque test compilé avec succès, nous devons donner construit sur FormatConverter.BPL à la version (Shift + F9).
Les versions du référentiel seront effectuées à chaque fois qu'un module est terminé à 100%, ou lorsqu'une réparation très pertinente est effectuée.
Normes adoptées dans le projet
Pour une meilleure compréhension du projet, certaines normes ont été adoptées qui facilitent l'identification de chaque structure utilisée. Ils sont essentiellement l'utilisation de Camelcase et de Pascalcase ;
Variables de méthode
Les variables locales doivent être venues Camelcase .
Observez l'espacement entre la déclaration variable et le début de la méthode.

Variables privées
La déclaration de variables privées devrait toujours se produire au sein des modificateurs d'accès.
Ils doivent être venus Camelcase en commençant toujours par "F" suivis de votre nom.

Propriétés
Les propriétés doivent utiliser Pascalcase .
Ils doivent avoir exactement le nom de leur variable privée et / ou de leur méthode d'accès, éliminant uniquement le préfixe (f, get, set).

Méthodes
La déclaration de méthodes doit toujours se produire dans les modificateurs d'accès.
Les méthodes doivent être venues Camelcase .
Les paramètres de la méthode doivent être venus CamelCase en commençant par "A".
Recherchez, lorsque cela est possible, utilisez Get , Set , EH , etc. Selon la fonction de méthode et / ou votre retour.
Lorsqu'il est appelé, utilisez toujours des parents sur votre appel, même lorsque vous sans paramètres. EX: My Memodo ();

Interfaces
Les interfaces doivent toujours commencer par la lettre "I" (majuscule), suivie de leur nom dans Pascalcase .

Classes
Les cours doivent toujours commencer par la lettre "T", suivie de leur nom dans Pascalcase .
Les classes qui n'étendent aucune autre classe spécifique doivent étendre TinterfacedObject .

Appelés méthodes sur plusieurs lignes
Les méthodes avec des appels très étendus doivent être appelés à l'aide de JSON Identity Standard.


Utilisation des blocs de début
Structures qui n'utilisent pas le bloc d'ouverture et de fermeture du code, comme une ligne IFS , dans un code très étendu, ils gênent généralement la lecture du code pour des modifications ultérieures. Pour cette raison


Oisiveté
Les modificateurs d'accès doivent être déclarés alignés sur l'instruction de classe.
La déclaration des méthodes, des propriétés, des constructeurs / destructeurs, ainsi que la déclaration variable VAR , doivent être alignées.
Procédures et fonctions de groupe sans les alterner.
Des déclarations variables séparées, des méthodes, des constructeurs, des destructeurs et des propriétés avec une ligne vierge, ainsi que de laisser une ligne vide avant l'instruction du modificateur d'accès, ou la fin du bloc, à l'exception du premier modificateur après l'instruction de classe.

Appelé les méthodes et variables internes de la classe
Ils doivent être précédés par le mot réservé à faciliter la lecture du code.

Mots réservés
La préférence est donnée à l'utilisation de minuscules initiales pour les mots réservés. Cependant, ce n'est pas une règle pour le projet car il est réservé à IDE le signale, ne dérangeant donc pas la lecture du code.
Nomenclature de fichiers
Nommez les fichiers commençant par U_ .
Pour un meilleur emplacement des fichiers dans le gestionnaire de fichiers et les unités de Delphi, nous devons configurer le nom des fichiers en les composant de leurs modules, soumettent et fonction finale, tous séparés par point. Comme suit dans l'image suivante:

Un code bien standardisé est beaucoup plus facile à lire, même par les programmeurs qui utilisent d'autres langues.
Tous
Arbre de projet
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