Page 1 of 3 123 LastLast
Results 1 to 10 of 26

Thread: virtual file system in pascal/delphi

  1. #1

    virtual file system in pascal/delphi

    Thanks to a question of Brainer on the pgd forum ( http://www.pascalgamedevelopment.com...er=asc&start=0 ) i started writing a virtual file system in pascal. Things now become useable.

    Now it is alpha 7 time already. Now it is also possible to delete files. Deleted blocks are reused again.
    This only works for tvirtualfilestream bases access to the tvirtualfilesystem. So writedata (and readdata) need to be rewritten to use a tvirtualfilestream. Besides making reusing deleted blocks work with those it save some double code.
    With reusing deleted block the tvirtualfilesystem may end up to be defragmented. Hmm how to write such an thing?

    Who are willing to give this alpha version a test run? It comes with an basic example i use for testing.
    I still have to give the virtualfilesystem a proper name and i am out of ideas so suggestions are welcome.

    Download: http://www.noeska.net/downloads/Virt...stemAlpha7.zip
    http://3das.noeska.com - create adventure games without programming

  2. #2

    virtual file system in pascal/delphi

    Nice you're progressing with your code, I'm too busy right now to do anything, that's why I didn't respond earlier. As soon as I get some time (as soon as some motivation as well) I'll post my code, too.

    Anyway, congrats noeaska for your constant development, thanks for that.

  3. #3

    virtual file system in pascal/delphi

    A short tutorial:

    Opening a virtual file system.
    Code:
      TestDataFile := TVirtualFileSystem.Create();
      TestDataFile.FileName := 'myfilesystem.dat';
      TestDataFile.Open;
    Writing a tmemo (mTest) inside the virtual file system:
    Code:
      MyStream:= TvfsFileStream.Create('test.txt', TestDataFile);
      mTest.Lines.SaveToStream(MyStream);
      MyStream.Free;
    Reading a tmemo (mTest) from inside the virtual file system:
    Code:
      MyStream:= TvfsFileStream.Create('test.txt', TestDataFile);
      mTest.Lines.LoadFromStream(MyStream);
      MyStream.Free;
    Also you can download alpha8 here: http://www.noeska.net/downloads/Virt...stemAlpha8.zip
    ReadData and WriteData now use TVirtualFileStream and are only 4 lines long now :-)
    http://3das.noeska.com - create adventure games without programming

  4. #4

    virtual file system in pascal/delphi

    wow... awesome stuff. Looks really easy to use.

    Are you going to implement directories?

    Keep up the good work!
    Coders rule nr 1: Face ur bugz.. dont cage them with code, kill'em with ur cursor.

  5. #5

    virtual file system in pascal/delphi

    for now there is only one main directory. But you can cheat by using / in the filename. Just make sure it fits within 255 chars total length. I am not sure if giving each directory its own file within the vfs is an advantage or just complicates things.

    Also i discovered an bug that does not allow a file withing the vfs to become smaller. So i need to add code for that first.
    http://3das.noeska.com - create adventure games without programming

  6. #6

    virtual file system in pascal/delphi

    For those who thought my project is dead - it's back on tracks. I have nothing to show yet, but there is going to be a directories support and many more like compression and encryption per file (means you don't have to encrypt/compress all files, you can choose which files you want to affect).

    Stay tuned.

  7. #7

    virtual file system in pascal/delphi

    2008-12-21: Alpha9 is released. When a (virtual)file becomes smaller additional blocks are marked as deleted. Should work, but needs additional testing. If this goes ok it is almost time for an real beta version.

    Download: http://www.noeska.net/downloads/Virt...stemAlpha9.zip

    My plan on encryption is make it pluggeable. I do not want to implement encryption support in the virtualfilesystem code. So the vfs class gets a method called SetEncryptionMethod(AEncryptMethod: Object);
    For now i am puzzled on should i make AEncryptMethod an Object Pointer or TEncryptProcedure?
    http://3das.noeska.com - create adventure games without programming

  8. #8

    virtual file system in pascal/delphi

    I would make the argument a class type, so the VFS can instantiate the encrypter class at will
    Peregrinus, expectavi pedes meos in cymbalis
    Nullus norvegicorum sole urinat

  9. #9

    virtual file system in pascal/delphi

    The vfs has a name. Not the most original, but it has a name now and it is: nvfs . Or in full: Noeska's Virtual File System .
    The project site is being setup now. (ps it almost took me more time to setup wordpress mu then to write nvfs )

    Project Site: http://www.noeska.net/projects/nvfs/
    Download version 1.0b: http://www.noeska.net/projects/files/2008/12/nvfs.zip

    The basics are working now so i took it out of alpha and into beta.

    I need beta testers now. So test it if you dare...
    http://3das.noeska.com - create adventure games without programming

  10. #10

    virtual file system in pascal/delphi

    There seems to be a problem with your website:

    Fatal Error
    If your blog does not display, please contact the owner of this site.

    If you are the owner of this site please check that MySQL is running properly and all tables are error free.

    Could Not Find Blog!
    Searched for www.noeska.net/ in wp_noeska_net::wp_blogs table. Is that right?

    What do I do now?
    Read the bug report page. Some of the guidelines there may help you figure out what went wrong.
    If you're still stuck with this message, then check that your database contains the following tables:

    * wp_blogs
    * wp_users
    * wp_usermeta
    * wp_site
    * wp_sitemeta
    * wp_sitecategories

    If you suspect a problem please report it to the support forums but you must include the information asked for in the WPMU bug reporting guidelines!
    I always get to see this, no matter on which link i click.
    Coders rule nr 1: Face ur bugz.. dont cage them with code, kill'em with ur cursor.

Page 1 of 3 123 LastLast

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •