Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.057 c
11-1173789560
Dmitriy___
2007-03-13 15:39
2007.10.14
Копирование Юникода в буфер


1-1186038494
DevilDevil
2007-08-02 11:08
2007.10.14
Указатель на виртуальную функцию. Помогите.


2-1190211725
azl
2007-09-19 18:22
2007.10.14
Как программно добавить новый пункт меню в PopupMenu?


15-1189669246
Vlad Oshin
2007-09-13 11:40
2007.10.14
Идея написать программку - статистика футбола, например


2-1189796974
AlRal
2007-09-14 23:09
2007.10.14
Поставить один GroupBox над другим





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский