#Class

C
Stat
M
ClassStat
(Name)s
'Return information about a class from its name, by analyzing its bytecode file.
'
'By default the class file is searched in the calling component or project.
'If ~Name~ is prefixed with `../`, then the class file is searched one component up.
'If ~Name~ is prefixed with '.../', then the class file is searched in the project.
#ClassStat

C
Name
v
s

Parent
v
s

Exported
v
b

HasFast
v
b

AutoCreate
v
b

NoCreate
v
b

Optional
v
b

Test
v
b

#CsvFile

C
Eof
r
b

'Return if the end of file has been reached.
Fields
p
String[]

'Return the name of the columns
Columns
p
String[]

'Return the name of the columns
Line
r
i

'Return the current line
Separator
p
s

'@{since 3.17}
'
'Return or set the CSV file separator
Escape
p
s

'@{since 3.17}
'
'Return or set the CSV file escape character.
Charset
p
s

'@{since 3.17}
'
'Return or set the CSV file charset.
NoDiacritics
p
b

'@{since 3.17}
'
'Return or set if field names diacritics are kept or not.
KeepNames
p
b

'@{since 3.17}
'
'Return or set if field names are kept unchanged or not.
'
'If this property is set, the [../NoDiacritics] property is ignored.
Open
M
CsvFile
(Path)s[(Separator)s(Escape)s(Charset)s]
'Open a CSV file for reading and return it as a CsvFile object.
'
'- ~Path~ is the path of the file.
'- ~Separator~ is the column separator, ',' by default.
'- ~Escape~ is the escape character, '"' by default.
'- ~Charset~ is the file charset. If not specified, it will be guessed.
'
'Field names are automatically formatted: trailing and double white spaces are removed, and characters are converted to lower case.
'
'If you want to keep the original field names, set the [../KeepNames] property just after the creation of the CsvFile object.
Create
M
CsvFile
(Path)s[(Separator)s(Escape)s(Charset)s]
'Create a CSV file for writing and return it as a CsvFile object.
'
'- ~Path~ is the path of the file.
'- ~Separator~ is the column separator, ',' by default.
'- ~Escape~ is the escape character, '"' by default.
'- ~Charset~ is the file charset. If not specified, it will be guessed.
'
'[[ warning
'If another file with the same name already exists, it is erased.
']]
'
'Field names are automatically formatted: trailing and double white spaces are removed, and characters are converted to lower case.
'
'If you want to keep the original field names, set the [../KeepNames] property just after the creation of the CsvFile object.
_new
m

(Path)s[(Separator)s(Escape)s(Charset)s(NoDiacritics)b]
'Create a new CsvFile for reading.
'
'- ~Path~ is the path of the file.
'- ~Separator~ is the column separator, ',' by default.
'- ~Escape~ is the escape character, '"' by default.
'- ~Charset~ is the file charset. If not specified, it will be guessed.
'- ~NoDiacritics~ remove all diacritics from field names.
'
'Field names are automatically formatted: trailing and double white spaces are removed, and characters are converted to lower case.
'
'If you want to keep the original field names, set the [../KeepNames] property just after the creation of the CsvFile object.
Read
m
Collection

'Read a row from the CSV file.
'
'The row is returned as a collection of column values indexed by the column name.
Close
m


Quote
M
s
(Value)s[(Separator)s(Escape)s]
'@{since 3.15}
'
'Quote a string value for a CSV file.
'
'- ~Value~ if the string value to quote.
'- ~Separator~ is the CSV file field separator. By default a comma.
'- ~Escape~ is the CSV file escape character. By default a double quote.
'
'[[ info
'`"\r"` characters are automatically removed when the string value has to be escaped, because it makes Microsoft Excel&trade; fail.
']]
Write
m

(Line)v
'Write a new row of columns in the CSV file.
'
'- ~Line~ is the contents of the columns.
'
'Line can be either a string array of column values (following the [../Columns] order), or a collection of column values indexed by column names.
#Date

C
ToUnixTime
M
l
(Date)d
FromUnixTime
M
d
(UnixTime)l
EasterDay
M
d
(Year)i
ToUTC
M
d
(Date)d
FromUTC
M
d
(Date)d
ToRFC822
M
s
(Date)d[(TimeZone)s]
FromRFC822
M
d
(Value)s[(&TimeZone)s]
IsWeekEnd
M
b
(Date)d
ToISO8601
M
s
(Date)d[(TimeZone)s]
'@{since 3.15}
'
'Convert a date to the ISO-8601 format.
'
'- ~Date~ is the date to convert.
'- ~Timezone~ is the timezone of the date in RFC822 format. By default, the local timezone is used.
DaysInMonth
M
i
(Month)i[(Year)i]
'Return the number of days in a month.
'
'- ~Month~: The month between '1' (January) and '12' (December).
'- ~Year~: The year (used for leap years). If not specified, the current year is used.
#File

C
FormatSize
M
s
(Size)l[(Binary)b]
#Language

C
'This class allows to deal with the translation of the current project.
All
R
String[]

'Return all known languages codes.
Key
r
s

'Return the language key.
Code
r
s

'Return the language code, suitable to [System.Language](/comp/gb/system/language).
Name
r
s

'Return the translated name.
EnglishName
r
s

'Return the english name.
Unknown
r
b

'Return if the language is unknown
Country
r
s

'@{since 3.19}
'
'Return the country code
_lang
M


_get
M
Language
(Code)s
'Return a language from its code.
Find
M
Language
[(Language)s]
'Find a language from its code or its translated name and returns it.
'
'* ~Language~: The code or name to search. If not specified, [System.Language](/comp/gb/system/language) is used.
'
'If the language is not found, NULL is returned.
_new
m

(Language)s
'Create a new Language object from its language code.
GetTranslations
M
String[]
[(Dir)s]
'Return the translations of the current projet or library as a list of language codes.
'
'* ~Dir~ : Allow to override the directory where the translation files are searched for.
#Process

C
Expect
m

(Prompt)s[(Answer)s(Keep)b]
'@{since 3.15}
'
'Tell which answer must be sent when a specific prompt is emitted by the process on its standard input.
'
'* ~Prompt~ : The prompt as a [/lang/like] regular expression that should match the last characters emitted by the process.
'* ~Answer~ : The optional answer string to send back.
'@{since 3.17}
'* ~Keep~ tells if the prompt keeps being watched after having been detected, or if it is disabled. ~Keep~ is FALSE by default.
'
'The [../.prompt] event is emitted just after the answer has been sent, or just after the prompt has been detected if no answer was specified.
:Prompt
:

(Prompt)s(Answer)s
'@{since 3.15}
'
'This event is raised when a prompt specified by the [../expect] method has been detected on the standard output of the process.
'
'The ~Prompt~ and ~Answer~ arguments of the corresponding [../expect] method are provided to the event handler.
#Shell

C
MkDir
M

(Path)s
RmDir
M

(Path)s[(Force)b]
Move
M

(Source)s(Destination)s[(Force)b]
Copy
M

(Source)s(Destination)s[(Force)b]
'@{since 3.20}
'
'Copy a file or a directory recursively.
'
'- ~Source~ : The source file or directory.
'- ~Destination~ : The target of the copy.
'- ~Force~ : If 'True', existing targets are replaced. Otherwise an error is raised.
'
'Here is the possible behaviours:
'
'[[
'If the source is
'--
'If the destination is
'--
'Behaviour
'==
'An existing directory
'--
'An existing directory
'--
'Copy the source directory *inside* the destination directory.
'==
'An existing directory
'--
'A non-existing path
'--
'Copy the source directory to the destination directory.
'==
'A file
'--
'An existing directory
'--
'Copy the source file into the destination directory.
'==
'A file
'--
'A non-existing path.
'--
'Copy the source file to the destination path.
']]
'
'Other possibilities raise an error.
#String

C
RemoveDiacritics
M
s
(String)s
Distance
M
i
(String1)s(String2)s
FromHTML
M
s
(Html)s
ToPhonetic
M
s
(String)s[(Language)s]
PadLeft
M
s
(String)s(Length)i[(Pad)s]
PadRight
M
s
(String)s(Length)i[(Pad)s]
IsEmail
M
b
(String)s
'Return if a string can be interpreted as an e-mail.
IsIP
M
b
(String)s
'Return if a string can be interpreted as a IPv4 address.
IsIPv6
M
b
(String)s
'Return if a string can be interpreted as a IPv6 address.
IsPhone
M
b
(String)s
'@{since 3.22}
'
'Return if a string can be interpreted as a phone number.
