class_configfile.rst 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead.
  3. .. _class_ConfigFile:
  4. ConfigFile
  5. ==========
  6. **Inherits:** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
  7. **Category:** Core
  8. Brief Description
  9. -----------------
  10. Helper class to handle INI-style files.
  11. Member Functions
  12. ----------------
  13. +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  14. | void | :ref:`erase_section<class_ConfigFile_erase_section>` **(** :ref:`String<class_string>` section **)** |
  15. +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  16. | :ref:`PoolStringArray<class_poolstringarray>` | :ref:`get_section_keys<class_ConfigFile_get_section_keys>` **(** :ref:`String<class_string>` section **)** const |
  17. +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  18. | :ref:`PoolStringArray<class_poolstringarray>` | :ref:`get_sections<class_ConfigFile_get_sections>` **(** **)** const |
  19. +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  20. | :ref:`Variant<class_variant>` | :ref:`get_value<class_ConfigFile_get_value>` **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, :ref:`Variant<class_variant>` default=NULL **)** const |
  21. +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  22. | :ref:`bool<class_bool>` | :ref:`has_section<class_ConfigFile_has_section>` **(** :ref:`String<class_string>` section **)** const |
  23. +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  24. | :ref:`bool<class_bool>` | :ref:`has_section_key<class_ConfigFile_has_section_key>` **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key **)** const |
  25. +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  26. | Error | :ref:`load<class_ConfigFile_load>` **(** :ref:`String<class_string>` path **)** |
  27. +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  28. | Error | :ref:`save<class_ConfigFile_save>` **(** :ref:`String<class_string>` path **)** |
  29. +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  30. | void | :ref:`set_value<class_ConfigFile_set_value>` **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, :ref:`Variant<class_variant>` value **)** |
  31. +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  32. Description
  33. -----------
  34. This helper class can be used to store :ref:`Variant<class_variant>` values on the filesystem using an INI-style formatting. The stored values as referenced by a section and a key. The stored data can be saved to or parsed from a file, though ConfigFile objects can also be used directly with accessing the filesystem.
  35. The following example shows how to parse a INI-style file from the system, read its contents and store new values in it:
  36. ::
  37. var config = ConfigFile.new()
  38. var err = config.load("user://settings.cfg")
  39. if err == OK: # if not, something went wrong with the file loading
  40. # Look for the display/width pair, and default to 1024 if missing
  41. var screen_width = get_value("display", "width", 1024)
  42. # Store a variable if and only it hasn't been defined yet
  43. if not config.has_section_key("audio", "mute"):
  44. config.set_value("audio", "mute", false)
  45. # Save the changes by overwriting the previous file
  46. config.save("user://settings.cfg")
  47. Member Function Description
  48. ---------------------------
  49. .. _class_ConfigFile_erase_section:
  50. - void **erase_section** **(** :ref:`String<class_string>` section **)**
  51. .. _class_ConfigFile_get_section_keys:
  52. - :ref:`PoolStringArray<class_poolstringarray>` **get_section_keys** **(** :ref:`String<class_string>` section **)** const
  53. Return an array of all defined key identifiers in the specified section.
  54. .. _class_ConfigFile_get_sections:
  55. - :ref:`PoolStringArray<class_poolstringarray>` **get_sections** **(** **)** const
  56. Return an array of all defined section identifiers.
  57. .. _class_ConfigFile_get_value:
  58. - :ref:`Variant<class_variant>` **get_value** **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, :ref:`Variant<class_variant>` default=NULL **)** const
  59. Return the current value for the specified section and key. If the section and/or the key do not exist, the method returns the value of the optional *default* argument (and thus ``NULL`` if not specified).
  60. .. _class_ConfigFile_has_section:
  61. - :ref:`bool<class_bool>` **has_section** **(** :ref:`String<class_string>` section **)** const
  62. Check if the specified section exists.
  63. .. _class_ConfigFile_has_section_key:
  64. - :ref:`bool<class_bool>` **has_section_key** **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key **)** const
  65. Check if the specified section-key pair exists.
  66. .. _class_ConfigFile_load:
  67. - Error **load** **(** :ref:`String<class_string>` path **)**
  68. Load the config file specified as a parameter. The file's contents are parsed and loaded in the ConfigFile object from which the method was called. The return value is one of the OK, FAILED or ERR\_\* constants listed in :ref:`@Global Scope<class_@global scope>` (if the load was successful, it returns OK).
  69. .. _class_ConfigFile_save:
  70. - Error **save** **(** :ref:`String<class_string>` path **)**
  71. Save the contents of the ConfigFile object to the file specified as a parameter. The output file uses an INI-style structure.
  72. The return value is one of the OK, FAILED or ERR\_\* constants listed in :ref:`@Global Scope<class_@global scope>` (if the save was successful, it returns OK).
  73. .. _class_ConfigFile_set_value:
  74. - void **set_value** **(** :ref:`String<class_string>` section, :ref:`String<class_string>` key, :ref:`Variant<class_variant>` value **)**
  75. Assign a value to the specified key of the the specified section. If the section and/or the key do not exist, they are created. Passing a ``NULL`` value deletes the specified key if it exists (and deletes the section if it ends up empty once the key has been removed).