Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как открыть большой файл txt в Memo 
:(
    Опции темы
Serhik_z
  Дата 22.6.2005, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 108
Регистрация: 4.12.2004

Репутация: нет
Всего: нет



Как открыть файл txt в Memo больше положенного.
Скажем 100000 тыс. строк и более.
smile
PM MAIL   Вверх
Snowy
Дата 22.6.2005, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



В Win2000, XP и т.п. Без проблем.
Просто грузишь Lines.LoadFromFile.
Там нет ограничения на кол-во строк.
PM MAIL   Вверх
Serhik_z
Дата 22.6.2005, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 108
Регистрация: 4.12.2004

Репутация: нет
Всего: нет



Для Windows 95 - 98 можно сделать
PM MAIL   Вверх
Snowy
Дата 22.6.2005, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(Serhik_z @ 22.6.2005, 12:59)
Для Windows 95 - 98 можно сделать

В 9х сам системный TMemo не держит больше 65 килострок.
Там нужно RichEdit юзать.
Правда я уже забыл как 98-е выглядят...
PM MAIL   Вверх
~FoX~
Дата 22.6.2005, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Больше 64 кил в любой ОСи нельзя запихать в МЕМО.
RichEdit или строить динамическое подгружание блоков, во время скрола.
А зачем?


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Snowy
Дата 22.6.2005, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата
Больше 64 кил в любой ОСи нельзя запихать в МЕМО.

Код

procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
  s: string;
  sl:TStringList;
  ms:TMemoryStream;
begin
  s:=''; for i:=1 to 1024 do s := s + chr(i mod 24 + 65);
  sl:=TStringList.Create;
  for i:=1 to 100000 do sl.Add(s);
  ms:=TMemoryStream.Create;
  sl.SaveToStream(ms);
  sl.Free;
  ms.Position:=0;
  Memo1.Lines.LoadFromStream(ms);
  ms.Free;
end;

Всего 5 минут и 100 000 килобайтных строк запихано в наш Memo1.
Итого 100Mb в Memo.
Работает на Win2k и старше.
PM MAIL   Вверх
Vit
Дата 22.6.2005, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Или RichEdit или SynEdit (http://forum.vingrad.ru/index.php?showforum=170)


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
~FoX~
Дата 23.6.2005, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Snowy Хм....действительно.....погорячился (правда у меня своп сканчалсяsmile )
Попробывал ~50 метровый файл запихать, работает.
Но все равно это не есть гуд, ибо прога на 9х будет падать. smile


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Snowy
Дата 23.6.2005, 09:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата
Попробывал ~50 метровый файл запихать, работает.

А то! Плавали, проверяли.
Максимально влезает строк MaxInt div 4;
Это ограничение TStringList.
Цитата
Но все равно это не есть гуд, ибо прога на 9х будет падать.

А в 3.11 вообще не заработает, не говоря уже 2.0, 1.0 и DOS с полуосью, *nix, *BSD, QNX, PPC, Symbian, Palm, MacOS, и куче других.
Либо забыть о существовании DOS и прочих до5.x систем, либо воспользоваться вариантами, предложенными выше.
PM MAIL   Вверх
s-mike
Дата 23.6.2005, 17:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

Репутация: 9
Всего: 16



Цитата(Snowy @ 23.6.2005, 09:23)
*nix, *BSD

Разве Memo в QT имеет такие ограничения (в 64 кб)?
PM MAIL WWW   Вверх
Snowy
Дата 23.6.2005, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Цитата(s @ 23.6.2005, 17:38)
Разве Memo в QT имеет такие ограничения (в 64 кб)?

smile Если в эмуляторе запустить - не знаю.
А без эмулятора точно не заработает smile
PM MAIL   Вверх
s-mike
Дата 24.6.2005, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

Репутация: 9
Всего: 16



Цитата(Snowy @ 23.6.2005, 17:48)
smile Если в эмуляторе запустить - не знаю.
А без эмулятора точно не заработает smile

Стоп, о каком эмуляторе речь? Я имею в виду скомпилированный исполняемый файл, использующий библиотеку QT под Windows&Linux.
PM MAIL WWW   Вверх
Snowy
Дата 24.6.2005, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



А я имею ввиду ехешник.
Если скомпилено пол линуксы, то скорее всего такого ограничения там не будет.
Я даже почти уверен, что не будет, но попробовать негде.
PM MAIL   Вверх
s-mike
Дата 25.6.2005, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 425
Регистрация: 16.1.2005
Где: Киев

Репутация: 9
Всего: 16



Цитата(Snowy @ 23.6.2005, 17:48)
А без эмулятора точно не заработает smile

А, так ты имел в виду, что ограничение не заработает smile
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0683 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.