Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Быстро грузить текстовые файлы порядка 10 метров [D7, WinXP]


Страницы:   1 2

Димон ©   (2004-07-22 15:31:00) 

Как можно очень быстро (или хитро :)) загружать большие текстовые файлы (порядка 10 метров) в мемо или ричедит. Плюс к этому должен быть прогресс бар, отображающий процесс загрузки.
Быстро это примерно за 5-6 сек.
Хитро это как ВордПед, загрузил часть файла, а потом тихонько догружает остальное, а в это время можно прокручивать текст.
Так как это сделать? :)


ЮрийК   (2004-07-25 11:06:00) [21]

"Polevi ©   (25.07.04 11:02) [19]
нет, так не надо, пожалуйста"

Как надо, приведи пример?


Polevi   (2004-07-25 11:02:00) [22]

нет, так не надо, пожалуйста


ЮрийК   (2004-07-25 11:01:00) [23]

И так, создаём поток типа TThread, в нём построчно читаем файл, и добавляем в мемо. После добавления каждой строки Sinhronize (memo.update);

procedure TMyThread.Execute;
begin
...
Readln(TextFile, s);
Memo.Add(s);
Sinhronize (memo.update);
...
end;

Так?


Бином Ньютоныч   (2004-07-24 16:27:00) [24]

А я не согласный!


Димон   (2004-07-24 15:01:00) [25]

Я тоже так думаю!


Mental_Ray   (2004-07-24 15:00:00) [26]

Спасибо товарищи, помогли называется!! :(


Anatoly Podgoretsky   (2004-07-23 11:16:00) [27]

Хорошая мысль


ЮрийК   (2004-07-23 10:21:00) [28]

"BlockRead, а в качестве буфера переменная типа String.
Прежде чем ее использовать установи ее длину SetLength=размеру файла"
И что дальше, неужели String приравнять к RichEdit.Text?


Сеня   (2004-07-23 09:27:00) [29]

BlockRead, а в качестве буфера переменная типа String.
Прежде чем ее использовать установи ее длину SetLength=размеру файла


Димон   (2004-07-23 08:22:00) [30]

"Что тысобрался в компоненте менять если ты с потоками нешариш???"
>Dima_Delphi
Ну хорошо я не шарю поетому-то сюды и полез :)
Раз ты шаришь кинь мне примерчик плиз и я все пойму!


nikkie   (2004-07-23 00:29:00) [31]

>Dima_Delphi
>Увлечения / хобби
>Програмирование Электроника!
я тебя узнал! ты - профессор Громов!


nikkie   (2004-07-23 00:28:00) [32]

>GEN++
см. EM_LIMITTEXT

Before EM_LIMITTEXT is called, the default limit for the amount of text a user can enter in an edit control is 32,767 characters.

Edit controls on Windows NT/ 2000: For single-line edit controls, the text limit is either 0x7FFFFFFE bytes or the value of the wParam parameter, whichever is smaller. For multiline edit controls, this value is either –1 bytes or the value of the wParam parameter, whichever is smaller.

Edit controls on Windows 95/98: For single-line edit controls, the text limit is either 0x7FFE bytes or the value of the wParam parameter, whichever is smaller. For multiline edit controls, this value is either 0xFFFF bytes or the value of the wParam parameter, whichever is smaller.


GEN++   (2004-07-23 00:11:00) [33]

А что для TMemo предел в 32К текста уже преодален?
Я как то умудрился засунуть в TMemo 123K - очннь интересную
форму он принял.


Dima_Delphi   (2004-07-22 23:54:00) [34]

Что тысобрался в компоненте менять если ты с потоками нешариш???
Поток ето TThread
Есть такой элемент в делфе, можносоздать юнит, класа TThread.
Оттуда загружаеш в мемо как обычно файл, и синхронизируеш добавление в мемо каждой строки с помощью Sinhronize (memo.update); Поток будет неспеша грузитьте файл, а ты в это время можеш с ним начинатьработать! ОК?????


Димон   (2004-07-22 22:53:00) [35]

Со Стримом та же херня Мемо или РичЕдит грузит файлы почти мнгновенно, просто они его долго выводят на экран, т.е, я думаю, проблема в самом компоненте. Может кто-то подскажет как переделать Мемо или РичЕдит?
Ну что люди!? Неужто никто не может ничего посоветовать?  :(


ЮрийК   (2004-07-22 18:49:00) [36]

Ладно:
Memo.LoadFromStream(Stream);
А дальше? Или до этого?


ИдиотЪ   (2004-07-22 17:05:00) [37]

ЮрийК ©
смысл в названиях функций, если непонятны первичные основы, причем операционной системы ?


ЮрийК   (2004-07-22 16:43:00) [38]

"засинхронизируеш поток с мемо, и всё будет работать!"
Что понимаем под потоком, и что значит засихронизировать?
Желательно названия используемых для этого функций дать.


Dima_Delphi   (2004-07-22 16:29:00) [39]

Загружай потоком, из файла в мемо и всё, засинхронизируеш поток с мемо, и всё будет работать!


KSergey   (2004-07-22 15:32:00) [40]

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо