Функция pos() - где ошибка? (((

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Функция pos() - где ошибка? (((

Сообщение koko » 04.10.2012 00:53:33

Здравствуйте!

Подскажите чайнику пожалуйста в чём ошибка при использовании функции pos.

Программа (для примера):
program project2;
uses
CRT;
var
temp_string, find_string: string; {}

begin
find_string:='***';
temp_string:='*=========';
pos(find_string, temp_string)
end.

При компиляции и при работе не ругается, однако когда пытаюсь считать значение функции pos в окне "список наблюдений" - там всё время вот такое значение "<Error: No symbol \"pos\" in current context.>" для имени "pos(find_string, temp_string)".

Мне казалось там должно быть значение "False" ...

С уважением,
Константин
koko
незнакомец
 
Сообщения: 2
Зарегистрирован: 02.10.2012 23:25:44

Re: Функция pos() - где ошибка? (((

Сообщение Aleksey Elin » 04.10.2012 01:19:32

Отладчик не умеет вызывать функции, поэтому вы не видите ее значения. Для того чтобы посмотреть значение функции присвойте ее результат промежуточной переменной и смотрите в отладчике уже значение переменной:

Код: Выделить всё
{$APPTYPE CONSOLE}
program project2;

{$mode delphi}{$H+}   

function Included(const S, Sub : string) : Boolean;
var
  i         : Integer;
begin
  i:=pos(Sub,S);
  Result:=(i>0);
end;     

begin
  WriteLn( Included('*=========','***') );
end.
 

В приведенном коде можно поставить брекпойнт на сроку Result:=(i>0); и смотреть значение i;

Примечание: Фнкция pos возвращает первую позицию подстроки в строке и 0 если подстрока не найдена, а не Boolean
Aleksey Elin
новенький
 
Сообщения: 15
Зарегистрирован: 13.09.2012 22:34:34

Re: Функция pos() - где ошибка? (((

Сообщение koko » 04.10.2012 02:31:34

Большое спасибо!!!
Всё получилось.
koko
незнакомец
 
Сообщения: 2
Зарегистрирован: 02.10.2012 23:25:44


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 1

Рейтинг@Mail.ru