Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.14;
Скачать: CL | DM;

Вниз

Emuneration для индексов массива в Delphi: перевод на С++   Найти похожие ветки 

 
monkeyboy   (2007-08-01 13:31) [0]

В Delphi для задания массива используется тип, и можно использовать enum.
type
 TFileTimeKind = (ftkLastModidied, ftkAccessed, ftkCreated);
...
 FFileTimes: array[TFiletipeKind] of TFileTime;


Пытаюсь это  выразить в С++ :

typedef enum
{
 LastModidied,
 Accessed,
 Created
}
FileTimeKind;
...
 FILETIME fileTimes_[3];


Можно ли как-то сделать, чтобы константа 3 вычислялась из диапазона enum ?


 
Dib@zol ©   (2007-08-01 13:33) [1]

Эт тебе не сюда, а на http://forum.vingrad.ru надо (ИМХО).


 
clickmaker ©   (2007-08-01 13:41) [2]

typedef enum
{
LastModidied = 1,
Accessed,
Created
}
так что-ли?


 
Игорь Шевченко ©   (2007-08-01 13:54) [3]

Видел только такое решение:

typedef enum _SYSTEM_POWER_STATE {
   PowerSystemUnspecified = 0,
   PowerSystemWorking     = 1,
   PowerSystemSleeping1   = 2,
   PowerSystemSleeping2   = 3,
   PowerSystemSleeping3   = 4,
   PowerSystemHibernate   = 5,
   PowerSystemShutdown    = 6,
   PowerSystemMaximum     = 7
} SYSTEM_POWER_STATE, *PSYSTEM_POWER_STATE;

#define POWER_SYSTEM_MAXIMUM 7

typedef struct CM_Power_Data_s {
   DWORD               PD_Size;
   DEVICE_POWER_STATE  PD_MostRecentPowerState;
   DWORD               PD_Capabilities;
   DWORD               PD_D1Latency;
   DWORD               PD_D2Latency;
   DWORD               PD_D3Latency;
   DEVICE_POWER_STATE  PD_PowerStateMapping[POWER_SYSTEM_MAXIMUM];
--------------------------------------------------^^^^^^^^^^^^^^^^^
   SYSTEM_POWER_STATE  PD_DeepestSystemWake;
} CM_POWER_DATA, *PCM_POWER_DATA;


 
palva ©   (2007-08-01 13:59) [4]

Может быть, так?

#include <stdio.h>

typedef enum
{
LastModidied,
Accessed,
Created,
Max_Enum
}

FileTimeKind;

int fileTimes_[Max_Enum];
void main() {
 fileTimes_[Created] = 777;
 printf("%d\n", fileTimes_[Created]);
}


 
monkeyboy   (2007-08-01 14:08) [5]


> Игорь Шевченко ©  

Понятно, спасибо.
То есть, того что хотелось бы, нет.
В моей ситуации тогда лучше сделать три поля.


 
monkeyboy   (2007-08-01 14:12) [6]


> palva ©

Да, наверное именно так надо, спасибо.



Страницы: 1 вся ветка

Текущий архив: 2007.10.14;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
15-1189268654
Gorlum
2007-09-08 20:24
2007.10.14
Плата MSI - а как узнать конкретно какая?


15-1189569624
Slider007
2007-09-12 08:00
2007.10.14
С днем рождения ! 12 сентября 2007 среда


2-1189841616
Сема_
2007-09-15 11:33
2007.10.14
ListView


2-1190371958
voe
2007-09-21 14:52
2007.10.14
Символ и Memo


3-1180362429
makvell
2007-05-28 18:27
2007.10.14
Какие компоненты использовать