ตัวแปลงฟอร์แมต (JSON, XML ฯลฯ ) สำหรับ Delphi
ตัวแปลงฟอร์แมต (JSON, XML ฯลฯ ) สำหรับ Delphi

* คลิกที่ภาพเพื่อดูวิดีโอ
การแก้ไข: แทนที่ "$ (variable_created) dcu" ด้วย "$ (variable_created) output" บน เส้นทางไลบรารี

* คลิกที่ภาพเพื่อดูวิดีโอ

* คลิกที่ภาพเพื่อดูวิดีโอ
jsontoxml
xmltojson

การรวบรวมโครงการจะต้องได้รับการบำรุงรักษาเช่นเดียวกับในภาพ

เพื่อสร้าง ปัญหา ให้ความสนใจกับสิ่งต่อไปนี้:


@bomorafinha
ในเวอร์ชัน FormatConverter ควรใช้เป็นฐานการสร้างแพ็คเก็ต formatconverter.bpl สำหรับ windows 32 บิตดังต่อไปนี้:

สำหรับการทดสอบแต่ละครั้งที่รวบรวมได้สำเร็จเราจะต้อง สร้าง Formatconverter.bpl เป็นเวอร์ชัน (Shift + F9)
รีลีสที่ เก็บ จะทำทุกครั้งที่โมดูลเสร็จสิ้น 100% หรือเมื่อทำการซ่อมแซมที่เกี่ยวข้องมาก
เพื่อความเข้าใจที่ดีขึ้นของโครงการได้มีการนำมาตรฐานบางอย่างมาใช้เพื่ออำนวยความสะดวกในการระบุตัวตนของแต่ละโครงสร้างที่ใช้ โดยทั่วไปคือการใช้ อูฐ และ pascalcase ;
ตัวแปรท้องถิ่นจะต้อง มาจากอูฐ
สังเกตระยะห่างระหว่างการประกาศตัวแปรและจุดเริ่มต้นของวิธีการ

การประกาศของส่วนตัวที่แตกต่างกันควรเกิดขึ้นภายในตัวดัดแปลงการเข้าถึง
พวกเขาจะต้อง มาจาก Camelcase มักจะเริ่มต้นด้วย "F" ตามด้วยชื่อของคุณ

คุณสมบัติควรใช้ Pascalcase
พวกเขาจะต้องมีชื่อของตัวแปรส่วนตัวและ/หรือวิธีการเข้าถึงโดยกำจัดเฉพาะคำนำหน้า (f, get, set)

การประกาศวิธีการควรเกิดขึ้นภายในตัวดัดแปลงการเข้าถึงเสมอ
วิธีการจะต้อง มาจากอูฐ
พารามิเตอร์วิธีการควร มาจากอูฐ เริ่มต้นด้วย "A"
ค้นหาเมื่อเป็นไปได้ให้ใช้ Get , Set , EH ฯลฯ ตามฟังก์ชันวิธีการและ/หรือผลตอบแทนของคุณ
เมื่อเรียกว่าใช้ญาติในการโทรของคุณเสมอแม้เมื่อไม่มีพารามิเตอร์ ตัวอย่าง: memodo ของฉัน ();

อินเทอร์เฟซควรเริ่มต้นด้วยตัวอักษร "I" (ตัวพิมพ์ใหญ่) ตามด้วยชื่อของพวกเขาใน Pascalcase

ชั้นเรียนควรเริ่มต้นด้วยตัวอักษร "T" ตามด้วยชื่อของพวกเขาใน Pascalcase
คลาสที่ไม่ขยายคลาสเฉพาะอื่น ๆ จะต้องขยาย tinterfacedObject

วิธีการที่มีการโทรที่กว้างขวางมากควรเรียกใช้โดยใช้มาตรฐานตัวตนของ JSON


โครงสร้างที่ไม่ได้ใช้การเปิดรหัสและปิดบล็อกเช่น IFS บรรทัดในรหัสที่กว้างขวางมากพวกเขามักจะได้รับการอ่านรหัสสำหรับการแก้ไขในภายหลัง ด้วยเหตุนี้โครงสร้าง ทั้งหมด จะต้องมีบล็อกการเปิดและปิด ( เริ่มต้น .. สิ้นสุด )


ตัวดัดแปลงการเข้าถึงจะต้องประกาศให้สอดคล้องกับคำสั่งคลาส
การประกาศวิธีการคุณสมบัติผู้สร้าง/การทำลายล้างเช่นเดียวกับการประกาศตัวแปร VAR จะต้องจัดตำแหน่ง
ขั้นตอน และ ฟังก์ชั่น กลุ่มโดยไม่สลับกัน
การประกาศตัวแปรแยกวิธีการสร้างผู้ทำลายและคุณสมบัติที่มีเส้นเปล่ารวมทั้งทิ้งบรรทัดว่างไว้ก่อนที่คำสั่ง Access Modifier หรือจุดสิ้นสุดของบล็อกยกเว้นตัวดัดแปลงแรกหลังจากคำสั่งคลาส

พวกเขาจะต้องนำหน้าด้วยคำที่สงวน ไว้ เพื่ออำนวยความสะดวกในการอ่านรหัส

การตั้งค่าจะได้รับการใช้ชื่อย่อเล็ก ๆ สำหรับคำที่สงวนไว้ อย่างไรก็ตามนี่ไม่ใช่กฎสำหรับโครงการเนื่องจากถูกสงวนไว้เพื่อส่งสัญญาณ IDE ดังนั้นจึงไม่รบกวนการอ่านรหัส
ตั้งชื่อไฟล์ที่เริ่มต้นด้วย u_
สำหรับตำแหน่งที่ดีกว่าของไฟล์ในตัวจัดการไฟล์และหน่วยภายใน Delphi เราต้องตั้งค่าชื่อของไฟล์โดยเขียนจากโมดูล, submites และฟังก์ชั่นสุดท้ายทั้งหมดแยกกันตามจุด ดังนี้ในภาพต่อไปนี้:

ตัวแปลง JSON -> CSV
XML Converter -> CSV
CSV Converter -> JSON
ตัวแปลง CSV -> XML
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