Hello,

Sorry, but file positions are 64 bit integers therefore can't be held in 
regular nor static variables (floating point).
Instead you may create new file name after storing given number of records (say 
20000).

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "Julian" <[email protected]>
To: <[email protected]>
Sent: Friday, July 10, 2009 11:12 AM
Subject: [amibroker] fseek


> Tomasz, is there any chance of implementing this for read only mode?
>
> I found a post from two years ago discussing it with the "r+" file mode but 
> you mentioned there were various problems to overcome 
> in actually using it in "r+" mode.
>
> This has to do with my previous request for logging time and sales. These 
> files could reach 100k+ records and at the moment in AB, 
> you can't skip lines. I.e. If you want to process from line 90,000, you have 
> to fgets() 90k times just to get there which takes 
> around 300ms on my 3.2ghz.
>
> An fseek function would allow progressive reading of large files. E.g.
>
> lastPosition = StaticVarGet("LastPosition");
> fh = fopen("log.txt");
> fseek(fh, lastPosition);
> while (!feof(fh)){
> ..// fgets();
> }
> StaticVarSet("LastPosition", fgetpos());
>
> This would make the difference between hundreds of milliseconds and a couple 
> of milliseconds.
>
> Regards,
> Julian.
>
>
>
> ------------------------------------
>
> **** IMPORTANT PLEASE READ ****
> This group is for the discussion between users only.
> This is *NOT* technical support channel.
>
> TO GET TECHNICAL SUPPORT send an e-mail directly to
> SUPPORT {at} amibroker.com
>
> TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
> http://www.amibroker.com/feedback/
> (submissions sent via other channels won't be considered)
>
> For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> http://www.amibroker.com/devlog/
>
> Yahoo! Groups Links
>
>
>

Reply via email to