Если метод называется "Set".

Общие вопросы программирования, алгоритмы и т.п.

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

Если метод называется "Set".

Сообщение Виталий » 19.08.2015 20:58:07

Всем доброго. Понадобилось выполнить сортировку в Libre Office по колонке.
Подобрал следующий код:
Код: Выделить всё
var  range,fields,unoWrap,sortDx:Variant;
begin
range:=Sheet.getCellRangeByName('C2:C135');
fields:=VarArrayCreate([0, 0], varVariant);
fields[0]:=StarOffice.Bridge_GetStruct('com.sun.star.table.TableSortField');
fields[0].Field:=7;
fields[0].IsAscending:=1;
unoWrap:=StarOffice.Bridge_GetValueObject();
unoWrap.Set('[]com.sun.star.table.TableSortField', fields);
sortDx:=range.createSortDescriptor();
sortDx[0].Name = 'ContainsHeader';
sortDx[0].Value = 1;
sortDx[3].Name = 'SortFields';
sortDx[3].Value = unoWrap;
range.sort(sortDx);
end;

Лазарус ругается на unoWrap.Set
unit1.pas(67,10) Fatal: Syntax error, "identifier" expected but "SET" found

Паскаль 2.6.4.
Посоветуйте как убедить Паскаль, что это имя метода а не зарезервированное слово.
Виталий
новенький
 
Сообщения: 40
Зарегистрирован: 05.01.2013 22:33:11

Re: Если метод называется "Set".

Сообщение kazalex » 19.08.2015 21:17:59

Виталий писал(а):unoWrap.Set('[]com.sun.star.table.TableSortField', fields);

unoWrap.&Set(...);
kazalex
постоялец
 
Сообщения: 296
Зарегистрирован: 01.06.2012 14:54:10

Re: Если метод называется "Set".

Сообщение Виталий » 19.08.2015 22:23:49

Любопытно... А откуда такой финт?
Это где-то описано почему так в фришке сделано?
Виталий
новенький
 
Сообщения: 40
Зарегистрирован: 05.01.2013 22:33:11

Re: Если метод называется "Set".

Сообщение kazalex » 19.08.2015 23:00:27

Виталий писал(а):Это где-то описано почему так в фришке сделано?

Не знаю как давно (нашёл, в 2.5.1) эта возможность появилось в FPC, но в дельфях оно существует очень давно (в 2006 точно есть, но скорее всего появилась в 2005) и появилась, как раз, для разруливания подобных ситуаций, т.е. когда идентификатор совпадает с ключевым словом. Для FPC написано тут.
kazalex
постоялец
 
Сообщения: 296
Зарегистрирован: 01.06.2012 14:54:10

Re: Если метод называется "Set".

Сообщение Виталий » 19.08.2015 23:04:46

Вау! Вот уж век учись :)
Никогда не использовал (и не встречал) в именах резервированки, потому сейчас у меня выражение лица типа - :shock:
Спасибо. Все получилось. Сортировка удалась :wink:
Виталий
новенький
 
Сообщения: 40
Зарегистрирован: 05.01.2013 22:33:11


Вернуться в Общее

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

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

Рейтинг@Mail.ru