TIniFile.ReadDate

From Soldat Community Wiki
Jump to: navigation, search
function ReadDate(const Section, Ident: string; Default: TDateTime): TDateTime
 Section: Section name
 Ident: Property name (key)
 Default: Value used as a result when the key has not been found
 Result: Value of a key (if successful) or Default (if not)

Description

This function will try to read a TDateTime value from specified section and key
If it fails to do so for some reason, the Default value is returned.
Note that TDateTime is equivalent to Double.

Important: Result is a number of days that have passed since 1899-12-30 till date under the key in the ini file. 
Because of that, it's probably a good idea to use ReadString to read a clarified date.
You could also encode it using one of the available Functions

Example

example.ini in soldatserver's root folder

[ModConfig]
Created=2013-08-21

script code:

const
  // assuming Sandboxed Level < 2
  PATH = 'example.ini';
var
  Ini: TIniFile;
  temp: TDateTime; // could as well be  temp: Double;

begin
  Ini := File.CreateINI(PATH);
  temp := Ini.ReadDate('ModConfig','Created',FALSE); // temp = 41507.0
  Ini.Free;
end.