Thai

.h vs .hpp: ความแตกต่างคืออะไรและควรใช้แบบไหน?

อัปเดตล่าสุด: 26 Feb, 2026 เมื่อเขียนโปรแกรม C++ โดยเฉพาะในโครงการขนาดใหญ่ การจัดระเบียบโค้ดของคุณเป็นหลายไฟล์เป็นสิ่งสำคัญเพื่อความอ่านง่ายและการบำรุงรักษา โดยทั่วไปจะใช้ ไฟล์หัวเรื่อง (header files) ซึ่งมีนามสกุล .h หรือ .hpp แต่ความแตกต่างระหว่างสองแบบนี้คืออะไร และควรใช้แบบไหน? ในบทความนี้ เราจะอธิบายความแตกต่างระหว่างไฟล์ .h และ .hpp สำรวจประวัติของพวกมัน และให้คำแนะนำเกี่ยวกับแนวปฏิบัติที่ดีที่สุด ทำความเข้าใจไฟล์หัวเรื่องใน C++ ไฟล์หัวเรื่องประกอบด้วย การประกาศ สำหรับฟังก์ชัน, คลาส, ค่าคงที่, และมาโครที่คุณสามารถนำไปใช้ในหลายไฟล์ซอร์ส ไฟล์เหล่านี้จะถูกนำเข้าในไฟล์ .cpp (ซอร์ส C++) ด้วยคำสั่ง #include เนื้อหาทั่วไปของไฟล์หัวเรื่อง การกำหนดคลาส การประกาศฟังก์ชัน การกำหนดค่าคงที่ มาโคร เทมเพลต (ในบางกรณี) ไฟล์ .h ไฟล์ .h คืออะไร? ไฟล์ .h เป็น ไฟล์หัวเรื่อง แบบดั้งเดิมและเคยใช้กันอย่างแพร่หลายแรกในภาษาโปรแกรม C ยังใช้ในโครงการ C และ C++ เพื่อประกาศอินเทอร์เฟซ ตัวอย่างการใช้งาน: // mathutils.h #ifndef MATHUTILS_H #define MATHUTILS_H int add(int a, int b); int subtract(int a, int b); #endif จุดเด่น: ได้รับการยอมรับทั่วโลก (ใช้ได้ทั้งใน C และ C++) เหมาะสำหรับโครงการที่มีโค้ด C และ C++ ร่วมกัน จุดด้อย: อาจทำให้เกิดความสับสนในโครงการ C++ ว่าไฟล์นี้เป็นสไตล์ C หรือ C++ ไฟล์ .
มิถุนายน 10, 2025 · 2 min · Shakeel Faiz

ดาวน์โหลดไฟล์ตัวอย่าง - PDF, Excel, พรีเซนเทชัน และอื่น ๆ สำหรับการทดสอบ

อัปเดตล่าสุด: 26 Feb, 2026 ต้องการไฟล์ตัวอย่างเพื่อดาวน์โหลดสำหรับการทดสอบ? หากคุณกำลังมองหา ไฟล์ตัวอย่างเพื่อดาวน์โหลด สำหรับการทดสอบ, การพัฒนา หรือกระบวนการอัตโนมัติ, ศูนย์ทรัพยากรนี้จะให้คุณเข้าถึงเอกสารคุณภาพสูงและสมจริงได้ทันที แต่ละ ไฟล์ดาวน์โหลดตัวอย่าง ถูกสร้างขึ้นเพื่อช่วยนักพัฒนา, วิศวกร QA, และผู้เรียนในการตรวจสอบคุณลักษณะต่าง ๆ โดยไม่ต้องสร้างเนื้อหาเทียมตั้งแต่ต้น. ตั้งแต่สเปรดชีตพื้นฐานจนถึง PDF รายละเอียด, ทุกอย่างที่คุณต้องการพร้อมให้ดาวน์โหลด - ไม่ต้องสมัครสมาชิก, ไม่ยุ่งยาก. ดาวน์โหลดไฟล์ทดสอบ PDF กำลังทำงานกับโปรแกรมดู PDF, ตัวแปลง, หรือจัดการฟอร์ม? ส่วน ดาวน์โหลดไฟล์ทดสอบ PDF ที่คัดสรรของเรามีเอกสารพร้อมใช้เพื่อยืนยันการแสดงผลเลย์เอาต์, การสกัดข้อความ, และอื่น ๆ ดาวน์โหลดไฟล์ตัวอย่าง PDF เรามีเอกสารหลายหน้าแบบโครงสร้าง - ดังนั้นเมื่อคุณต้องการดาวน์โหลดชุดไฟล์ตัวอย่าง PDF เพื่อทดสอบความเข้ากันได้ของซอฟต์แวร์กับเลย์เอาต์และฟอนต์ต่าง ๆ, ทุกอย่างอยู่ที่นี่ แต่ละไฟล์ทดสอบ PDF ที่ดาวน์โหลดมามีข้อมูลสมจริง, คำอธิบาย, และฟอร์มเพื่อให้การทดสอบแม่นยำ หากกระบวนการของคุณต้องการไฟล์ PDF ทดสอบอย่างรวดเร็ว, คุณสามารถรับได้ในไม่กี่วินาที ตัวอย่างไฟล์ Excel & สเปรดชีต ต้องการสเปรดชีตที่มีสูตร, ตาราง, และแผนภูมิ? ดาวน์โหลดข้อมูลทดสอบในหลายรูปแบบที่ MS-Excel รองรับ. ดาวน์โหลดไฟล์ตัวอย่างสเปรดชีต This collection includes:
เมษายน 24, 2025 · 1 min · Shakeel Faiz

คุณควรแปลงไฟล์ RAW ของคุณเป็น DNG หรือไม่? RAW vs. DNG: สิ่งที่คุณต้องรู้

อัปเดตล่าสุด: 26 Feb, 2026 ในฐานะช่างภาพ คุณมักต้องเผชิญกับการเลือกว่าจะเก็บ ไฟล์ RAW ในรูปแบบดั้งเดิม (เช่น CR2, ARW) หรือแปลงเป็นรูปแบบที่เป็นสากลมากขึ้นเช่น DNG (ดิจิทัล เนกาทีฟ) การตัดสินใจอาจทำให้รู้สึกหนักใจ โดยเฉพาะเมื่อคุณเพิ่งเริ่มต้นและยังไม่แน่ใจถึงผลกระทบต่าง ๆ ในบทความนี้ เราจะสำรวจปัจจัยสำคัญที่ควรพิจารณาเมื่อคุณต้องตัดสินใจว่าจะใช้ไฟล์ RAW ดั้งเดิมของกล้องหรือแปลงเป็น DNG เหตุผลในการเก็บไฟล์ RAW ช่างภาพหลายคน โดยเฉพาะผู้ที่ให้ความสำคัญกับข้อมูลดิบที่ไม่ได้ผ่านการแก้ไขจากกล้อง จะเลือกเก็บไฟล์ RAW ในรูปแบบดั้งเดิม ไฟล์ RAW เช่น CR2 (Canon) และ ARW (Sony) ให้คุณภาพสูงสุดและความยืดหยุ่นสูงสุดสำหรับการประมวลผลภายหลัง รูปแบบเหล่านี้บรรจุข้อมูลภาพที่ยังไม่ได้ประมวลผลทั้งหมด ทำให้คุณสามารถปรับค่าแสง, สมดุลสีขาว และองค์ประกอบสำคัญอื่น ๆ ของภาพได้อย่างแม่นยำ หลายช่างภาพแนะนำให้เก็บไฟล์ RAW ไว้โดยไม่เปลี่ยนแปลง รวมถึงผู้ที่เคยทำงานกับกล้องรุ่นเก่า ตัวอย่างเช่น ไฟล์ CR2 จากกล้อง DSLR ของ Canon ที่ถ่ายมานาน 15 ปี ยังคงใช้งานได้เต็มที่ในวันนี้ เนื่องจากโปรแกรมหลายตัวยังรองรับความเข้ากันได้ย้อนหลังกับรูปแบบไฟล์ของกล้องเก่า ยิ่งไปกว่านั้น เมื่อคุณแปลง RAW เป็น DNG คุณมักจะสูญเสียเมตาดาต้า การตั้งค่ากล้องที่เป็นกรรมสิทธิ์ และแม้แต่โปรไฟล์สีเฉพาะของแบรนด์กล้อง ซึ่งอาจทำให้คุณภาพภาพเปลี่ยนแปลงอย่างละเอียดแต่สังเกตได้ ผู้ใช้บางคนรายงานว่าการแปลงเป็น DNG ทำให้สีที่เคยสดใสในไฟล์ RAW ดั้งเดิมดูจืดลง
เมษายน 21, 2025 · 2 min · Shakeel Faiz

ทำความเข้าใจหัวข้อไฟล์ WAV: โครงสร้าง, รูปแบบ, และวิธีการซ่อมแซม

อัปเดตล่าสุด: 16 Apr, 2025 เมื่อทำงานกับไฟล์เสียง, โดยเฉพาะอย่างยิ่งใน รูปแบบเช่น WAV, การทำความเข้าใจ หัวข้อไฟล์ WAV มีความสำคัญอย่างยิ่ง. หัวข้อประกอบด้วยข้อมูลสำคัญเกี่ยวกับข้อมูลเสียง, เช่น รูปแบบ, อัตราการสุ่มตัวอย่าง, และอื่น ๆ. ในบทความนี้, เราจะเจาะลึกโครงสร้างของหัวข้อไฟล์ WAV, อธิบายแต่ละส่วนของมัน, และแม้กระทั่งสำรวจวิธีการซ่อมแซมหัวข้อที่เสียหาย. ไฟล์ WAV คืออะไร? WAV (Waveform Audio File Format) เป็นรูปแบบไฟล์เสียงมาตรฐานที่พัฒนาโดย Microsoft และ IBM. มันเก็บข้อมูลเสียงดิบที่ไม่บีบอัดและถูกใช้กันอย่างกว้างขวางสำหรับการบันทึกและแก้ไขเสียงคุณภาพสูง. ไฟล์ WAV ประกอบด้วยสองส่วนหลัก: หัวข้อ — ประกอบด้วยเมตาดาต้าเกี่ยวกับไฟล์. ข้อมูล — ประกอบด้วยข้อมูลตัวอย่างเสียงจริง. โครงสร้างของหัวข้อไฟล์ WAV หัวข้อไฟล์ WAV โดยทั่วไปจะอยู่ใน 44 ไบต์แรกของไฟล์. มันให้ข้อมูลรายละเอียดเกี่ยวกับวิธีการตีความข้อมูลเสียง. ต่อไปนี้คือการแยกส่วนของโครงสร้าง: ออฟเซ็ต (ไบต์) ฟิลด์ ขนาด (ไบต์) คำอธิบาย 0 Chunk ID 4 ควรเป็น “RIFF” เพื่อระบุรูปแบบไฟล์. 4 Chunk Size 4 ขนาดของไฟล์ลบ 8 ไบต์สำหรับฟิลด์ RIFF และขนาด.
เมษายน 3, 2025 · 2 min · Shakeel Faiz

สเปคฟอร์แมตไฟล์ WAV: ทุกอย่างที่คุณต้องรู้

อัปเดตล่าสุด: 16 Apr, 2025 หากคุณทำงานกับเสียงดิจิทัล การเข้าใจ สเปคฟอร์แมตไฟล์ WAV เป็นสิ่งสำคัญ WAV ซึ่งย่อมาจาก Waveform Audio File Format เป็นหนึ่งในรูปแบบที่ได้รับความนิยมมากที่สุดสำหรับการจัดเก็บข้อมูลเสียงดิบที่ไม่ได้บีบอัด ในบทความนี้ เราจะอธิบายว่า ฟอร์แมตไฟล์ WAV คืออะไร สเปคทางเทคนิคของมันคืออะไร และทำไมมันถึงสำคัญสำหรับมืออาชีพและผู้สนใจด้านเสียง ไฟล์ WAV คืออะไร ไฟล์ WAV เป็นฟอร์แมตไฟล์เสียงที่พัฒนาโดย Microsoft และ IBM ในปี 1991 มันอิงโครงสร้าง RIFF (Resource Interchange File Format) ซึ่งจัดเก็บข้อมูลใน “chunks” ที่มีแท็ก ไฟล์ WAV มีชื่อเสียงในเรื่องคุณภาพเสียงสูงเนื่องจากมักจะมีเสียง PCM (Pulse Code Modulation) ที่ไม่ได้บีบอัด สิ่งที่ทำให้ WAV โดดเด่น คุณภาพเสียงสูง เนื่องจากรูปแบบไม่มีการสูญเสียและไม่ได้บีบอัด รองรับหลายช่องสัญญาณเสียง (โมโน, สเตอริโอ และอื่น ๆ) เข้ากันได้กับระบบปฏิบัติการส่วนใหญ่และซอฟต์แวร์แก้ไขเสียง ฟอร์แมตที่เรียบง่ายและขยายได้ สามารถรวมเมตาดาต้าได้ สเปคฟอร์แมตไฟล์ WAV คืออะไร สเปคฟอร์แมตไฟล์ WAV เป็นแผนผังทางเทคนิคที่กำหนดวิธีการจัดระเบียบและจัดเก็บข้อมูลเสียงในไฟล์ WAV โดยใช้รูปแบบ RIFF และรวมชังก์ข้อมูลสำคัญหลายส่วนที่ทำให้เสียงสามารถจัดเก็บด้วยคุณภาพสูง
เมษายน 2, 2025 · 2 min · Shakeel Faiz

ไฟล์ DOCX คืออะไร และแตกต่างจาก DOC อย่างไร?

อัปเดตล่าสุด: 9 เม.ย., 2025 ไฟล์ DOCX เป็นฟอร์แมตเอกสารที่ใช้โดย Microsoft Word และเป็นส่วนหนึ่งของสเปค Office Open XML (OOXML) DOC เป็นฟอร์แมตไฟล์ไบนารีรุ่นเก่าที่ใช้ก่อน Office 2007 DOCX มีขนาดเล็กกว่า ปลอดภัยกว่า และรองรับฟีเจอร์ขั้นสูง กรุณาอ่านคำแนะนำอย่างละเอียดของเราได้ที่: ความแตกต่างระหว่าง DOC และ DOCX ไฟล์ DOCX คืออะไร? ไฟล์ DOCX เป็นฟอร์แมตไฟล์เอกสารที่ Microsoft Word ใช้ในการเก็บข้อความ รูปภาพ ตาราง และองค์ประกอบการจัดรูปแบบอื่น ๆ ได้รับการแนะนำพร้อมกับ Microsoft Office 2007 และกลายเป็นฟอร์แมตเริ่มต้นสำหรับเอกสาร Word โดยเป็นส่วนหนึ่งของมาตรฐาน Office Open XML (OOXML) ไฟล์ DOCX รองรับการใช้งานในหลากหลายแพลตฟอร์ม ทำให้เป็นตัวเลือกที่เชื่อถือได้ในการสร้างและแชร์เอกสาร ต่างจากฟอร์แมต DOC รุ่นเก่าที่เป็นฐานไบนารี ไฟล์ DOCX สร้างบนโครงสร้าง XML การเปลี่ยนแปลงนี้ทำให้เกิดการบีบอัดข้อมูลที่ดีขึ้น ความเข้ากันได้ที่ดียิ่งขึ้น และการกู้คืนไฟล์ในกรณีที่เกิดความเสียหายได้ง่ายขึ้น สิ่งที่ทำให้ไฟล์ DOCX โดดเด่น น้ำหนักเบาและบีบอัด: ไฟล์ DOCX ถูกบีบอัดโดยใช้ ZIP ทำให้มีขนาดเล็กกว่าไฟล์ DOC ช่วยประหยัดพื้นที่จัดเก็บและทำให้การโอนถ่ายไฟล์เร็วขึ้น
มีนาคม 26, 2025 · 2 min · Shakeel Faiz

XML คืออะไร: คู่มือที่ครอบคลุม

อัปเดตล่าสุด: 25 มี.ค., 2025 XML คืออะไร? XML (Extensible Markup Language) เป็นภาษาและรูปแบบไฟล์ที่ใช้สำหรับจัดเก็บ, ส่งผ่าน, และสร้างข้อมูลขึ้นใหม่ มันให้วิธีการที่มีโครงสร้างในการเข้ารหัสข้อมูล ทำให้สามารถอ่านได้ทั้งโดยมนุษย์และเครื่องจักร คุณสมบัติหลักของ XML 1. ถูกกำหนดมาตรฐานแบบเปิด ก่อตั้งโดย World Wide Web Consortium (W3C) ในปี 1998 ภายใต้ XML 1.0 Specification ปฏิบัติตามกฎเข้มงวดเพื่อให้แน่ใจว่าข้อมูลนั้นมีโครงสร้างและง่ายต่อการตีความ 2. เป้าหมายการออกแบบ XML ถูกออกแบบด้วยความ เรียบง่าย, ความทั่วไป, และความสามารถในการใช้ ข้ามแพลตฟอร์มต่าง ๆ ใช้ รูปแบบข้อความ, ทำให้อ่านและแก้ไขได้ง่าย 3. สนับสนุน Unicode XML สนับสนุน Unicode, ทำให้สามารถจัดเก็บและประมวลผลข้อความในหลายภาษาต่าง ๆ 4. ความหลากหลาย ในตอนแรกสร้างขึ้นสำหรับเอกสาร, XML ปัจจุบันถูกใช้อย่างแพร่หลายสำหรับการแสดงข้อมูลในหลายโดเมน, รวมถึง เว็บเซอร์วิส, API, และ ไฟล์การกำหนดค่า 5. Schema และ API โครงสร้างของ XML สามารถกำหนดได้โดยใช้ Document Type Definition (DTD), XML Schema (XSD), หรือ Relax NG API ต่าง ๆ เช่น DOM (Document Object Model) และ SAX (Simple API for XML) ช่วยในการประมวลผล XML 6.
มีนาคม 25, 2025 · 4 min · Shakeel Faiz

เครื่องมือ XML Parser ที่ดีที่สุดสำหรับ Python, Java และ JavaScript (พร้อมตัวอย่าง)

อัพเดทล่าสุด: 25 มี.ค., 2025 XML (Extensible Markup Language) ใช้กันอย่างแพร่หลายสำหรับการจัดเก็บข้อมูล ไฟล์กำหนดค่า และเว็บเซอร์วิส การประมวลผล XML อย่างมีประสิทธิภาพเป็นสิ่งสำคัญสำหรับนักพัฒนาที่ทำงานกับข้อมูลที่มีโครงสร้าง ในโพสต์นี้เราจะสำรวจ เครื่องมือ XML parser ที่ดีที่สุดสำหรับ Python, Java และ JavaScript พร้อมตัวอย่างในแต่ละภาษา 1. การประมวลผล XML ใน Python Python มีไลบรารีหลายตัวสำหรับการประมวลผลไฟล์ XML ที่เหมาะสมกับการใช้งานที่หลากหลาย 1.1 xml.etree.ElementTree (ไลบรารีในตัว) xml.etree.ElementTree เป็นโมดูลในตัวที่มีโครงสร้างง่ายและประสิทธิภาพดีสำหรับการประมวลผล XML ตัวอย่าง: การประมวลผลไฟล์ XML ข้อดี: เบาและใช้งานง่าย ข้อเสีย: มีข้อจำกัดสำหรับโครงสร้าง XML ที่ซับซ้อน 1.2 lxml (รวดเร็วและมีฟีเจอร์มากมาย) lxml เป็นไลบรารีที่ทรงพลัง โดยพื้นฐานจาก libxml2 ตัว C library ซึ่งเพิ่มความเร็วและรองรับ XPath ตัวอย่าง: การประมวลผลด้วย lxml ข้อดี: เร็วกว่า ElementTree รองรับ XPath ข้อเสีย: ต้องติดตั้ง (pip install lxml) 1.
มีนาคม 21, 2025 · 2 min · Shakeel Faiz

วิธีการอ่านและแก้ไขไฟล์ XML ใน Python, Java และ JavaScript

อัปเดตล่าสุด: 25 มี.ค. 2025 XML (Extensible Markup Language) ถูกใช้อย่างแพร่หลายในการเก็บและถ่ายโอนข้อมูล ไม่ว่าคุณจะเป็นผู้เริ่มต้นหรือพัฒนาซอฟต์แวร์ที่มีประสบการณ์ การรู้วิธีการอ่านและแก้ไขไฟล์ XML เป็นสิ่งจำเป็น ในคำแนะนำนี้ เราจะครอบคลุมวิธีการพื้นฐานและขั้นสูงในการทำงานกับไฟล์ XML อย่างมีประสิทธิภาพ ทำความเข้าใจโครงสร้าง XML ไฟล์ XML ประกอบด้วยองค์ประกอบ, แอททริบิวต์, และข้อมูลแบบลำดับขั้น นี่คือตัวอย่างไฟล์ XML ง่าย ๆ: การอ่านไฟล์ XML 1. ใช้ Python โมดูล xml.etree.ElementTree ของ Python ช่วยในการ parse XML ได้อย่างง่ายดาย xml.etree.ElementTree เป็นโมดูลในตัวของ Python หมายความว่าคุณไม่จำเป็นต้องติดตั้งแยกต่างหาก มันมาพร้อมกับ Python และให้เครื่องมือที่ง่ายในการ parsing, แก้ไข, และสร้างข้อมูล XML คำอธิบายโค้ด สคริปต์ Python นี้ใช้ xml.etree.ElementTree ในการ parse ไฟล์ XML (books.xml) มันดึงทุกองค์ประกอบ ออกมา, สกัดค่าของ, <author>, และ <price>, และพิมพ์ออกมา ซึ่งทำให้อ่านข้อมูล XML ที่มีโครงสร้างได้ง่าย </section> <footer class="entry-footer"><span title='2025-03-20 00:00:00 +0000 UTC'>มีนาคม 20, 2025</span> · 2 min · Shakeel Faiz</footer> <a class="entry-link" aria-label="post link to วิธีการอ่านและแก้ไขไฟล์ XML ใน Python, Java และ JavaScript" href="https://blog-qa.fileformat.com/th/programming/how-to-read-and-edit-xml-files-in-python-java-and-javascript/"></a> </article> <article class="post-entry"> <header class="entry-header"> <h2>คู่มือสำหรับผู้เริ่มต้นในการอ่านและแก้ไขไฟล์ XML </h2> </header> <section class="entry-content-home"> อัปเดตล่าสุด: 25 มี.ค. 2025 ทำไมต้องเรียนรู้การแก้ไข XML? XML (Extensible Markup Language) ถูกใช้อย่างแพร่หลายสำหรับการเก็บและส่งข้อมูลในแอปพลิเคชันซอฟต์แวร์ บริการเว็บ และไฟล์การกำหนดค่า อย่างไรก็ตาม หลายคนพบปัญหาในการเปิดหรือแก้ไขไฟล์ XML อย่างถูกต้อง คู่มือนี้จะช่วยผู้เริ่มต้นและนักพัฒนาทำความเข้าใจในการอ่าน แก้ไข ตรวจสอบความถูกต้อง และจัดรูปแบบ XML อย่างมีประสิทธิภาพ เครื่องมือในการเปิดไฟล์ XML 1. Notepad (โปรแกรมแก้ไขสำหรับ Windows) คลิกขวาที่ไฟล์ XML และเลือก Open with > Notepad. เหมาะสำหรับการแก้ไขอย่างรวดเร็วแต่ขาดการเน้นไวยากรณ์ 2. Visual Studio Code (VS Code) เป็นโปรแกรมแก้ไขโค้ดที่ฟรี น้ำหนักเบา และมีคุณลักษณะครบถ้วน มีการเน้นไวยากรณ์ การจัดรูปแบบอัตโนมัติ และส่วนขยายสำหรับการตรวจสอบ XML 3. Microsoft Excel สามารถเปิด XML เป็นตารางที่มีโครงสร้างได้ ไปที่ File > Open > Browse, เลือกไฟล์ XML และเลือก As an XML table 4. เครื่องมือแก้ไข XML ออนไลน์ เว็บไซต์อย่างเช่น CodeBeautify, XMLGrid, และ XMLViewer อนุญาตให้ดูและแก้ไข XML โดยไม่ต้องติดตั้งซอฟต์แวร์ มีประโยชน์สำหรับการตรวจสอบและการจัดรูปแบบอย่างรวดเร็ว การแก้ไข XML: กฎของไวยากรณ์และแนวปฏิบัติที่ดีที่สุด ตามโครงสร้างแท็กที่ถูกต้อง </section> <footer class="entry-footer"><span title='2025-03-19 00:00:00 +0000 UTC'>มีนาคม 19, 2025</span> · 2 min · Shakeel Faiz</footer> <a class="entry-link" aria-label="post link to คู่มือสำหรับผู้เริ่มต้นในการอ่านและแก้ไขไฟล์ XML" href="https://blog-qa.fileformat.com/th/web/a-beginner-guide-to-reading-and-editing-xml-files/"></a> </article> <footer class="page-footer"> <nav class="pagination"> <a class="prev" href="https://blog-qa.fileformat.com/th/page/6/">« Prev Page</a> <a class="next" href="https://blog-qa.fileformat.com/th/page/8/">Next Page »</a> </nav> </footer> </main> <footer class="footer"> </footer> <a href="#top" aria-label="go to top" title="Go to Top (Alt + G)" class="top-link" id="top-link" accesskey="g"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentColor"> <path d="M12 6H0l6-6z" /> </svg> </a> <script> (function(i, s, o, g, r, a, m) {i['ContainerizeMenuObject'] = r; i[r] = i[r] || function() {(i[r].q = i[r].q || []).push(arguments)}, i[r].l = 1 * new Date(); a = s.createElement(o),m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.append(a)})(window, document, 'script', 'https://menu.containerize.com/scripts/engine.min.js?v=1.0.1', 'fileformat-th'); </script> <script> let menu = document.getElementById('menu') if (menu) { menu.scrollLeft = localStorage.getItem("menu-scroll-position"); menu.onscroll = function () { localStorage.setItem("menu-scroll-position", menu.scrollLeft); } } document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener("click", function (e) { e.preventDefault(); var id = this.getAttribute("href").substr(1); if (!window.matchMedia('(prefers-reduced-motion: reduce)').matches) { document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView({ behavior: "smooth" }); } else { document.querySelector(`[id='${decodeURIComponent(id)}']`).scrollIntoView(); } if (id === "top") { history.replaceState(null, null, " "); } else { history.pushState(null, null, `#${id}`); } }); }); </script> <script> var mybutton = document.getElementById("top-link"); window.onscroll = function () { if (document.body.scrollTop > 800 || document.documentElement.scrollTop > 800) { mybutton.style.visibility = "visible"; mybutton.style.opacity = "1"; } else { mybutton.style.visibility = "hidden"; mybutton.style.opacity = "0"; } }; </script> <script> document.getElementById("theme-toggle").addEventListener("click", () => { if (document.body.className.includes("dark")) { document.body.classList.remove('dark'); localStorage.setItem("pref-theme", 'light'); } else { document.body.classList.add('dark'); localStorage.setItem("pref-theme", 'dark'); } }) </script> </body> </html>