Как начинающий, у меня есть небольшая проблема. Я закончил концепцию небольшого приложения, разработанного в C ++ Builder.
Я использовал Tmemo с огромным количеством текстов, чтобы использовать их в своем приложении.
в нагрузке я заметил, что, когда Tmemo имеет в базе данных огромные данные, он замедляет нагрузку, и приложение может отображаться через 3/4 секунды, а иногда и больше!
Поэтому я решил использовать файл, который содержит все тексты. И используя TstringList
он отлично работает и работает быстро, но я не хочу, чтобы данные отображались на глаза.
Поэтому я спрашиваю, есть ли способ скрыть текстовый файл от пользователя, который может использовать приложение, и быстро загрузить его информацию.
ОКНА:
Вы можете сделать это, вызвав SetFileAttributes и установив флаг FILE_ATTRIBUTE_HIDDEN. Увидеть http://msdn.microsoft.com/en-us/library/aa365535%28VS.85%29.aspx
LINUX:
просто создайте свой файл, начиная с точки. (.имя файла)
Нет ничего «быстрого» в загрузке большого количества текста в 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
файл, просто не загружается автоматически при создании формы. Загрузите его, когда будете готовы загрузить.