Форум: "Начинающим";
Текущий архив: 2013.07.21;
Скачать: [xml.tar.bz2];
ВнизКак быстро загрузить в Мемо большой файл Найти похожие ветки
← →
Iandy (2012-11-22 10:43) [0]Есть текстовый файл 26 мб который должен быть загружен в Мемо, далее по нему осуществляется поиск конкретной фразы. Вопрос в том что файл слишком долго грузится с диска в Мемо. Как сделать быструю загрузку больших файлов в Мемо, или быстрый поиск текста внутри больших файлов, минуя Мемо?
← →
Ega23 © (2012-11-22 10:52) [1]Я не уверен, что ты вообще сможешь в Мемо такой файл загрузить.
> или быстрый поиск текста внутри больших файлов, минуя Мемо?
Изложи задачу.
← →
Sha © (2012-11-22 11:33) [2]Любая работа с текстовым файлом должна выполняться через TMemo.
← →
Iandy (2012-11-22 11:34) [3]Большой текстовый файл это современный толковый словарь всех слов. Нужно организовать поиск по введенным пользователем словам
← →
Iandy (2012-11-22 11:36) [4]Любая работа с текстовым файлом должна выполняться через TMemo
Ну ну. А вы попробуйте загрузить 26 мб текста в Мемо и оцените скорость загрузки
← →
sniknik © (2012-11-22 11:41) [5]> Большой текстовый файл это современный толковый словарь всех слов. Нужно организовать поиск по введенным пользователем словам
база данных нужна, а не "большой текстовый".
> Ну ну. А вы попробуйте ...
это был сарказм.
← →
anatoly pogoretsky (2012-11-22 11:41) [6]> Iandy (22.11.2012 10:43:00) [0]
Текст в TMemo грузится самым
оптимальным способом.
← →
Iandy (2012-11-22 11:55) [7]>база данных нужна.
База данных это конечно хорошо. Только где ее взять то.. Предлагаете перевести этот текстовый файл в базу? Только вот интересно как. Вручную слишком долго. По одному чтобы вытаскивать слова нужно опять же как то загрузить этот файл в программу а Мемо висит около десяти двадцати секунд
← →
Smile (2012-11-22 11:56) [8]файл слишком долго грузится с диска в Мемо
Это сколько в единицах времени?
← →
han_malign (2012-11-22 11:56) [9]
> Ну ну.
- это был сарказм...TMemoryStream.LoadFromFile
если обработка текста в блоке памяти выше Вашего понимания, то (дабы избежать лишнее копирование):function FileToStr(const FName: string; var FileContents: string): Boolean;
var fh : THandle; br, f_size : LongWord;
begin
result := false;
fh := CreateFile(PChar(FName), GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if fh <> INVALID_HANDLE_VALUE then begin
f_size := GetFileSize(fh, nil);
try
SetLength(FileContents, f_size);
result := ReadFile(fh, FileContents[1], f_size, br, nil);
finally
CloseHandle(fh);
end;
end;
end;
← →
Игорь Шевченко © (2012-11-22 12:01) [10]Sha © (22.11.12 11:33) [2]
Поддерживаю
← →
Плохиш © (2012-11-22 12:07) [11]
> Iandy (22.11.12 11:55) [7]
Программист нужен, аднака...
← →
Iandy (2012-11-22 12:18) [12]Спасибо. Скорее всего займусь переводом этого файла в базу. Там поиск будет удобнее
← →
MBo © (2012-11-22 14:04) [13]начни с TStringList
← →
Jeer © (2012-11-22 16:37) [14]
> Любая работа с текстовым файлом должна выполняться через
> TMemo.
Плюсую - куды ж без любимого TMemo.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.07.21;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c