Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

константы


Gu ©   (2012-01-11 20:56:00) 

почему при

Const
a=Ansistring('mama');
b=Ansistring(a+'papa');

все норм компилится,  при

Const
a:Ansistring='mama';
b:Ansistring=a+'papa';
или
a:Ansistring='mama';
b:Ansistring=Ansistring(a+'papa');

пишет E2026 Constant expression expected?

Как правильно объявить константу состоящую из анси символов и имеющую в себе предидущие (c:Ansistring=a+b+'брат')?


Dimka Maslov   (2012-01-11 21:22:00) [1]

[3] Это константы, которые будут заменены компилятором на значения в момент компиляции. Тип будет, какой указан для соотв. переменных.

[4] Читай документацию про ключевое слово const, особенно - что такое типизированная константа.

[5] Так больше делать нельзя.

И в догонку - забудь про ansistring и делай всё в юникоде. Так оно быстрее будет и надёжнее. ansistring же появляется только там, где это действительно надо при передаче в другое приложение.


Gu   (2012-01-11 21:03:00) [2]


>  [2]

и как тогда константам тип присваивать (создать константу типа ансистринг), как тут пишут например http://delphiworld.narod.ru/base/typed_constants.html


Gu   (2012-01-11 21:00:00) [3]


> [2]

а как же надпись Const в начале?


Gu   (2012-01-11 20:59:00) [4]

просто в случае

Const
a=Ansistring('mama');
b=Ansistring(a+'papa');

где норм компилится все - a и b какого типа будут? не юникоде часом?


Dimka Maslov   (2012-01-11 20:58:00) [5]

потому что
const
 a: ansistring='mama' создаёт не константу, а переменную с заранее заданным значением.

а

const
 a=ansistring('mama') - константу, которая будет подставлена в нужные места компилятором.


Gu   (2012-01-11 20:57:00) [6]

p.s. Xe2

если просто пишу
Const
a='mama'
то a - получается типа unicodestring, а нужно ansistring


Наверх

Титульная страница Поиск, карта сайта Написать письмо