Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизКак лучше работать с файлом размером больше 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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.099 c