This page was last modified 15:16, 14 January 2008.
Использование TKeyArrayFix для сортировки массива
From Forum Nokia Wiki
Перевод с английского, оригинальная статья находится здесь.
Следующий пример демонстрирует создание и сортировку массива структур. Сканируя директорию в поиске JPG файлов, мы будем добавлять в массив полный путь, размер и дату создания каждого найденного файла. После этого, массив будет отсортирован по дате создания файла.
- .H
struct TFileDetails { public : TFileName iFileName; TInt64 iFileTime; TInt iFileSize; }; CArrayFixFlat<TFileDetails> *iGalFileArrayTemp; //объявление
- .Cpp
iGalFileArrayTemp = new CArrayFixFlat<TFileDetails>(10); // создаем экземпляр
Сканируем директорию и получаем данные о файле. Используем GetDir(), чтобы получить отфильтрованный по расширению список содержащихся в директории файлов.
User::LeaveIfError(fileSession.GetDir(KCFileSpec,KEntryAttMaskSupported,ESortByDate,iDirListC));
где KCFileSpec:
_LIT(KCFileSpec,"C:\\Nokia\\Images\\*.jpg");
for (TInt i1=0;i1<iDirListC->Count();i1++) { TFileName iT1; iT1.Copy(KCDirName); iT1.Append((*iDirListC)[i1].iName); TTime iTime; iTime = (*iDirListC)[i1].iModified; TFileDetails iFileDetails; iFileDetails.iFileName.Copy(iT1); iFileDetails.iFileTime = iTime.Int64(); iFileDetails.iFileSize = (*iDirListC)[i1].iSize; iGalFileArrayTemp->AppendL(iFileDetails); }
Вы можете просканировать несколько директорий. После этого, полученный массив можно отсортировать следующим образом:
TKeyArrayFix timeKey(_FOFF(TFileDetails,iFileTime),ECmpTInt64); iGalFileArrayTemp->Sort(timeKey);
В данном случае, массив был отсортирован по дате создания файла.
- Удаление массива
if(iGalFileArrayTemp) delete iGalFileArrayTemp;
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Эмулятор и файл с данными | midday | Russian Developer Forum - Форум Российских разработчиков | 2 | 2008-01-10 11:08 |
| _FOFF, InsertIsqL | tomutal | General Symbian C++ | 0 | 2003-09-03 08:47 |
| Nokia phones are not ready for Bluetooth audio | cgraham1 | Bluetooth Technology | 216 | 2008-01-03 17:52 |
| Помогите плиз со структурами | midday | Russian Developer Forum - Форум Российских разработчиков | 10 | 2008-01-13 14:33 |
| Как использовать стандартные библиотеки? | Ecconaut | Russian Developer Forum - Форум Российских разработчиков | 14 | 2007-12-11 09:11 |
