скрыть файл для моего приложения

Как начинающий, у меня есть небольшая проблема. Я закончил концепцию небольшого приложения, разработанного в C ++ Builder.
Я использовал Tmemo с огромным количеством текстов, чтобы использовать их в своем приложении.
в нагрузке я заметил, что, когда Tmemo имеет в базе данных огромные данные, он замедляет нагрузку, и приложение может отображаться через 3/4 секунды, а иногда и больше!
Поэтому я решил использовать файл, который содержит все тексты. И используя TstringList
он отлично работает и работает быстро, но я не хочу, чтобы данные отображались на глаза.

Поэтому я спрашиваю, есть ли способ скрыть текстовый файл от пользователя, который может использовать приложение, и быстро загрузить его информацию.

0

Решение

ОКНА:
Вы можете сделать это, вызвав SetFileAttributes и установив флаг FILE_ATTRIBUTE_HIDDEN. Увидеть http://msdn.microsoft.com/en-us/library/aa365535%28VS.85%29.aspx

LINUX:
просто создайте свой файл, начиная с точки. (.имя файла)

0

Другие решения

Нет ничего «быстрого» в загрузке большого количества текста в TMemo, Это элемент управления пользовательского интерфейса, и вы копируете текст во внутренние буферы пользовательского интерфейса. Так что это займет время, чтобы загрузить.

Но, чтобы ускорить запуск приложения, не помещайте большие объемы текста непосредственно в TMemo во время разработки. Потоковая передача из DFM займет некоторое время, и это замедлит создание формы, поскольку вы испытываете это.

Вместо этого поместите текст в отдельный файл и скомпилируйте его в ресурсы вашего приложения, добавив .rc файл в ваш проект:

MYTEXT RCDATA "mytext.txt"

Во время выполнения вы можете использовать TResourceStream получить доступ к данным ресурса и загрузить их в TMemo используя его LoadFromStream() метод:

#include <memory>

void TMyForm::LoadMemoText()
{
std::auto_ptr<TResourceStream> strm(new TResourceString(HInstance, "MYTEXT", RT_RCDATA));
Memo1->Lines->LoadFromStream(strm.get());
}

Вызов LoadMemoText() всякий раз, когда вы готовы загрузить TMemo текст, такой как в форме OnShow событие, или в таймере, или в ответ на действие пользователя, или всякий раз, когда вы хотите. Это даст Форме возможность быстрее создавать и показывать пользователю, прежде чем загружать текст.

Нет необходимости помещать скрытый файл на жесткий диск пользователя. Вы можете сохранить текст внутри вашего .exe файл, просто не загружается автоматически при создании формы. Загрузите его, когда будете готовы загрузить.

0

По вопросам рекламы [email protected]