Спасибо за ваши комментарии. Я сделал функцию, которая выдает сообщение об ошибке, когда это происходит:
/**
* Replaces a string in a file
*
* @param string $FilePath
* @param string $OldText text to be replaced
* @param string $NewText new text
* @return array $Result status (success | error) & message (file exist, file permissions)
*/
function replace_in_file($FilePath, $OldText, $NewText)
{
$Result = array('status' => 'error', 'message' => '');
if(file_exists($FilePath)===TRUE)
{
if(is_writeable($FilePath))
{
try
{
$FileContent = file_get_contents($FilePath);
$FileContent = str_replace($OldText, $NewText, $FileContent);
if(file_put_contents($FilePath, $FileContent) > 0)
{
$Result["status"] = 'success';
}
else
{
$Result["message"] = 'Error while writing file';
}
}
catch(Exception $e)
{
$Result["message"] = 'Error : '.$e;
}
}
else
{
$Result["message"] = 'File '.$FilePath.' is not writable !';
}
}
else
{
$Result["message"] = 'File '.$FilePath.' does not exist !';
}
return $Result;
}
Вы можете применить специальную директиву {$ REGION 'Region Name'}, чтобы пометить «именованные» сворачиваемые области в редакторе кода.
Чтобы пометить код как область, окружите его директивами REGION и ENDREGION. Вы можете включить подпись, которая будет отображаться, когда код будет свернут и скрыт.
Вот пример двух (вложенных) областей:
{$REGION 'Iterate Panels'}
for j := 0 to StatusBar1.Panels.Count - 1 do
begin
x := x + StatusBar1.Panels[j].Width;
{$REGION 'Inner if Region'}
if mpt.X < x then
begin
panel := j;
Break;
end;
{$ENDREGION}
end;
{$ENDREGION}
Чтобы свернуть или развернуть область, нажмите [+] (если развернуто ) или [-] (если свернуто) маркер слева от директивы $ region. Это будет выглядеть так:
alt text http://z.about.com/d/delphi/1/G/o/a/coderegions.gif[1296 visible
Для C ++ Builder используйте
#pragma region [name]и
#pragma end_region, как описано в документации .
В качестве дополнения к ответу eKek0 обратите внимание, что (по крайней мере, в d2009) вы можете выбрать строки кода, которые хотите поместить в регион, щелкните правой кнопкой мыши и выберите Surround | Область. Вам будет предложено ввести название региона.