Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

КАК ВЫВЕСТИ В LISTControl РАЗНЫЕ ТИПЫ TCHAR,TIME,INT

26K
21 мая 2008 года
metal_anton
27 / / 20.04.2008
думаю я туда попал а если не туда простите тут говорят про виндовс формс?? а МФС тоже тут??(если нет то спасибо модератору за то что перенёс по адресу)
вот есть ListControl
вот код как мне вывести разные параметры в одну строку но разные столбцы??
Код:
void CtestDlg::Load_C()
{  
    // выводим список файлов и каталогов с диска **С**

    LVITEM lv;
    BissnesLogical BS;
    int ii =0;
    BS.Load(ToString(GlobalPath));
   
    list<MY_WIN32_FIND_DATA> paslist;
    paslist = SetInfoList();
// список структур по сути WIN32_FIND_DATA который содержит информацию о открытом каталоге
    list <MY_WIN32_FIND_DATA> ::iterator PassageList = paslist.begin();
    while (PassageList != paslist.end())
    {
        // заполнение первой колонки
        m_list.InsertItem(ii,PassageList->cFileName,0);
        lv.mask = LVIF_TEXT;

        lv.iSubItem = 0;
        lv.iItem = ii;
        // заполнение первой(имя) колонки
        lv.pszText  = PassageList->cFileName;// вывожу имя
              //файла(каталога)
        m_list.SetItem(&lv);

        // заполнение второй(тип) колонки
        lv.iSubItem = 1;
       // а вот  тут надо  вывести вместо того  что написано к примеру тип                  
          //FILETIME(когда создали  файл)
        lv.pszText = PassageList->...........;
        m_list.SetItem(&lv);

        // заполнение третьей(дата) колонки
        lv.iSubItem = 2;
       // а вот  тут надо  вывести вместо того  что написано к примеру тип                  
          //FILETIME(когда изменялся посл.раз  файл)
        lv.pszText = PassageList->..........;
        m_list.SetItem(&lv);

        // заполнение четвёртой(размер) колонки
        lv.iSubItem = 3;
                // ну а тут размер
        lv.pszText = PassageList->.......;
        m_list.SetItem(&lv);       
        ii++;
        PassageList++;
    }


Господа не подскажете как это сделать??
11
21 мая 2008 года
oxotnik333
2.9K / / 03.08.2007
Код:
typedef struct _WIN32_FIND_DATA { // wfd  
    DWORD dwFileAttributes;
    FILETIME ftCreationTime;
    FILETIME ftLastAccessTime;
    FILETIME ftLastWriteTime;
    DWORD    nFileSizeHigh;
    DWORD    nFileSizeLow;
    DWORD    dwReserved0;
    DWORD    dwReserved1;
    TCHAR    cFileName[ MAX_PATH ];
    TCHAR    cAlternateFileName[ 14 ];
} WIN32_FIND_DATA;


соответсвенно
PassageList->ftCreationTime;
26K
21 мая 2008 года
metal_anton
27 / / 20.04.2008
Цитата: oxotnik333

соответсвенно
PassageList->ftCreationTime;



lv.pszText это TCHAR а ftCreationTime это FILETIME как компилятору понимать что выводить?? может структуру lv как то можно менять??

11
21 мая 2008 года
oxotnik333
2.9K / / 03.08.2007
Цитата: metal_anton
lv.pszText это TCHAR а ftCreationTime это FILETIME как компилятору понимать что выводить?? может структуру lv как то можно менять??


 
Код:
typedef struct STRUCT tagFILETIME
{
    DWORD  dwLowDateTime;
    DWORD  dwHighDateTime;
} FILETIME;

соответственно надо обратиться к полю стрктуры PassageList->ftCreationTime.dwLowDateTime
и см. ф-ции конвертирования времени в строку
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s
26K
21 мая 2008 года
metal_anton
27 / / 20.04.2008
Цитата: oxotnik333

соответственно надо обратиться к полю стрктуры PassageList->ftCreationTime.dwLowDateTime
и см. ф-ции конвертирования времени в строку
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s



посмотрим поисчим пасиба и так же значения типа int переводить?

26K
24 мая 2008 года
metal_anton
27 / / 20.04.2008
Цитата: oxotnik333
 
Код:
typedef struct STRUCT tagFILETIME
{
    DWORD  dwLowDateTime;
    DWORD  dwHighDateTime;
} FILETIME;

соответственно надо обратиться к полю стрктуры PassageList->ftCreationTime.dwLowDateTime
и см. ф-ции конвертирования времени в строку
ctime_s, _ctime32_s, _ctime64_s, _wctime_s, _wctime32_s, _wctime64_s



чавое то не получается можно примерчик небольшой???

342
28 мая 2008 года
Yos
209 / / 21.06.2003
Можно типа вот так:

SYSTEMTIME time;
FILETIME filetime;
CHAR string[...];

FileTimeToSystemTime(&filetime,&time);
wsprintf(string,"%04d.%02d.%02dT%02d:%02d:%02d",time.wYear,time.wMonth,time.wDay,time.wHour,time.wMinute,time.wSecond);

Ну а int типа так же:

wsprintf(string,"%d",i);

и string используеш :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог