Страница 1 из 1

Почему не работает функция Pos?

СообщениеДобавлено: 13.05.2023 15:50:35
Alek_Aaz
Странно, но не работает функция pos()
Выдает 0 и все тут!!! Че за фигня?
Код: Выделить всё
Const
  DirName:string='c:\test\1\1\1';

var
  Form1: TForm1;

implementation

{$R *.lfm}

function DirToFileName (Dir:string):string;
Var  S:string;
     t:integer;
Begin
   S:=Dir;
   t:=Pos(S,'\');
While Pos(S,DirSepar)>0 do  S[Pos(S,DirSepar)]:='-';
result:=s+'.dof';
end;
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
begin
  //
  Memo1.Lines.Add(DirName);
  Memo1.Lines.Add(DirToFileName(DirName));
end;

Re: Почему не работает функция Pos?

СообщениеДобавлено: 13.05.2023 21:28:54
xchgeaxeax
Наоборот надо задавать
Код: Выделить всё
Pos('Что ищем', 'Где ищем')

Re: Почему не работает функция Pos?

СообщениеДобавлено: 14.05.2023 12:17:14
Alex2013
xchgeaxeax писал(а):Наоборот надо задавать
Код: Выделить всё
Pos('Что ищем', 'Где ищем')

Еще есть PosEx ( 'Что ищем', 'Где ищем',С_какой_позиции_ищем )
PosEx(What, X : String[; Start : Integer]) : Integer
Поиск строки в строке
Функция PosEx ищет строку What в строке X начиная с символа с номером Start (нумерация начинается с 1). Если строка найдена, то функция возвращает позицию, иначе возвращает 0.