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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2011, 14:59   #1
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
Восклицание Загрузка ОЧЕНЬ большого текста

Мне нужно загрузить текст(большой) в RichEdit.
Что лучше для этого использовать?
TFileStream,функцию FileRead или FileOpen и вообще как с помощью этих функций загрузить в RichEdit текст,а потом его обратно сохранить ? С ув.
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe
Dima DDM вне форума Ответить с цитированием
Старый 09.08.2011, 15:31   #2
chertovich
Форумчанин
 
Аватар для chertovich
 
Регистрация: 26.07.2009
Сообщений: 489
По умолчанию

Возможно, компонент нужно переписать, чтобы он загружал не весь текс, а его часть, так как это сделана в Hex-редакторе HxD. Потому что есть определенное ограничение по размеру буффера RichEdit-a
Если в глубине души вы программист, то, следуя своим наклонностям, вы захотите написать кусок кода.
chertovich вне форума Ответить с цитированием
Старый 09.08.2011, 15:52   #3
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
По умолчанию

Но ведь можно как-то частями загружать? Используя вышенаписанные функции??? А при прокрутке подгружать текст....но вот как....может у кого-нибудь есть идеи?
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe
Dima DDM вне форума Ответить с цитированием
Старый 09.08.2011, 18:47   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

ИМХО: Загрузить текст в StringList весь.
Разделить на 10 например и этими порциями записывать в РичЭдит. Рядом с Ричем кинуть скроллбар, при прокрутке которого проверять нужно ли загружать очередную часть или нет.
Сделать можно но ИМХО морочно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.08.2011, 18:52   #5
Armorer
Подтвердите свой е-майл
 
Регистрация: 07.04.2007
Сообщений: 120
По умолчанию

вроде у TFileStream был seek или position? Установить указатель куда надо и прочитать сколько надо.

Но с тхт редактором не так просто как с hex, надо ведь вычислить какую именно часть читать, а это зависит от того как текст на экране отображается т.е. если на каждой строке одинаковое кол-во символов, то по положению скролбара можно вычислить какую часть читать из файла, а вот если форматирование есть...
Armorer вне форума Ответить с цитированием
Старый 10.08.2011, 12:41   #6
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
По умолчанию

А как загрузить в RichEdit с помощью CreateFile или OpenFile ??? В текстовом редакторе Bred 3 например загружается текст с помощью этих функций и довольно быстро...
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe
Dima DDM вне форума Ответить с цитированием
Старый 10.08.2011, 12:51   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
В текстовом редакторе Bred 3 например загружается текст с помощью этих функций и довольно быстро...
услышал звон, не знаю где он.
TFileStream использует теже функции, просто он удобнее.
главная ваша проблема в отображении данных, а не в загрузке.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.08.2011, 13:37   #8
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
По умолчанию

Мне бы очень хотелось как-то рещить эту проблему.....
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe
Dima DDM вне форума Ответить с цитированием
Старый 10.08.2011, 14:15   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Вариант: загружать из программы в WordPad, там смотреть, возможно править и сохранять
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.08.2011, 18:09   #10
Dima DDM
Форумчанин
 
Аватар для Dima DDM
 
Регистрация: 09.11.2010
Сообщений: 134
По умолчанию

Я вот с помощью TFileStream не могу ВЕСЬ текст загрузить в свой редактор

Код:
  var
Stream:TFileStream;
Buf:Array[0..99999] of Char;
begin
if OpenFileDialog.Execute then
try
  Stream:=TFileStream.Create(OpenFileDialog.FileName,fmOpenReadWrite);
  Stream.Seek(Stream.Size div 2,soFromBeginning);
  Stream.Read(buf,99999);
 Form1.RichEdit1.LInes.Text:=StrPas(Buf);
finally
Stream.Free;
end;
end;
Загружается только кусок файла я понимаю что это зависит от позиции и размера буфера итп но как сделать загрузку целого файла не понимаю =(
P.S.
Есть ли смысл загружать вот так
Код:
 Form1.RichEdit1.LInes.LoadFromStream(Stream);
http://ddmsite.ucoz.ru Мой сайт.
Бесплатный Блокировщик рекламы
http://download.adguard.ru/d/1656/adguardInstaller.exe
Dima DDM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Импорт в эксел очень большого файла txt danika24 Microsoft Office Excel 10 20.07.2011 16:34
Сокеты. Отправка текста большого объема. Rapala Работа с сетью в Delphi 2 10.04.2011 16:17
Загрузка текста в Memo quarty Общие вопросы Delphi 8 21.10.2010 21:52
Вывод большого текста and_kow Общие вопросы Delphi 16 08.07.2009 16:00
Загрузка текста и картинок MAKEDON Помощь студентам 8 09.08.2008 10:36