Jason, MSImport might just be changing the internal file pointers when you move the file to a different folder. Just like in Windows. It is very quick. There is no way MSImport can move a 6Meg file in less than second by doing a file to file copy within the card. Transfering from the card to PC should be quick because you are not dealing with the Palm->Card or card->card. I have a card reader and is very quick.
How about normalizing your database into relational databases or just splitting them up. I can't find anywhere in the VFS docs where it can do random and dynamic write. Regards, -----Original Message----- From: Jason Olsen [mailto:[EMAIL PROTECTED]] Sent: October 2, 2002 5:39 PM To: Palm Developer Forum Subject: RE: VFS Problem Danny, Thanks for your response. Unfortunately that's not going to work for me, unless I've misinterpreted your answer. The files I'm talking about are big. Like 6 MB files. If I have to insert something in the middle, that means reading about 3 MB into memory -- memory I'm not likely to have (otherwise I wouldn't bother having the 6 MB file on a card). So I'd have to do it in 64K chunks (would have to anyway), which on the external media is going to take a while. I have a feeling there is a quicker way...someway that takes advantage of the structure of the VFS card. FileZ takes 5+ minutes to move a 2 MB file from one directory to another, and I'm quite sure it's just doing a read/write in chunks. But if I start up MSImport and move it from one directory to another using the PC, it takes about a second. It can also transfer it to the computer and back to the card in under 15 seconds. If I could tap into that, I should be able to copy a portion of the file, add my new part, then copy the remainder just as fast. Or maybe there is some other trick. I can't have record inserts taking 5+ minutes on some of the smaller databases. I could do my own file structure and build a linked list, but then I lose the capability of moving it from the card to the palm. Jason --- On Wed 10/02, Danny Wong wrote: From: Danny Wong [mailto: [EMAIL PROTECTED]] To: [EMAIL PROTECTED] Date: Wed, 2 Oct 2002 14:10:19 -0400 Subject: RE: VFS Problem > Jason, > > Here is what I would do. > > 1. Find the location where you want to insert your new record and save > the pointer to it. 2. Use VFSFileResize() to resize the file > 3. Use VFSFileRead() and VFSFileWrite() combo on the same opened for > write > file to shift the file down. > 4. Now write your new record in the location from the saved pointer in > step > 1. > > Regards, > danny > www.toysoft.ca ------------------------------------------------ Changed your e-mail? Keep your contacts! Use this free e-mail change of address service from Return Path. Register now! -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/ -- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
