Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Как лучше работать с файлом размером больше 100мб   Найти похожие ветки 

 
Игорек   (2010-05-14 12:15) [0]

В общем как лучше работать с файлом размер которого больше 100 мб (около 300-500мб).
Файл представляет собой строки (строка длинее 255 символов).
Моя задача открыть файл и посторочно искать в нем интересующию еменя символы(строки).
Какой компонентой и как лучше открыть файл , и как лучше просматривать строки длинее 255 символов.

Еще как такие строки сохранять в новый файл.

Заранее спасибо.


 
RWolf ©   (2010-05-14 12:50) [1]

http://ru.wikipedia.org/wiki/Алгоритм_Бойера_—_Мура_—_Хорспула


 
han_malign   (2010-05-14 12:56) [2]

500Mb - халява - целиком в память влезет...
Вот, конечно, это заведомо "длиннее 255 символов"...

Хотя возникает у меня смутное подозрение, что это задание на использование: AssignFile/(Reset/Append/Rewrite)/(ReadLn/WriteLn)/CloseFile... ([F1]: Text type)

З.Ы. А длинные строки появились уже в D2.
З.З.Ы. Может вам сразу Компоненту - которая решает все типовые школьные задачи?


 
RWolf ©   (2010-05-14 12:56) [3]

открывать/сохранять — TFileStream.


 
han_malign   (2010-05-14 12:59) [4]


> TFileStream

- ну тогда объясняй ему и что такое - CR LF, скользящий буфер, et cetera, et cetera, et cetera...


 
Anatoly Podgoretsky ©   (2010-05-14 13:02) [5]

> Игорек  (14.05.2010 12:15:00)  [0]

1. Точно также как и меньше 100 мб, с помощью ReadLn - ей до лампочки твой
размер, она дело имеет со строкой.

2. Не делай строки, типа ShortString, используй длинные Ansi/UnicodeString


 
Демо ©   (2010-05-14 13:19) [6]


> Какой компонентой и как лучше открыть файл , и как лучше
> просматривать строки длинее 255 символов.


Читаешь стандартным способом -ReadLn.
Просматривать - чем удобнее, например TMemo.


 
Демо ©   (2010-05-14 13:20) [7]


> З.З.Ы. Может вам сразу Компоненту - которая решает все типовые
> школьные задачи?


Слово "Компонент" мужского рода.


 
han_malign   (2010-05-14 13:33) [8]

а "Компонента" - женского...


 
MonoLife ©   (2010-05-14 13:37) [9]


> Просматривать - чем удобнее, например TMemo.

У него, кажись, ограничения есть на количество строк или символов, чет не помню..


 
Palladin ©   (2010-05-14 14:05) [10]

ага, слышал звон да не знаю где он


 
RWolf ©   (2010-05-14 14:31) [11]


> han_malign   (14.05.10 12:59) [4]

да я решил было, что автору нужен поиск подстроки, тогда можно грузить файл в память целиком, и CR/LF не мешают; но, судя по описанию задачи, ищется всё-таки именно строка.


 
antonn ©   (2010-05-14 15:04) [12]


> Palladin ©   (14.05.10 14:05) [10]
>
> ага, слышал звон да не знаю где он

тут никаких ограничений нет?
function TMemoStrings.Get(Index: Integer): string;
var
 Text: array[0..4095] of Char;
begin
 Word((@Text)^) := SizeOf(Text);
 SetString(Result, Text, SendMessage(Memo.Handle, EM_GETLINE, Index,
   Longint(@Text)));
end;


 
Anatoly Podgoretsky ©   (2010-05-14 15:37) [13]

> MonoLife  (14.05.2010 13:37:09)  [9]

Есть, в 2 ГБ, у тебя есть такие файлы, ну тогда тебе не подойдет.


 
MonoLife ©   (2010-05-15 08:34) [14]


> Есть, в 2 ГБ, у тебя есть такие файлы, ну тогда тебе не
> подойдет.

Ну, тогда нормально) Спасибо, что напомнили..


 
Palladin ©   (2010-05-15 14:57) [15]


> antonn ©   (14.05.10 15:04) [12]

ты в смысле меня в стекло мордой и спрашивает "а тут стекла говоришь нет?" ? или что?


 
antonn ©   (2010-05-15 15:01) [16]

то самое.
2Гб конечно тоже ограничение, если подойти буквоедствено. Но вот тут разве играничение не поменьше? оно есть? касаемо "слышал звон"


 
Palladin ©   (2010-05-15 15:13) [17]

касаемо "слышал звон" - нет


 
Palladin ©   (2010-05-15 15:29) [18]

Да и что значит "если подойти буквоедственно"? ты уже подошел, не надо никаких "если". Объясняю графу antonn"у, который, в данный момент, играет в Дыр"Таньяна, с очень узким седлом, что есть знание, а что есть "я слышал":

Приходит товарищ на пляж и говорит: емае, а я слышал тут нельзя с клюшками бегать
Ему говорят: а с хрена-ли ты так решил?
И тут присоединяется Дыр"Тырьян и, как ведущий специалист по бадминтону с клюшкой на коньках от версачи, вещает: можно, я видел, я оценил, я знаю
и коронное "поял да!??"


 
antonn ©   (2010-05-15 15:32) [19]

закончил?



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.125 c
2-1268198078
Б
2010-03-10 08:14
2010.08.27
HBITMAP -> Pointer


15-1266341008
NewZ
2010-02-16 20:23
2010.08.27
Книга по БД.


15-1267688046
Kerk
2010-03-04 10:34
2010.08.27
dunit


15-1268811985
12
2010-03-17 10:46
2010.08.27
Посоветуйте инструмент построения диаграмм БД Oracle


2-1271844119
Учащийся
2010-04-21 14:01
2010.08.27
Почему не работает программа?