Pos, функция
Синтаксис
function Pos(counst SubStr, Str: string): Integer;
Описание
Функция Pos возвращает индекс первого вхождения фрагмента SubStr в строке Str
или ноль, если SubStr нигдев Str не встречается. Pos не является настоящей функцией.
Ошибки
Советы и приемы
- Индексы символов в строке начинаются с 1.
- Поиск выполняется с учетом регистра.
- Pos не обрабатывает многобайтовые символы. Вместо Pos используйте AnsiPos
из модуля SysUtils.
Пример
// В переменных окружения, например PATH, содержатся списки
// каталогов, разделенных точками с запятой. Функция SplitPath
// принимает такую строку в качестве аргумента и разделяет
// строку на отдельные имена файлов. Имена файлов записываются
// в аргумент FileList.
// Заметьте, что имена файлов могут содержать многобайтовые
// символы, поэтому SplitPath должна вызывать функцию AnsiPos
// вместо Pos. Тем не менее, она является примером использования
// обеях функций.
procedure SplitPath(const Path: string; FileList: TStrings);
var
Semicolon: Integer;
FileName: string; // Первое имя файла в оставшейся части строки
Remaining: string; // Остаток строки после извлечения первого
// имени файла
begin
Remaining := Path;
FileList.BeginUpdate;
try
FileList.Clear;
while Remaining<>'' do
begin
Semicolon := Pos(';', Remaining);
if Semicolon = 0 then
Semicolon := MaxInt;
FileName := Copy(Remaining, 1, Semicolon-1);
Delete(Remaining, 1, Semicolon);
FileList.Add(FileName);
end;
finally
FileList.EndUpdate;
end;
end;
Смотрите также
Функция Copy, процедуры Delete,
Insert.
Нет комментариев.
Оставить комментарий:
|
|