![]() |
mapped file
Hello every one :
I have a Text File its size is about : 15 MB and i want to compare its lines with other text File . for the first time i used the TStringList to open the First File ( when its size was about 10 KB ) so i hade no problem and i used the TStringList like this :
Delphi-Quellcode:
but when the File becoms more and more huge the TStringList takes forever to load the File's Lines and do the comparasion.
--
Var SL:TStringList; S:String; begin //Load the text file (test.txt ) into the TStringList then use For i:=0 to SL -1 do if S=SL.Strings[i] then Showmessage('yes :'+S+' is found in the file' ); ... ... end; so what i think is to map the First File then do the comparasion and here is my question : is there any function or procedure that loads the mapped file into the stringlist and do the comparasion very fast . many thanks |
Re: mapped file
whould you compare the both textfiles, or only some strings from the file??
when not, look at this: ![]() this methode uses memorystreams!! i hope it can help you! |
Re: mapped file
Zitat:
|
Re: mapped file
Good morning,
why not laoding the small file into a StringList und running through the huge file line by line and comparing the current line with the content of the StringList. So the huge file has only be read by once and the small file is located within the memory. For reading the file line by line, you may want to use the "old Pascal Style" AssigneFile, readLn etc. or the newer functions like FileOpen, FileRead etc.. Have a nice day Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz