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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2013, 23:02   #1
Virus191288
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 59
Вопрос TreeView в string

Добрый день. Ситуация следующая: Пишу прожку которая хранит все сохраненные данные в текстовых файлах. На данные момент для сохранения используются 3 файла. Хочу сделать 1 файл(т.к. программа умеет работать с разными базами данных(те самые текстовые файлы) и хранить по 3 файла для каждой не очень разумно и также хочу добавить шифрование)
Для реализации задумки нужно как-то вытащить данные из TreeView не сохраняя его и затем загрузить. Формат нужен как при SaveToFile:
Код:
Список
	Список1
		Список2
		Список2
	Список1
		Список2
		Список2
		Список2
Можно конечно для этого использовать Copy, PosEx и тд, но у меня не получилось реализовать загрузку(Наверно из-за усталости и могут возникнуть лишние баги)
Возможно кто-то уже занимался этим и есть готовые функции или стандартные.
В общем нужен совет, а лучше готовый код.
Virus191288 вне форума Ответить с цитированием
Старый 12.10.2013, 23:16   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Вместо текста, используйте XML.
Человек_Борща вне форума Ответить с цитированием
Старый 12.10.2013, 23:29   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
хранить по 3 файла для каждой не очень разумно
Я бы не сказал что это не очень разумно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.10.2013, 23:36   #4
Virus191288
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Я бы не сказал что это не очень разумно.
Дело не в количестве. Просто нужно В дальнейшим шифрование по пароль и соответственно придется шифровать и расшифровывать каждый из них.
Virus191288 вне форума Ответить с цитированием
Старый 12.10.2013, 23:45   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
придется шифровать и расшифровывать каждый из них.
Что тут такого?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.10.2013, 00:03   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Разбивка по файлам дает преимущество:
1. в скорости загрузки
2. В стойкости шифрования. Попробуйка догадаться, в какой последовательности сложить пазл, чтобы расшифровать? 6 вариантов. А без ключа шифрования - караул.
3. Сродни типизированию данных. Первый файл это HEADER, второй файл это BODY, третий это FOOTER. Полезно, когда нужно только считать заголовки, не грузя все целиком. увеличивает производительность, и ещё один левел ап в скорости.

Ну и нет какого-то из файлов - считать что-либо невозможно из оставшегося.

Последний раз редактировалось Человек_Борща; 13.10.2013 в 00:06.
Человек_Борща вне форума Ответить с цитированием
Старый 13.10.2013, 00:11   #7
Virus191288
Пользователь
 
Регистрация: 06.06.2009
Сообщений: 59
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Вместо текста, используйте XML.
Отличная идея, так гораздо удобнее, сразу и не подумал.

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Разбивка по файлам дает преимущество:
1. в скорости загрузки
2. В стойкости шифрования. Попробуйка догадаться, в какой последовательности сложить пазл, чтобы расшифровать? 6 вариантов. А без ключа шифрования - караул.
3. Сродни типизированию данных. Первый файл это HEADER, второй файл это BODY, третий это FOOTER. Полезно, когда нужно только считать заголовки, не грузя все целиком. увеличивает производительность, и ещё один левел ап в скорости.

Ну и нет какого-то из файлов - считать что-либо невозможно из оставшегося.
Спасибо за советы. Наверно оставлю разбивку на файлы, но пока гуглил про XML, придумал как объединить все данные, для этого можно использовать TMemoryStream. Может кому пригодился.
Virus191288 вне форума Ответить с цитированием
Старый 13.10.2013, 11:08   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
придумал как объединить все данные
Иногда я в своих проектах поступаю как микрософт - кучу файлов закатываю в zip (можно даже без сжатия), а потом распаковываю в память при необходимости.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка [C++ Error] string.h(5): E2344 Earlier declaration of 'String' Pein95 C++ Builder 2 02.04.2013 21:18
ASP.NET C# компонент TreeView. Перетащить какой - либо пункт меню из TreeView в TextBox Claster ASP.NET 0 02.01.2013 18:59
std::string и System::String iisus92 Помощь студентам 1 25.12.2012 10:44
String большого размера, более 255 String[255] bitSoft Общие вопросы Delphi 9 28.03.2010 19:45
Как получить адрес String строки или преобразовать String madboy4ik Общие вопросы по Java, Java SE, Kotlin 6 15.01.2010 11:57