- Код: Выделить всё
- const
 cfexColl='.sac';
 cfoCollections='Коллекции (*'+cfexColl+')|*'+cfexColl
Существует ли способ оставить в выходном файле только один экземпляр константы, на который бы из откомпилированного кода были просто ссылки?
Модератор: Модераторы
const
    cfexColl='.sac';
    cfoCollections='Коллекции (*'+cfexColl+')|*'+cfexColl
SAK писал(а):объявить cfoColletcions как типизованную константу
    cfexColl='.sac';
    cfoCollections:string='Коллекции (*'+cfexColl+')|*'+cfexColl;    cfexColl:string='.sac';
    cfoCollections:string='Коллекции (*'+cfexColl+')|*'+cfexColl;
Михаил Крамер писал(а):cfexColl уже считается переменной


Михаил Крамер писал(а):А так ли вам принципиально, чтобы значение константы не дублировалось в коде? Ведь эдак сохраняется память под переменную, да и быстродействие возрастает.



Troublemaker писал(а):Вообще, что ли, отказаться от составных строковых const и использовать вместо них переменные, которые инициализировать в начале программы..?

Михаил Крамер писал(а):Кстати, а представляете,


Sergei I. Gorelkin писал(а):строковые константы (AnsiString) должны использовать одну и ту же память
unit constants_u;
const
    cfexColl='.sac';
    cfoCollections='Коллекции (*'+cfexColl+')|*'+cfexColl
unit main;
uses constants_u
    ...
    ShowMessage('Данные файлы не будут видны со включенным фильтром "'+cfoCollections+'"');
    ...
    SaveDialog.filter:=cfoCollections
    ...
    OpenDialog.filter:=cfoCollections
    ...

Вернуться в Free Pascal Compiler
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1