Новости | 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[]