Показать сообщение отдельно
  #8  
Старый 29.10.2008, 18:56
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Уважаемый, Dux, если вы внимательно посмотрите в исходниках как происходит загрузка строк из текстового файла в ListBox, то будете неприятно удивлены.
Каждая строка добавляется через метод Add в цикле. А что такое циклы в Delphi очень даже известно.
Никаким способом (ну, может быть, кроме приобретения суперкомпа ) ускорить загрузку 50000 строк не получится. Судя по вашим 12-ти секундам у вас еще очень шустрый компьютер.
Так же, не очень понятно как бедный пользователь будет справлятся с 50-тью тысячими строк в ListBox'е (если, конечно, эти мегабайты предназначены для ручной манипуляции с ними).
Дать рекомендации по вашей задаче возможно, только тогда, когда станет ясна задача для чего необходимо держать в памяти 5 Мб информации. А может быть, так нагружать память и не требуется?
В любом случае, если очень хочется загрузить такое количество информации придется применять изощренные методы. Например, использовать Thread'ы. Предположительно, несколько должно помочь.
Хотя я бы держал эти мегабайты в базе. Выборка нужных строк в SQL базах происходит очень быстро.
__________________
Не забывайте делать резервные копии
Ответить с цитированием