Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2011, 14:20   #1
ipaSoft
Пользователь
 
Аватар для ipaSoft
 
Регистрация: 17.05.2009
Сообщений: 10
Сообщение Хранение дерева каталогов

Вопрос объемный и я знаю на него решение. Но решение, мягко говоря, тупое. Для хранения виртуальной файловой системы я использую структуры следующего вида: (в код можете не вникать)

Код:
#pragma once

struct DateOfCreation				// Структура хранит информацию о дате создания файла
{
	unsigned char	day_f;
	unsigned char	month_f;
	unsigned int	year_f;
};

struct VFSFileAttrib // Атрибут, присущий любому файлу или каталогу ВФС
{
	unsigned int	id_f;			// Идентификатор Нода
	unsigned int	parent;			// Хранит номер родителя (нода)
	unsigned int	level;			// Уровень вложенности
	char			name[8];		// Имя файла или каталога
	char			ext[8];			// Расширение файла
	bool			folder;			// Определяет тип экземпляра
	bool			locked;			// Определяет доступность
	char			lockowner[8];	// Определяет, кем заблокирован файл
	DateOfCreation	date;			// Определяет дату создания
};
Я объединяю структуры в динамически расширяемый массив. Получается жалкая пародия на TreeView.
Скажите, какие изведанные способы хранения ВФС есть в природе? Чем проще - тем лучше.

С++ и VS C++ для меня новы. Раньше программировал в Turbo C.
Люди учат цифры...
Цифры учат людей...
ipaSoft вне форума Ответить с цитированием
Старый 23.04.2011, 15:57   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Получается жалкая пародия на TreeView.
И чем же она тебе не нравится?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.04.2011, 17:04   #3
ipaSoft
Пользователь
 
Аватар для ipaSoft
 
Регистрация: 17.05.2009
Сообщений: 10
По умолчанию

TreeView нравится. В оригинальном классе есть методы создания/удаления нодов. Но сам TreeView отображается на форме, а я пишу консольное приложение.
Ткните в подобный примитив с методами вроде Add, AddChild. Так же методы удаления, перемещения и переименования очень интересны.
Модель файловой системы хранится исключительно в куче.
Люди учат цифры...
Цифры учат людей...
ipaSoft вне форума Ответить с цитированием
Старый 23.04.2011, 18:31   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Я бы на твоем месте написал собственный класс, имеющий возможность контейнера для обьектов-веток таких же классов, а не опирался на TreeView
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.04.2011, 20:22   #5
ipaSoft
Пользователь
 
Аватар для ipaSoft
 
Регистрация: 17.05.2009
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Я бы на твоем месте написал собственный класс, имеющий возможность контейнера для обьектов-веток таких же классов, а не опирался на TreeView
Жутко интересно! Приведите малюсенький пример, я уловлю. Я примерно понимаю, что нужно сделать, но не знаю пока как..
Люди учат цифры...
Цифры учат людей...
ipaSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Шифрование каталогов buenosaire Помощь студентам 2 09.05.2010 12:19
Выбор файлов и каталогов Fedor666 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 22.02.2010 17:11
[C++] дерево каталогов Akord Помощь студентам 0 17.12.2009 17:07
список каталогов VVVadim Общие вопросы Delphi 11 03.04.2008 13:00
древо каталогов Dunpeal Компоненты Delphi 6 21.11.2006 06:22