Безразмерные строки
Строки типа 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