Почему не работает следующее:

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

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

Почему не работает следующее:

Сообщение tria » 23.05.2006 20:20:18

var v:variant;

TrimRight(v);

И где можно прочитать об этом?
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Сообщение Replicator » 23.05.2006 20:35:38

Компилятор не может определить тип переменной v:
Error: Can't determine which overloaded function to call


Однако, интересно. При использовании привидения типов ничего не произошло:
Код: Выделить всё
program p;
uses
  sysutils, variants;
var
  v: variant;
begin
  v := '   sgf jsfg j sfj s        ';
  TrimRight(string(v));
  writeln(v, '<');
end.

Код: Выделить всё
E:\MyProjects\fpc>fpc p
Target OS: Win32 for i386
Compiling p.pp
Linking p.exe
10 Lines compiled, 1.2 sec

E:\MyProjects\fpc>p
   sgf jsfg j sfj s        <

E:\MyProjects\fpc>
Replicator
постоялец
 
Сообщения: 154
Зарегистрирован: 30.04.2006 17:14:45
Откуда: Outer Heaven

Сообщение Sergei I. Gorelkin » 24.05.2006 09:25:57

Логично... Ведь результат, возвращенный TrimRight, обратно в v никто не записывал :)
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1395
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Replicator » 24.05.2006 12:41:32

Блин! Во я дебил...

Вот так все работает:
Код: Выделить всё
program p;
uses
  sysutils, variants;
var
  v: variant;
begin
  v := '   sgf jsfg j sfj s        ';
  v := TrimRight(string(v));
  writeln(v, '<');
end.
Replicator
постоялец
 
Сообщения: 154
Зарегистрирован: 30.04.2006 17:14:45
Откуда: Outer Heaven


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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21

Рейтинг@Mail.ru