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

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

Объявить константу-массив


ekto ©   (2008-05-20 12:28:00) 

Всем доброго времени суток.
Нужно сделать следующее:

const
 TMyType = array [9..26] of string = (...);

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


Gydvin   (2008-05-20 15:05:00) [1]

Только сейчас заметил [2] - исправлюсь :)

В справке до этого искал, но видать, не то.


Anatoly Podgoretsky   (2008-05-20 15:00:00) [2]

> Gydvin  (20.05.2008 13:47:10)  [10]

Ты тоже игнорируешь совет про справку.


Gydvin   (2008-05-20 14:45:00) [3]


> Reindeer Moss Eater ©   (20.05.08 14:10) [16]


Я так извращалсо ;0)

procedure TForm1.Button1Click(Sender: TObject);
const
 ar:array [0..3]of  Int64 = (42949672970,42949673010,214748364850,214748364810);
Type
 TArrayInt64ToPoint = array [0..3]of TPoint;
PArrayInt64ToPoint = ^TArrayInt64ToPoint;
begin
canvas.Polygon(PArrayInt64ToPoint(@ar)^);
end;



> ((X:0; Y:10),(X:60; Y:10))


неудобная конструкция и имена неопустишь и местами не поменяешь. (

Ну да ладно


Reindeer Moss Eater   (2008-05-20 14:10:00) [4]

const DummyPoint : array[boolean] of Longint = (MyLongInt1,MyLongInt2);

var PP : PPoint;
begin
pp := @DummyPoint;
end;


Palladin   (2008-05-20 14:01:00) [5]

гемор это когда ты int64 объявляешь...


Gydvin   (2008-05-20 13:58:00) [6]

((X:0; Y:10),(X:60; Y:10))

ну и гемор... О_о


Palladin   (2008-05-20 13:50:00) [7]


> ПО логике должно быть так ((0,1) , (0,2)).

странная у тебя логика... по логике книжки по паскалю читать нужно...


Palladin   (2008-05-20 13:48:00) [8]


> Gydvin ©   (20.05.08 13:47) [10]

record constants + F1


Gydvin   (2008-05-20 13:48:00) [9]

либо наполнять динамически


Gydvin   (2008-05-20 13:47:00) [10]

раз уж пошли такие вопросы, то и я задам, для общего развития. Как объявить массив-константу TPoint? А то приходится объявлять вместо него int64 и юзать через приведение типов...
Оговорюсь сразу. ПО логике должно быть так ((0,1) , (0,2)). Ан нет :(


Юрий Зотов   (2008-05-20 13:07:00) [11]

> ekto ©   (20.05.08 12:36) [6]

> а вот так:
> const
>  MyStringArray: array [0, 9..26] of string = ('мама', 'мыла', 'раму', ...);

Прокатит, если Вы сумеете найти в справке такой цикл прохода по массиву:
for i := 0, 9..26 do ...


Reindeer Moss Eater   (2008-05-20 12:45:00) [12]

а вот так:
const
MyStringArray: array [0, 9..26] of string = ('мама', 'мыла', 'раму', ...);


а вот этак?
MyStringArray: array ['еще одна абракадабка'] of string = ('кто-то', 'парит', 'моск', ...);


Palladin   (2008-05-20 12:41:00) [13]

совет обратиться к справке ты конечно мудро проигнорировал


ekto   (2008-05-20 12:36:00) [14]

а вот так:
const
 MyStringArray: array [0, 9..26] of string = ('мама', 'мыла', 'раму', ...);

?


ekto   (2008-05-20 12:33:00) [15]

спасибо всем.


Palladin   (2008-05-20 12:31:00) [16]

и typed constants тоже


Юрий Зотов   (2008-05-20 12:31:00) [17]

Тип не может содержать значений, их может содержать переменная или константв данного типа.

const
  MyStringArray: array [9..26] of string = ('мама', 'мыла', 'раму', ...);


Reindeer Moss Eater   (2008-05-20 12:30:00) [18]

двоеточие вместо равно


MBo   (2008-05-20 12:30:00) [19]

в справке есть примеры Array constants


Наверх

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