Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.092 c
6-1217598621
Shamansky_ne
2008-08-01 17:50
2010.08.27
Soap как поменять пакет перед посылкой


2-1273817025
stas
2010-05-14 10:03
2010.08.27
idTcpServer/idTcpClient


2-1273090107
Dmutro
2010-05-06 00:08
2010.08.27
Delphi


15-1272745804
Юрий
2010-05-02 00:30
2010.08.27
С днем рождения ! 2 мая 2010 воскресенье


2-1269543236
Первокурсница
2010-03-25 21:53
2010.08.27
Delphi 7: строки, обратный порядок слов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский