Formatkonverter (Delphi)
Formatkonverter (JSON, XML usw.) für Delphi.
Formatkonverter (JSON, XML usw.) für Delphi.
Index
- Installation/Konfiguration
- Verwenden
- Sitemap
- Struktur
- Arbeitsgruppe
- Abhängigkeiten
- Beitragen
- Checkliste, um einen Beitrag zu leisten
- Credits
- Lizenz
- Code -Standardisierung
- Alle
- Projektbaum
Installation/Konfiguration

* Klicken Sie auf das Bild, um das Video anzuzeigen
Korrektur: Ersetzen Sie "$ (variable_created) dcu" durch "$ (variable_created) output" auf dem Bibliotheksweg
Verwenden
Wie man benutzt

* Klicken Sie auf das Bild, um das Video anzuzeigen
Beispiel verwenden

* Klicken Sie auf das Bild, um das Video anzuzeigen
Mittel
Jsontoxml
- STRINGSTRING: Umgewandelt einen von String -verdrängten JSON in eine von String geformte XML (String);
- Parametrisierung
- StrContent: JSON to Converter (String);
- StringToFile: Umwandle einen String -JSON in eine XML -Datei (boolean);
- Parametrisierung
- StrContent: JSON to Converter (String);
- FilePathresult: XML -Dateipfad zu speichern (String);
- StringTorEnurnType: Umwandelt einen von String -fehlgeschlagenen JSON in ein TxMldocument XML (TXMLDocument);
- Parametrisierung
- StrContent: JSON to Converter (String);
- Filestring: Umwandle eine JSON -Datei in eine XML in String (String);
- Parametrisierung
- FilePath: JSON -Dateipfad zum Konverter (String);
- Fileletfile: Umwandle eine JSON -Datei in eine XML -Datei (boolean);
- Parametrisierung
- FilePath: JSON -Dateipfad zum Konverter (String);
- FilePathresult: XML -Dateipfad zu speichern (String);
- FileletoreturnType: Umwandelt eine JSON -Datei in ein TXMLDOCUMENT XML (TXMLDOCUMEND);
- Parametrisierung
- FilePath: JSON -Dateipfad zum Konverter (String);
- OriginIntyPetoString: Umwandelt ein TjsonObject JSON in eine string geformte XML (String);
- Parametrisierung
- Inhalt: JSON to Converter (tjsonObject);
- OriginIntyPetoFile: Konvertiert ein TjsonObject JSON in eine XML -Datei (boolean);
- Parametrisierung
- Inhalt: JSON to Converter (tjsonObject);
- FilePathresult: XML -Dateipfad zu speichern (String);
- OriginIntyPeturnType: Umwandelt ein TjsonObject JSON in ein TxMldocument XML (TXMLDocument);
- Parametrisierung
- Inhalt: JSON to Converter (tjsonObject);
- NormalizeOriginin: Umwandle einen von String -verdrängten JSON in ein TjsonObject (tjsonObject) JSON;
- Parametrisierung
- Inhalt: JSON Normalisierung (String);
- Normalizeoriginin: Umwandelt ein TjsonObject JSON in eine TStringlist JSON (TStringList);
- Parametrisierung
- Inhalt: JSON zu normalisieren (tjsonObject);
- NormalizeOriginin: Umwandelt eine TStringlist -JSON in einen String (String) JSON;
- Parametrisierung
- Inhalt: JSON Normalisierung (TStringList);
- Normalizereturn: Konvertiert ein XML XML XML in Form von TxMldocument (TxMldocument);
- Parametrisierung
- Inhalt: XML zu normalisieren (String);
- Normalizereturn: Umwandelt ein XMLDocument XML in eine TStringList XML (TStringList);
- Parametrisierung
- Inhalt: XML zu normalisieren (TxMldocument);
- Normalizereturn: Konvertiert ein XML in der Form eines Schnur -geformten XML (String);
- Parametrisierung
- Inhalt: XML zu normalisieren (TStringList);
Xmltojson
- STRINGSTRING: Umwandelt eine XML -String -XML in einen String (String) JSON;
- Parametrisierung
- StrContent: XML zu Converter (String);
- StringToFile: Umwandle ein XML in eine Zeichenfolge in eine JSON -Datei (boolean);
- Parametrisierung
- StrContent: XML zu Converter (String);
- FilePathresult: JSON -Dateipfad zu speichern (String);
- StringToreturnType: Umwandelt eine XML -String -XML in ein TJSONObject (tjsonObject) JSON;
- Parametrisierung
- StrContent: XML zu Converter (String);
- Filestring: Umwandle eine XML -Datei in einen String (String) JSON;
- Parametrisierung
- FilePath: XML -Dateipfad zum Konverter (String);
- Fileletfile: Umwandle eine XML -Datei in eine JSON -Datei (boolean);
- Parametrisierung
- FilePath: XML -Dateipfad zum Konverter (String);
- FilePathresult: JSON -Dateipfad zu speichern (String);
- FileleletoreturnType: konvertiert eine XML -Datei in ein tjsonObject JSON (tjsonObject);
- Parametrisierung
- FilePath: XML -Dateipfad zum Konverter (String);
- OriginIntyPetoString: Umwandelt ein XML -verdrängter XML in eine String (String) JSON;
- Parametrisierung
- Inhalt: XML zu Converter (TxMldocument);
- OriginIntyPetoFile: Umwandelt ein XML in Form von TxMldocument in eine JSON -Datei (boolean);
- Parametrisierung
- Inhalt: XML zu Converter (TxMldocument);
- FilePathresult: JSON -Dateipfad zu speichern (String);
- OriginIntyPeturnType: Umwandelt ein XMLDOCument XML in ein TjsonObject (TjsonObject) JSON;
- Parametrisierung
- Inhalt: XML zu Converter (TxMldocument);
- Normalizeoriginin: Konvertiert ein XML XML XML in Form von TxMldocument (TxMldocument);
- Parametrisierung
- Inhalt: XML zu normalisieren (String);
- Normalizeoriginin: Umwandelt ein XMLDOCUMEND XML in eine TStringlist XML (TStringList);
- Parametrisierung
- Inhalt: XML zu normalisieren (TxMldocument);
- Normalizeoriginin: Umwandelt ein XML XML in eine String -geformte XML (String);
- Parametrisierung
- Inhalt: XML zu normalisieren (TStringList);
- NormalizerEnTurn: Umwandelt einen von String -verdrängten JSON in ein TjsonObject (tjsonObject) JSON;
- Parametrisierung
- Inhalt: JSON Normalisierung (String);
- Normalizereturn: Umwandelt ein TjsonObject JSON in eine TSTRINGLIST (TSTRINGLIST) JSON;
- Parametrisierung
- Inhalt: JSON zu normalisieren (tjsonObject);
- Normalizereturn: Umwandelt eine TStringList JSON in einen String (String) JSON;
- Parametrisierung
- Inhalt: JSON Normalisierung (TStringList);
Sitemap

Struktur
- APP: Enthält die Zusammenstellung der Pakete und des Testators (en);
- Dokumentation: Enthält die Dokumentation der Pakete (en);
- Bilder: Enthält die Bilder, die in den Paket (s) verwendet werden;
- Module: Module, die jede im System verfügbare Konvertierung durchführen;
- JSontoxML: Enthält das Paket, das für die XML -Umwandlung in JSON verwendet wird.
- Xmltojson: Enthält das Paket, das für die Konvertierung von JSON in XML verwendet wird.
- Ausgabe: Enthält die von Delphi (.dcu) verwendeten vor -kompilierten Dateien;
- Projekt: Verzeichnis mit Projekten jedes Pakets und Tester;
- SRC: Enthält die wesentliche Quelle für den Betrieb des Pakets;
- Standardisierung: Enthält die Schnittstellen, die die Packungen standardisieren;
- FormatConverter: Enthält das Paket mit der Registrierung dieser Komponente (auch zum Erhalten der Build -Nummer).
- FormatConvertester: Enthält die ausführbare Datei der Komponente;
- Verder: Enthält die Pakete Dritter;
Arbeitsgruppe
Die Projektkompilierung muss wie im Bild aufrechterhalten werden.

Abhängigkeiten
- Bisher keine Abhängigkeiten.
Beitragen
- Machen Sie eine Gabel, die auf dem Meister basiert;
- Machen Sie "Commit" für Ihre Änderungen (wenn Sie ein "Problem" lösen, vergessen Sie nicht, in der Nachricht "behoben #numeroissue" zu schreiben).
- Machen Sie Ihre Commits.
- Fordern Sie eine "Pull -Anfrage" für den Hauptrepository -Master an.
Ein Problem erstellen
Um ein Problem zu erstellen, achten Sie auf Folgendes:
- Auswählen des geeigneten Label für das Problem (diese Etikett kann geändert werden, aber die Nicht -Designation bewirkt, dass das Problem verloren geht).

- Auswahl des Formatconverter - Kanban -Projekts organisiert dies, was getan wird und was getan werden soll.

Checkliste, um einen Beitrag zu leisten
- Testen Sie die erstellten / veränderten Funktionen;
- Markieren Sie mit "#" den ausgefüllten Problemen in den Einständen;
- Readme (Fall in Not)
- Zahl aufbauen;
- Index ändern;
- Verwendungsform ändern / hinzufügen;
- Pakete / Klassen / Methoden / Parameter in Gebrauchsformen einbeziehen;
- Sitemap ändern;
- Anwendungsstruktur ändern;
- Aktualisiertes Bild der Arbeitsgruppe;
- Abhängigkeiten hinzufügen / entfernen (Pakete Dritter);
- Aktualisieren Sie die Methoden zur Installation / Konfiguration der Paket;
- Quelldokumentation aktualisieren;
- Elemente in allen entfernen / hinzufügen;
- Projektbaum aktualisieren;
- Vergessen Sie beim Hinzufügen von Elementen nicht, um das entsprechende "Problem" zu erstellen.
- Hauptetiketten
- Bug: Korrektur eines Problems;
- Dokumentation: Änderung der Dokumentation;
- Verbesserung: Veränderung der vorhandenen Funktionalität zur Verbesserung;
- Feature: Neue Funktionalität;
- Projekt
- FormatConverter - Kanban: Um das Projekt besser zu organisieren;
Credits
@Bomorafinha
Lizenz
Code -Standardisierung
Version
Um zu Versionen des Formatconverters sollte als Basis verwendet werden, die Bildung des Formatconverter.bPL -Pakets für Windows 32 Bit wie folgt:

Wo:
- Hauptversion ändert sich nur, wenn sich der grundlegende Systembetrieb erheblich ändert.
- Anzahl der Systemfunktionsmodule;
- Anzahl der im System verfügbaren öffentlichen Funktionen;
- Erstellen Sie die Version des selbstgenerierten Systems von Delphi;
- Build sollte als Selbsterlagerung aufbewahrt werden;
Für jeden erfolgreich zusammengestellten Test müssen wir auf der Version von formatconverter.bpl (Shift + F9) basieren .
Repository -Veröffentlichungen werden jedes Mal durchgeführt, wenn ein Modul zu 100% fertig ist oder wenn eine sehr relevante Reparatur durchgeführt wird.
Standards, die im Projekt angenommen wurden
Für ein besseres Verständnis des Projekts wurden einige Standards übernommen, die die Identifizierung jeder verwendeten Struktur erleichtern. Sie sind im Grunde genommen die Verwendung von Kamelcase und Pascalcase ;
Methodenvariablen
Lokale Variablen müssen Kamelcase gekommen sein.
Beobachten Sie den Abstand zwischen der variablen Erklärung und dem Beginn der Methode.

Private Variablen
Die Erklärung privater Variable sollte immer in Zugriffsmodifikatoren erfolgen.
Sie müssen Camelcase immer mit "F" gefolgt sein, gefolgt von Ihrem Namen.

Eigenschaften
Eigenschaften sollten Pascalcase verwenden.
Sie müssen genau den Namen ihrer privaten Variablen- und/oder Zugriffsmethode haben und nur das Präfix (f, Get, Set) beseitigen.

Methoden
Die Methodenerklärung sollte immer in Zugangsmodifikatoren auftreten.
Methoden müssen Kamelcase gekommen sein.
Die Methodenparameter sollten Kamelcase mit "A" geliefert werden.
Suchen Sie nach Möglichkeit GET , Set , EH usw. gemäß der Methodenfunktion und/oder Ihrer Rückgabe.
Wenn Sie angerufen werden, verwenden Sie immer Verwandte bei Ihrem Anruf, auch wenn ohne Parameter. Beispiel: mein Memodo ();

Schnittstellen
Schnittstellen sollten immer mit dem Buchstaben "I" (Großbuchstaben) beginnen, gefolgt von ihrem Namen in Pascalcase .

Klassen
Der Unterricht sollte immer mit dem Buchstaben "T" beginnen, gefolgt von ihrem Namen in Pascalcase .
Klassen, die keine anderen spezifischen Klassen erweitern, müssen TinterfacedObject erweitern.

Auf mehreren Linien als Methoden bezeichnet
Methoden mit sehr umfangreichen Aufrufen sollten mit dem JSON -Identitätsstandard bezeichnet werden.


Verwendung von Beginn -Endblöcken
Strukturen, die den Code öffnen und schließen, wie z. B. eine Zeilen -IFS , können sie in einem sehr umfangreichen Code normalerweise dem Lesen des Codes für spätere Änderungen im Wege stehen. Aus diesem Grund müssen alle Strukturen den Öffnungs- und Schließblock haben ( beginnen .. Ende )


Faulheit
Zugriffsmodifikatoren müssen für die Klassenerklärung deklariert werden.
Erklärung von Methoden, Eigenschaften, Bauherren/Destruktiv sowie der Var der variablen Deklaration müssen ausgerichtet sein.
Gruppenverfahren und Funktionen, ohne sie zu wechseln.
Separate variable Erklärungen, Methoden, Bauherren, Zerstörer und Eigenschaften mit einer leeren Linie sowie eine leere Zeile vor der Anweisung "Zugriffsmodifikator" oder das Ende des Blocks, mit Ausnahme des ersten Modifikators nach der Klassenanweisung.

Als interne Methoden und Variablen der Klasse bezeichnet
Sie müssen dem Wort vorbehalten sein, um das Lesen des Codes zu erleichtern.

Reservierte Wörter
Die Verwendung winziger Initialen für reservierte Wörter wird die Verwendung von Vorlieben gegeben. Dies ist jedoch keine Regel für das Projekt, da die IDE es vorbehalten wird, es zu signalisieren, wodurch das Lesen des Codes nicht stört.
Datei -Nomenklatur
Nennen Sie die Dateien, beginnend mit u_ .
Für einen besseren Speicherort von Dateien im Dateimanager und die Einheiten in Delphi müssen wir den Namen der Dateien einrichten, indem wir sie aus ihren Modulen, Sendungen und endgültigen Funktionen verfassen, die alle nach Punkt getrennt sind. Wie folgt im folgenden Bild:

Ein gut standardisierter Code ist selbst von Programmierern, die andere Sprachen verwenden, viel einfacher zu lesen.
Alle
JSON -Konverter -> CSV
- JSON -Eingang -> CSV -Ausgang
- JSON -Eingabe -> String -Ausgabe
- JSON -Eingabe -> Dateiausgabe
- String -Eingang -> CSV -Ausgang
- String -Eingabe -> Stringausgabe
- String -Eingabe -> Dateiausgabe
- Dateieingabe -> CSV -Ausgabe
- Dateieingabe -> Stringausgabe
- Dateieingabe -> Dateiausgabe
- Standard -Ursprungsstring -> JSON
- Standard -Ursprung JSON -> TSTRINGLISTE
- Standard -Ursprung TStringList -> String
- Normalisieren Sie die Rücklaufzeichenfolge -> CSV
- Normalisieren Sie die Rückgabe CSV -> TStringList
- Standardrückgabe TStringList -> String
XML -Konverter -> CSV
- XML -Eingang -> CSV -Ausgang
- XML -Eingang -> Stringausgabe
- XML -Eingabe -> Dateiausgabe
- String -Eingang -> CSV -Ausgang
- String -Eingabe -> Stringausgabe
- String -Eingabe -> Dateiausgabe
- Dateieingabe -> CSV -Ausgabe
- Dateieingabe -> Stringausgabe
- Dateieingabe -> Dateiausgabe
- Standard -Ursprungs -Zeichenfolge -> xml
- Standard -Ursprung XML -> TStringList
- Standard -Ursprung TStringList -> String
- Normalisieren Sie die Rücklaufzeichenfolge -> CSV
- Normalisieren Sie die Rückgabe CSV -> TStringList
- Standardrückgabe TStringList -> String
CSV -Konverter -> JSON
- CSV -Eingang -> Ausgabe JSON
- CSV -Eingang -> Stringausgabe
- CSV -Eingabe -> Dateiausgabe
- String -Eingabe -> JSON -Ausgabe
- String -Eingabe -> Stringausgabe
- String -Eingabe -> Dateiausgabe
- Dateieingabe -> JSON -Ausgabe
- Dateieingabe -> Stringausgabe
- Dateieingabe -> Dateiausgabe
- Standard -Ursprungs -Zeichenfolge -> CSV
- Standard -Ursprung CSV -> TSTRINGLISTE
- Standard -Ursprung TStringList -> String
- Normalisieren Sie die Rücklaufzeichenfolge -> JSON
- Normalisieren Sie die Rückkehr JSON -> TStringList
- Standardrückgabe TStringList -> String
CSV -Konverter -> XML
- CSV -Eingang -> XML Ausgang
- CSV -Eingang -> Stringausgabe
- CSV -Eingabe -> Dateiausgabe
- String -Eingang -> XML Ausgabe
- String -Eingabe -> Stringausgabe
- String -Eingabe -> Dateiausgabe
- Dateieingabe -> XML Ausgabe
- Dateieingabe -> Stringausgabe
- Dateieingabe -> Dateiausgabe
- Standard -Ursprungs -Zeichenfolge -> CSV
- Standard -Ursprung CSV -> TSTRINGLISTE
- Standard -Ursprung TStringList -> String
- Normalisieren Sie die Rücklaufzeichenfolge -> XML
- Standardisieren Sie die return XML -> TStringList
- Standardrückgabe TStringList -> String
Projektbaum
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