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

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

array of variant в константе


Страницы:   1 2

Kray ©   (2005-01-13 16:34:00) 

Хочу использовать в константе вариантный массив.

TMyType = Record
            cap : string;
            FieldName : Variant;
           end;
const
myConst : TMyType = (cap: 'Заголовок';FieldName: ['naim']);

Ругается что не может инициализировать тип в FieldName.
Что нибудь с этой ошибкой можно сделать?


KSergey   (2005-01-13 17:52:00) [1]

>  [23] Arm79 ©   (13.01.05 17:35)
> Хочу именно в константе задавать массивы разной длинны.

Я же написал: невозможно сие в Object Pascal'е!
О чем еще треп, не пойму??

см. [16], [18]


Arm79   (2005-01-13 17:35:00) [2]

Kray ©   (13.01.05 16:45) [5]

Хочу именно в константе задавать массивы разной длинны.
т.е.
myConst1 : TMyType = (cap: 'Заголовок';FieldName: ['naim']);

myConst2 : TMyType = (cap: 'Заголовок';FieldName: ['naim1','naim2']);

- здесь уже не Variant, а array of variant

Вообще то интересная постановка задачи. А так нельзя?
type
 TMyType = Record
   cap       : string;
   FieldName : string;
 end;
const
 myConst : TMyType = (cap: 'Заголовок'; FieldName: ['naim, naim2']);

а в тексте процедурки просто раскладываешь поле FieldName смотря по запятым

ЗЫ naim пишется как name


Ega23   (2005-01-13 17:22:00) [3]

не хочу в теле программы работать с постоянными названиями.

А ну-ка, что такое:
1. Нетипизированная константа?
2. Типизированная константа?
3. Переменная?
4. Их отличие, применительно к компилятору?


Kray   (2005-01-13 17:19:00) [4]

>Ega23 © [20]
не хочу в теле программы работать с постоянными названиями.


Ega23   (2005-01-13 17:16:00) [5]

2 Kray ©   (13.01.05 17:13) [19]

ДА ПОЧЕМУ КОНСТАНТЫ-ТО?????????


Kray   (2005-01-13 17:13:00) [6]

Хочу: модуль в котором описант мой тип(record).
     в другом модуле константы этого моего типа.
Все просто.
Запись должна содержать в себе поле - массив, количество элементов которого может быть различным.


KSergey   (2005-01-13 17:12:00) [7]

Варианты тоже не инициализируются

const identifier: type = value

where identifier is any valid identifier, type is any type exceptfiles and variants


Ega23   (2005-01-13 17:11:00) [8]

А, ну если у тебя чисто академический интерес, то
Typed constants  + F1  - читать со всеми сносками.


KSergey   (2005-01-13 17:10:00) [9]

а) хотелось бы увидеть как вы это все собираетесь использовать, а то я чей-то не пойму этих всех заумно-путанных суждений

б) не, нету синтаксиса инициализации динамического массива.


Kray   (2005-01-13 17:04:00) [10]

> Ega23 ©   [12]
В чем заблуждаюсь?
С фиксированным стринг массивом все катит легко. Интересно в принципе можно ли использовать в константах массивы типа variant


Ega23   (2005-01-13 17:04:00) [11]

Слушай, напиши по-человечески - чего ты хочешь? Что у тебя за задача?


Kray   (2005-01-13 17:02:00) [12]

да.Я думал вариант с большим стринг массивом элементов на 10-15.
тогда придется добавлять количество элементов в запись и константы будут выглядеть не красиво.
Константы будут постоянными. Но размер массивов в них будет разный.


Ega23   (2005-01-13 16:56:00) [13]

2 Kray ©   (13.01.05 16:54) [10]
применить в данном случае константы будет применять легко.
заводить переменные и потом их присваивать через процедуру будет много строк кода если таких констант штук 5-10.


Ты заблуждаешься. Глубоко.


Ega23   (2005-01-13 16:55:00) [14]

передавать много параметров которые будут занесены в константы.

ЗАЧЕМ В КОНСТАНТЫ?????? Константа - есть вещь ПОСТОЯННАЯ.


Kray   (2005-01-13 16:54:00) [15]

применить в данном случае константы будет применять легко.
заводить переменные и потом их присваивать через процедуру будет много строк кода если таких констант штук 5-10.


Erik1   (2005-01-13 16:54:00) [16]

Тогда запихай все в один большой масив и я вижу тут только тип стринг а не Variant.


Kray   (2005-01-13 16:52:00) [17]

Требуется передавать много параметров которые будут занесены в константы.
Один из параметров будет иметь различное количество элементов. Как это можно сделать кроме применения массива в константе?


Ega23   (2005-01-13 16:52:00) [18]

Сделай её не константой, а переменной.
Хотя смысла действительно не видно...


P.N.P.   (2005-01-13 16:47:00) [19]

> Kray ©   (13.01.05 16:45) [5]
Какой в этом смысл?


Kray   (2005-01-13 16:45:00) [20]

Хочу именно в константе задавать массивы разной длинны.
т.е.
myConst1 : TMyType = (cap: 'Заголовок';FieldName: ['naim']);
myConst2 : TMyType = (cap: 'Заголовок';FieldName: ['naim1','naim2']);


Страницы:   1 2

Наверх

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