Dạng lưu database bằng Game Maker thông dụng nhất là INI. Bây giờ, mình sẽ hướng dẫn các bạn sử dụng các function ini_... để lưu và đọc dữ liệu nhé!
Trước tiên, bạn phải định nghĩa được file INI có những cấu trúc như thế nào. Xem hình minh họa:
Sơ Đồ Cấu Tạo File INI
1 File INI gồm 4 cấp độ
- File INI (Chứa toàn bộ dữ liệu của các Sections, xem như cái tủ đựng)
- Sections: Đơn vị nhỏ hơn file, chứa các dữ liệu từ các keys (xem như cái khay)
- Keys: Đơn vị này chỉ có 1 value duy nhất, là đơn vị cấu thành nên sections và file ini.
Bạn cứ xem chúng như cái tủ quần áo. File INI là cái tủ, sections là các thùng đồ, keys là các chiếc áo, còn value là những họa tiết trên chiếc áo đó.
Tất nhiên, việc sắp xếp này sẽ mang lại 1 cấu trúc dữ liệu khá đơn giản để truy cập và ghi lên.VẬY CÁCH SỬ DỤNG TRONG GM LÀ GÌ?
Trước tiên, bạn phải mở file INI trước đã.
Hãy sử dụng function mở file ini:
ini_open("Filename.ini")
Trong đó filename.ini là tên file ini cần đọc Sau đó, đọc hay ghi dữ liệu vào ini_read_real("Section", "Key", "Default") //Đọc dữ liệu và trả về giá trị real
ini_read_string("Section", "Key", Default) //Đọc dữ liệu và trả về giá trị string
ini_write_real("Section", "Key", Value) //Ghi dữ liệu dạng real, trả về true khi thành công
ini_write_string("Section", "Key", "Value") //Ghi dữ liệu dạng string, trả về true khi thành công
ini_section_delete("Section") //Xóa section chỉ định
ini_key_delete("Section","Key") //Xóa Key thuộc Section chỉ định
Trong đó:ini_read_string("Section", "Key", Default) //Đọc dữ liệu và trả về giá trị string
ini_write_real("Section", "Key", Value) //Ghi dữ liệu dạng real, trả về true khi thành công
ini_write_string("Section", "Key", "Value") //Ghi dữ liệu dạng string, trả về true khi thành công
ini_section_delete("Section") //Xóa section chỉ định
ini_key_delete("Section","Key") //Xóa Key thuộc Section chỉ định
"Section" là section trong file INI
"Key" là Key trong Section chỉ định
Value là giá trị số cần ghi vào
"Value" là giá trị chuỗi(string) cần ghi vào
"Default" là khi không tìm thấy Section hoặc Key thì giá trị trả về sẽ bằng với Default bạn đã thiết lập (dạng String)
Default là khi không tìm thấy Section hoặc Key thì giá trị trả về sẽ bằng với Default bạn đã thiết lập(dạng Real)
HÀM LOGIC
ini_section_exists("Section") //Kiểm tra nếu section tồn tại thì trả về true và ngược lại
ini_key_exists("Section","Key") //Kiểm tra nếu một key nằm trong section nào đó tồn tại
Cuối cùng, khi đã truy cập xong dữ liệu, đừng quên close ini bằng functionini_key_exists("Section","Key") //Kiểm tra nếu một key nằm trong section nào đó tồn tại
ini_close()
Lưu ý: Chỉ close được khi bạn đã mở bằng function ini_open(), khi bạn chưa close file ini hiện thời thì không thể mở tiếp file khác trên cùng object đó.Cuối cùng sẽ là ví dụ:
ini_open("tutorial.ini")
show_message(ini_read_string("Section","Key",""))
show_message("a + b =" + string(ini_read_real("Real","a",0)+ini_read_real("Real","b",0)))
if ini_section_exists("Section")
{
show_message("Section exists")
}
else
{
show_message("Section doesn't exists")
}
show_message(ini_read_string("Section","Key",""))
show_message("a + b =" + string(ini_read_real("Real","a",0)+ini_read_real("Real","b",0)))
if ini_section_exists("Section")
{
show_message("Section exists")
}
else
{
show_message("Section doesn't exists")
}
và đây là nội dung file INI
[Section]
Key="Day la mot string"
[Real]
a=12
b=124
Chúc bạn thành công, cùng share cho mọi người bài viết này nhé!!!Key="Day la mot string"
[Real]
a=12
b=124
Tác giả: Nguyễn Anh Nhân - KLStudio
Nếu copy xin để lại nguồn, hãy thể hiện bạn là người có văn hóa!
0 nhận xét: