Безразмерные строки
Строки типа AnsiString могут иметь произвольную длину. В отличие от обычных строк, последний байт в AnsiString не является показателем длины, а играет роль ограничителя (как \0 в С). Все, что находится в строке после ограничителя Pascal'ем игнорируется.
Ясно, что в качестве символа-ограничителя должен выступать символ, который обычно в строках не используется. Такой символ в кодовой таблице всего один и имеет код равный 0.
Тип AnsiString определен в диалекте Free Pascal для совместимости с коммерческим Delphi. Но если в программе использовать директиву компилятора {$H+}, то стандартный тип String становится полностью идентичным AnsiString, так что последний можно не использовать.
Подсчет времени выполнения кода
Выполняется с помощью функции MilliSecondsBetween модуля DateUtils:
program example;
{$APPTYPE CONSOLE}
uses SysUtils,DateUtils;
var
FromTime, ToTime: TDateTime;
begin
FromTime := Now; // запуск счетчика времени
// Тестируемый фрагмент кода
ReadLn;
ToTime := Now; // остановка счетчика
WriteLn( 'time = ', MilliSecondsBetween(ToTime,FromTime)/1000., ' s' );
ReadLn;
end.
В DateUtils есть еще несколько подобных функций, но они рассчитаны на более длительные промежутки времени. Переменная Now, равная текущему моменту времени содержится в модуле SysUtils.
Комментарии
comments powered by Disqus