| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
AleXp 07.11.2005 00:03 / 07.11.2005 01:46
Файлы "без секционные".###################################################################################################
# $Id: ini.p,v 1.0 2005/11/06 23:40:00 asharky@opensea.ru Exp $
###################################################################################################
@CLASS
iniFile
@create[name;path][_string;_now]
###################################################################################################
$self.pathFile[^path.trim[end;/]/${name}.ini]
^if(-f "$pathFile"){
$result[$self.CLASS]
}{
$_now[^date::now[]]
$_string[# ${pathFile}. Created ^_now.sql-string[]^#0A]
^try{
^_string.save[$pathFile]
$result[$self.CLASS]
}{
$exception.handled(1)
$result[]
}
}
#end @create[]
@get[param][_tab]
###################################################################################################
$_tab[^_search_string[^_get_string[];$param]]
^if(^_tab.count[] != 0){$result[$_tab.4]}{$result[]}
#end @get[]
@add[param;value][_str;_tab]
###################################################################################################
^file:lock[ini.lock]{
$_str[^_get_string[]]
$_tab[^_search_string[$_str;$param]]
^if(^_tab.count[] != 0){
$_str[^_str.match[${_tab.1}${_tab.2}${_tab.3}${_tab.4}${_tab.5}][]{${_tab.1}${_tab.2}${_tab.3}${value}${_tab.5}}]
}{
$_str[${_str}${param} = ${value}^#0A]
}
^_put_string[$_str]
}
$result[]
#end @add[]
@del[param][_str;_tab]
###################################################################################################
^file:lock[ini.lock]{
$_str[^_get_string[]]
$_tab[^_search_string[$_str;$param]]
^if(^_tab.count[] != 0){
$_str[^_str.match[${_tab.1}${_tab.2}${_tab.3}${_tab.4}${_tab.5}][]{}]
^_put_string[$_str]
}
}
$result[]
#end @del[]
@_get_string[][_file;_str]
###################################################################################################
$_file[^file::load[text;$pathFile]]
$_str[$_file.text]
$result[^_str.match[\t][g]{^#01}]
#end @_get_string[]
@_put_string[str]
###################################################################################################
$str[^str.match[\x01][g]{^#09}]
^str.save[$pathFile]
$result[]
#end @_put_string[]
@_search_string[str;param]
###################################################################################################
$result[^str.match[^^([ \x01]*)($param)([ \x01]*=[ \x01]*)([\w]*)(.*\n)][m]]
#end @_search_string[]