- ไฟล์ INI เป็นเอกสารการกำหนดค่าที่เก็บการตั้งค่าสำหรับโปรแกรมและแอปพลิเคชัน
- พวกเขาใช้โครงสร้างที่เรียบง่ายด้วยส่วน คีย์ และค่าเพื่อจัดระเบียบข้อมูล
- มักพบในการกำหนดค่าซอฟต์แวร์ การปรับแต่งเกม และการทำงานอัตโนมัติ
- สามารถอ่านและเขียนได้โดยใช้ภาษาการเขียนโปรแกรมหลากหลาย เช่น Pascal, PHP และ Python
ยินดีต้อนรับสู่การเดินทางของเราเพื่อไขปริศนาของไฟล์ INI ! หากคุณเคยสงสัยว่าไฟล์เหล่านี้คืออะไรหรือวิธีการใช้งานอย่างมีประสิทธิภาพ คุณมาถูกที่แล้ว ไฟล์เหล่านี้อาจดูเหมือนปริศนา แต่ด้วยข้อมูลที่ถูกต้อง ไฟล์เหล่านี้จะกลายเป็นเครื่องมือที่มีประสิทธิภาพในโลกของการคำนวณและการกำหนดค่าซอฟต์แวร์ ในบทความนี้ เราจะสำรวจอย่างละเอียดว่าไฟล์ INI คืออะไร ทำงานอย่างไร และคุณจะได้รับประโยชน์สูงสุดจากไฟล์เหล่านี้ได้อย่างไร
ไฟล์ INI: ตัวย่อเหล่านี้หมายถึงอะไร
มาเริ่มกันตั้งแต่ต้นเลยดีกว่าINIในไฟล์ INI หมายถึงอะไร? คำย่อนี้มาจาก"Initialization " ไฟล์ INI เป็นเอกสารการตั้งค่าที่ใช้กันอย่างแพร่หลายในโลกคอมพิวเตอร์เพื่อจัดเก็บการตั้งค่าและตัวเลือกการกำหนดค่าสำหรับโปรแกรมและแอปพลิเคชันต่างๆ
ไฟล์ INI มีเนื้อหาอะไรบ้าง?
ไฟล์ INI ประกอบด้วยข้อมูลสำคัญที่ช่วยให้โปรแกรมและแอปพลิเคชันทำงานได้อย่างถูกต้อง ไฟล์เหล่านี้อาจรวมถึงข้อมูลที่หลากหลาย เช่น:
- พารามิเตอร์ของการกำหนดค่า:ค่าที่กำหนดวิธีการทำงานของโปรแกรม
- เส้นทางการเข้าถึง:ข้อมูลเกี่ยวกับตำแหน่งของไฟล์หรือทรัพยากรที่จำเป็นต่อการทำงานของโปรแกรม
- ค่ากำหนดของผู้ใช้: การตั้งค่าที่กำหนดเองตามที่ผู้ใช้เลือก
- ตัวเลือกอินเทอร์เฟซ: รายละเอียดเกี่ยวกับการออกแบบและรูปลักษณ์ของอินเทอร์เฟซผู้ใช้
ไฟล์ INI มีโครงสร้างอย่างไร?
ไฟล์ INI มีโครงสร้างที่เรียบง่ายแต่มีประสิทธิภาพ โดยปกติจะแบ่งออกเป็นส่วนๆ โดยแต่ละส่วนจะมีชุดค่าและการตั้งค่าของตัวเอง มาดูตัวอย่างพื้นฐานกัน:
[Sección 1] Clave1=Valor1 Clave2=Valor2 [Sección 2] Clave3=Valor3
ในตัวอย่างนี้เรามีสองส่วน โดยแต่ละส่วนจะมีคีย์และค่าของตัวเอง โครงสร้างนี้ช่วยให้จัดระเบียบและค้นหาข้อมูลในไฟล์ได้ง่ายยิ่งขึ้น
ไฟล์ INI ในการใช้งาน
ตอนนี้เรามีความเข้าใจพื้นฐานว่าไฟล์ INI คืออะไรแล้ว ถึงเวลามาสำรวจว่าไฟล์ INI ใช้งานในโลกแห่งความเป็นจริงอย่างไร และจะให้ประโยชน์แก่คุณได้อย่างไร
การกำหนดค่าซอฟต์แวร์
หนึ่งในแอปพลิเคชันที่ใช้ไฟล์ INI ที่พบบ่อยที่สุดก็คือการกำหนดค่าซอฟต์แวร์ โปรแกรมต่างๆ จำนวนมากใช้ไฟล์เหล่านี้เพื่อเก็บค่ากำหนดของผู้ใช้ คุณเคยปรับแต่งตัวเลือกของโปรแกรมและสงสัยไหมว่าตัวเลือกเหล่านั้นถูกบันทึกไว้ที่ไหน คำตอบมักจะเป็นไฟล์ INI!
การปรับแต่งเกม
หากคุณเป็นผู้ที่ชื่นชอบวิดีโอเกม คุณคงเคยพบกับไฟล์ INI ไฟล์เหล่านี้ใช้เพื่อปรับการตั้งค่าเกมตั้งแต่คุณภาพกราฟิกไปจนถึงการตั้งค่าควบคุม คุณสามารถปรับแต่งประสบการณ์การเล่นเกมของคุณได้โดยการแก้ไขไฟล์เหล่านี้
งานอัตโนมัติ
ไฟล์ INI ยังมีประโยชน์ในการทำงานอัตโนมัติ โปรแกรมสามารถอ่านและแก้ไขไฟล์เหล่านี้เพื่อดำเนินการบางอย่างตามที่ได้ตั้งโปรแกรมไว้ สิ่งนี้มีประโยชน์อย่างยิ่งในสภาพแวดล้อมการบริหารองค์กรและระบบ
ไฟล์ INI บนเว็บ
ไฟล์ INI ไม่จำกัดเฉพาะกับแอปพลิเคชันเดสก์ท็อปเท่านั้น บนเว็บ มีการใช้เทคโนโลยี เช่น PHP เพื่อจัดเก็บข้อมูลการกำหนดค่า หากคุณทำงานด้านการพัฒนาเว็บไซต์ การทำความเข้าใจว่าไฟล์เหล่านี้ทำงานอย่างไรอาจมีความจำเป็น
วิธีการใช้ไฟล์ INI?
ตอนนี้คุณรู้แล้วว่าไฟล์ INI คืออะไรและใช้ที่ไหน ถึงเวลาเรียนรู้ว่าคุณจะใช้ประโยชน์จากไฟล์เหล่านี้ได้อย่างไร
1. ระบุไฟล์ INI ที่เกี่ยวข้อง
สิ่งแรกที่คุณต้องทำคือค้นหาไฟล์ INI ของโปรแกรมหรือแอปพลิเคชันที่คุณต้องการกำหนดค่า โดยปกติจะอยู่ในไดเร็กทอรีการติดตั้งซอฟต์แวร์
2. ทำการสำรองข้อมูล
ก่อนที่จะทำการเปลี่ยนแปลงไฟล์ INI โปรดแน่ใจว่าได้สร้างสำเนาสำรองของไฟล์ต้นฉบับไว้ วิธีนี้จะช่วยให้คุณสามารถคืนค่าการตั้งค่าก่อนหน้าได้หากมีสิ่งผิดปกติเกิดขึ้น
3. เปิดไฟล์ INI
ใช้โปรแกรมแก้ไขข้อความธรรมดา เช่น Notepad ใน Windows เพื่อเปิดไฟล์ INI ตรวจสอบให้แน่ใจว่าตัวแก้ไขจะไม่ใส่การจัดรูปแบบเพิ่มเติม เช่น ตัวหนาหรือตัวเอียง
4. แก้ไขอย่างระมัดระวัง
ทำการเปลี่ยนแปลงที่จำเป็นกับไฟล์ โดยใส่ใจกับรูปแบบคำสั่ง ไฟล์ INI จะแยกแยะตัวพิมพ์เล็ก-ใหญ่ ดังนั้นคุณต้องแม่นยำ
5. บันทึกการเปลี่ยนแปลง
หลังจากทำการปรับแต่งของคุณแล้ว ให้บันทึกไฟล์ INI และปิดมัน ตรวจสอบให้แน่ใจว่าได้ปิดซอฟต์แวร์ที่เกี่ยวข้องแล้วก่อนที่จะดำเนินการดังกล่าว
6. ทดสอบโปรแกรม
เริ่มต้นโปรแกรมและตรวจสอบว่าการเปลี่ยนแปลงมีผลหรือไม่ หากทุกอย่างทำงานตามที่คาดหวัง แสดงว่าคุณได้ตั้งค่าไฟล์ INI สำเร็จแล้ว!
เคล็ดลับเพิ่มเติม
ต่อไปนี้เป็นเคล็ดลับเพิ่มเติมบางประการเพื่อให้ได้ประโยชน์สูงสุดจากไฟล์ INI:
- เอกสาร:ควรศึกษาข้อมูลโปรแกรมหรือเอกสารแอปพลิเคชันเสมอเพื่อทำความเข้าใจตัวเลือกต่าง ๆ ที่มีอยู่ในไฟล์ INI ได้ดียิ่งขึ้น
- ความเห็นคุณสามารถเพิ่มความคิดเห็นในไฟล์ INI ได้โดยใส่เครื่องหมายอัฒภาค (;) ไว้ข้างหน้าบรรทัด สิ่งนี้จะช่วยให้คุณจำวัตถุประสงค์ของการตั้งค่าแต่ละรายการได้
- ประสบการณ์อย่ากลัวที่จะทดลองใช้การตั้งค่าในไฟล์ INI คุณสามารถเรียนรู้ได้มากมายจากการลองใช้ค่าต่างๆ และดูว่าค่าเหล่านั้นส่งผลต่อโปรแกรมอย่างไร
ตัวอย่างการอ่านและเขียนไฟล์ INI
ตัวอย่างต่อไปนี้ใช้ไฟล์ INI ทั่วไป (config.ini) ซึ่งแสดงด้านล่างนี้:
[BaseDatos] Usuario=minombre Password=unaClave [Preferencias] Fondo=Blanco Color=Azul
1) ตัวอย่างใน Free Pascal
ด้านล่างนี้เป็นโค้ดที่สมบูรณ์ในการอ่านและเขียนไฟล์ INI โดยใช้ Free Pascal
program fileIni;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this }
, Sysutils, IniFiles;
const
ARCHIVO_CONFIG = 'config.ini';
var
Ini: TIniFile;
Valor: String;
begin
{ El método Create es el constructor de la clase, que recibe como parámetro
el nombre del archivo INI.}
Ini := TIniFile.Create(ARCHIVO_CONFIG);
{Para leer valores se especifica el nombre de sección y clave
en los métodos ReadString.}
// Leer valor de sección BaseDatos
Valor := Ini.ReadString('BaseDatos','Usuario','');
WriteLn('Usuario BD: ', Valor);
// Leer valor de sección Preferencias
Valor := Ini.ReadString('Preferencias','Fondo', '');
WriteLn('Color de fondo', Valor);
{Para escribir valores se indica sección y clave con WriteString
antes de guardar con UpdateFile.}
// Escribir valor en sección BaseDatos
Ini.WriteString('BaseDatos','Password','NuevaClave');
// Escribir valor en sección Preferencias
Ini.WriteString('Preferencias', 'Color', 'Verde');
Ini.UpdateFile;
Ini.Free;
end.
โค้ดนี้เป็นโปรแกรมที่เขียนด้วยภาษา Pascal และทำงานกับไฟล์ INI เพื่อการกำหนดค่า นี่คือคำอธิบายสั้นๆ ของสิ่งที่มันทำ:
- รวมหน่วยที่จำเป็น: โปรแกรมใช้หน่วย
Classes,SysUtilsและIniFilesซึ่งให้ฟังก์ชันที่จำเป็นสำหรับการทำงานกับไฟล์ INI และทรัพยากรอื่นๆ - กำหนดค่าคงที่
ARCHIVO_CONFIGซึ่งมีชื่อไฟล์ INI ที่จะใช้ ในกรณีนี้คือ "config.ini" - ประกาศตัวแปร
IniประเภทTIniFile- ตัวแปรนี้ใช้เพื่อโต้ตอบกับไฟล์ INI - โปรแกรมเริ่มต้นด้วยการสร้างอินสแตนซ์ของ
TIniFileโทรIniกับผู้สร้างCreateโดยส่งชื่อไฟล์ INI ("config.ini") เป็นพารามิเตอร์ - จากนั้นก็ใช้วิธี
ReadStringdeIniเพื่ออ่านค่าจากไฟล์ INI ในกรณีนี้ จะมีการอ่านค่าสองค่า: ค่าแรกจากส่วน “ฐานข้อมูล” และคีย์ “ผู้ใช้” และค่าที่สองจากส่วน “การตั้งค่า” และคีย์ “พื้นหลัง” ค่าที่อ่านได้จะถูกเก็บไว้ในตัวแปรValorและจะแสดงอยู่ในคอนโซล - แล้วใช้วิธี
WriteStringdeIniเพื่อเขียนค่าลงในไฟล์ INI ในกรณีนี้ รหัสผ่านใหม่จะถูกตั้งในส่วน “ฐานข้อมูล” และปุ่ม “รหัสผ่าน” และสีในส่วน “การกำหนดลักษณะ” และปุ่ม “สี” จะถูกเปลี่ยนเป็น “สีเขียว” - แล้ววิธีการที่เรียกว่า
UpdateFileเพื่อบันทึกการเปลี่ยนแปลงที่ทำกับไฟล์ INI ลงในดิสก์ - ในที่สุดหน่วยความจำของอินสแตนซ์ก็ได้รับการปลดปล่อย
IniโทรไปIni.Free.
โดยสรุป โปรแกรมนี้ใช้เพื่ออ่านและเขียนค่าการกำหนดค่าในไฟล์ INI ชื่อ “config.ini” ในส่วนเฉพาะ จากนั้นจึงบันทึกการเปลี่ยนแปลงที่ทำกับไฟล์
2) ตัวอย่างใน PHP
ด้านล่างนี้เป็นโค้ดที่สมบูรณ์สำหรับการอ่านและเขียนไฟล์ INI โดยใช้ PHP รวมคลาสและตัวอย่างการใช้งานไว้ในสคริปต์เดียวกัน แต่คุณสามารถแยกออกได้เพื่อปฏิบัติตามแนวปฏิบัติที่ดีที่สุดในการเขียนโปรแกรม:
<?php
class ManejadorIni
{
private $filename;
private $contenido;
public function __construct($filename)
{
if (!file_exists($filename)) {
throw new Exception('El archivo no existe.');
}
$this->filename = $filename;
$this->contenido = parse_ini_file($filename, true);
if ($this->contenido === false) {
throw new Exception('No se pudo analizar el archivo INI.');
}
}
public function leer($seccion, $clave)
{
if (isset($this->contenido[$seccion]) && isset($this->contenido[$seccion][$clave])) {
return $this->contenido[$seccion][$clave];
}
return '';
}
public function escribir($seccion, $clave, $valor)
{
$this->contenido[$seccion][$clave] = $valor;
}
public function guardar()
{
$texto = "; Archivo INI generado por ManejadorIni\n";
foreach ($this->contenido as $sec => $cont) {
$texto .= "\n[$sec]\n";
foreach ($cont as $key => $val) {
$texto .= "$key=$val\n";
}
}
if (file_put_contents($this->filename, $texto) === false) {
throw new Exception('No se pudo guardar el archivo INI.');
}
}
public function __destruct()
{
$this->filename = null;
$this->contenido = null;
}
} // Aqui termina la Clase.
// Código para probar la Clase: ManejadorIni
try {
// Iniciar el manejador para un archivo INI específico
$manejador = new ManejadorIni('config.ini');
// Leer valores
$nombreUsuario = $manejador->leer('BaseDeDatos', 'usuario');
if (empty($nombreUsuario)) {
echo "No se pudo obtener el nombre de usuario desde el archivo INI.\n";
}
echo "Nombre de Usuario actual: " . $nombreUsuario . "<br>";
// Escribir valores
$manejador->escribir('BaseDeDatos', 'usuario', 'nuevoUsuario');
// Guardar cambios al archivo
$manejador->guardar();
} catch (Exception $e) {
// Manejo de excepciones
echo "Se ha encontrado un error: " . $e->getMessage();
}
?>
โค้ด PHP นี้กำหนดคลาสที่เรียกว่า ManejadorIni ซึ่งใช้ในการอ่าน แก้ไข และบันทึกไฟล์การกำหนดค่าในรูปแบบ INI นี่คือฟังก์ชันพื้นฐานของโค้ด:
- ระดับ
ManejadorIniมีทรัพย์สินส่วนตัว$filename(เพื่อเก็บชื่อไฟล์ INI) และ$contenido(เพื่อจัดเก็บเนื้อหาที่วิเคราะห์ของไฟล์ INI) - ในคอนสตรัคเตอร์คลาส
ManejadorIniตรวจสอบว่าไฟล์ INI ที่ระบุมีอยู่หรือไม่ ถ้าไม่มีอยู่จะมีข้อยกเว้นเกิดขึ้น จากนั้นตัวสร้างจะวิเคราะห์เนื้อหาของไฟล์ INI โดยใช้ฟังก์ชันparse_ini_fileและเก็บผลลัพธ์ไว้ในคุณสมบัติ$contenido- หากฟังก์ชันการแยกวิเคราะห์ล้มเหลว ข้อยกเว้นก็จะถูกโยนด้วย - คลาสนี้มีวิธีการหลักสามวิธี:
leer($seccion, $clave): ช่วยให้คุณอ่านค่าเฉพาะจากส่วนและคีย์ในไฟล์ INI หากส่วนและคีย์มีอยู่ ให้ส่งคืนค่า มิฉะนั้นจะส่งคืนสตริงว่างescribir($seccion, $clave, $valor): ช่วยให้คุณเขียนหรือแก้ไขค่าในไฟล์ INI สำหรับส่วนและคีย์ที่กำหนด การปรับเปลี่ยนนี้ดำเนินการในหน่วยความจำ และจะไม่บันทึกลงในไฟล์จนกว่าจะเรียกใช้วิธีการguardar().guardar(): บันทึกการเปลี่ยนแปลงที่เกิดขึ้นในหน่วยความจำลงในไฟล์ INI ต้นฉบับ เรียกดูเนื้อหาที่เก็บไว้ใน$this->contenidoและเขียนกลับไปยังไฟล์ INI
- วิธีการ
__destruct()รับผิดชอบในการล้างคุณสมบัติเมื่ออินสแตนซ์คลาสถูกทำลาย - นอกเหนือคำจำกัดความของคลาส จะมีตัวอย่างการใช้งานดังนี้:
- มีการสร้างอินสแตนซ์แล้ว
ManejadorIniสำหรับไฟล์ 'config.ini' - ค่าของคีย์ 'user' จะถูกอ่านจากส่วน 'ฐานข้อมูล' ของไฟล์ INI
- หากค่าว่างจะแสดงข้อความแสดงข้อผิดพลาด
- ค่าของ 'user' ถูกเปลี่ยนเป็น 'newUser'
- การเปลี่ยนแปลงจะถูกบันทึกลงในไฟล์ INI
- มีการสร้างอินสแตนซ์แล้ว
นอกจากนี้ โค้ดยังจัดการข้อยกเว้นด้วย ดังนั้นหากเกิดข้อผิดพลาดขณะอ่าน เขียน หรือบันทึกไฟล์ INI ระบบจะตรวจจับและแสดงข้อความแสดงข้อผิดพลาดที่เหมาะสมแทนที่จะทำให้โปรแกรมหยุดทำงาน
หมายเหตุ: สคริปต์ PHP นี้ไม่ได้ใช้ไวยากรณ์ขั้นสูงของ PHP 7.x เนื่องจากพยายามให้ใช้งานได้กับ PHP 5.6 และ PHP 7
3) ตัวอย่างใน Python
ด้านล่างนี้เราจะแสดงฟังก์ชันการอ่านและการเขียนไฟล์ INI: config.ini โดยใช้ Python:
import configparser
# Crear un objeto ConfigParser
config = configparser.ConfigParser()
# Leer el archivo INI
config.read('config.ini')
# Leer valores del archivo INI
usuario_bd = config.get('BaseDatos', 'Usuario')
password_bd = config.get('BaseDatos', 'Password')
fondo = config.get('Preferencias', 'Fondo')
color = config.get('Preferencias', 'Color')
# Mostrar los valores leídos
print('Usuario BD:', usuario_bd)
print('Password BD:', password_bd)
print('Fondo:', fondo)
print('Color:', color)
# Escribir valores en el archivo INI
config.set('BaseDatos', 'Usuario', 'nuevo_usuario')
config.set('BaseDatos', 'Password', 'NuevaClave2')
config.set('Preferencias', 'Fondo', 'Red')
config.set('Preferencias', 'Color', 'Azul')
# Guardar los cambios en el archivo INI
with open('config.ini', 'w') as configfile:
config.write(configfile)
โปรแกรม Python จะใช้ไลบรารี configparser เพื่ออ่านและเขียนไปยังไฟล์ INI ชื่อ “config.ini” นี่คือคำอธิบายสั้นๆ เกี่ยวกับสิ่งที่มันทำ:
- นำเข้าห้องสมุด
configparserในการทำงานกับไฟล์ INI - สร้างวัตถุ
ConfigParserที่เรียกว่าconfig. - อ่านไฟล์ INI โดยใช้วิธีการ
readdeconfig. - อ่านค่าที่มีอยู่ในไฟล์ INI สำหรับส่วน "ฐานข้อมูล" และ "การกำหนดลักษณะ" โดยใช้วิธีการ
get- จากนั้นแสดงค่าเหล่านี้ไปที่คอนโซล - อัปเดตค่าในไฟล์ INI โดยใช้วิธีการ
set- ในกรณีนี้ ให้เปลี่ยนชื่อผู้ใช้และรหัสผ่านในส่วน “ฐานข้อมูล” และพื้นหลังและสีในส่วน “การตั้งค่า” - บันทึกการเปลี่ยนแปลงไปยังไฟล์ INI โดยใช้วิธีการ
writeและไฟล์เอาท์พุตชื่อ “config.ini”
โดยสรุป โปรแกรมช่วยให้คุณสามารถอ่าน แก้ไข และบันทึกค่าในไฟล์ INI โดยใช้ไลบรารี configparser Python
ข้อสรุป
ไฟล์ INI อาจดูเป็นปริศนาในตอนแรก แต่ด้วยข้อมูลที่ถูกต้องและการฝึกฝน คุณจะกลายเป็นผู้เชี่ยวชาญในการใช้งานไฟล์เหล่านี้ เอกสารการกำหนดค่าที่เรียบง่ายเหล่านี้มีบทบาทสำคัญในการปรับแต่งซอฟต์แวร์ การเพิ่มประสิทธิภาพเกม และการทำงานอัตโนมัติ ดังนั้นอย่ากลัวที่จะเข้าสู่โลกของไฟล์ INI และเริ่มใช้ประโยชน์จากศักยภาพของมันวันนี้!
สิ่งสำคัญที่ควรจำไว้คือ ยังมีไฟล์การกำหนดค่าประเภทอื่น ๆ ที่เรียกว่าไฟล์ XMLซึ่งใช้ในด้านต่าง ๆ ของคอมพิวเตอร์ เช่น ฐานข้อมูล การแลกเปลี่ยนข้อมูล และการกำหนดค่าแอปพลิเคชัน XML เป็นภาษามาร์กอัปที่ขยายได้ ซึ่งช่วยให้สามารถจัดโครงสร้างและจัดเก็บข้อมูลในรูปแบบที่ทั้งมนุษย์และเครื่องจักรสามารถอ่านได้ แตกต่างจากไฟล์การกำหนดค่าแบบข้อความธรรมดาแบบดั้งเดิม รูปแบบ XML ใช้แท็กและแอตทริบิวต์เพื่อกำหนดโครงสร้างของเอกสาร
หากคุณพบว่าคู่มือเกี่ยวกับไฟล์ INI นี้มีประโยชน์ โปรดแชร์กับผู้ที่ชื่นชอบคอมพิวเตอร์และเทคโนโลยีคนอื่นๆ ร่วมกันเราลดความซับซ้อนของปริศนาไฟล์ INI และทำให้ทุกคนสามารถเข้าถึงได้ แบ่งปันความรู้และช่วยให้ผู้อื่นเชี่ยวชาญเครื่องมือการกำหนดค่าอันทรงพลังนี้!