• Arrays

    From U. CraZy Diamond@TALAMASC/SPORT! to Reaper Man on Sun Jun 27 00:24:00 1999
    RE: Arrays
    BY: Reaper Man to U. CraZy Diamond on Thu Jun 24 1999 11:07 pm

    Angus made a workaround that actually worked but it was only a workaround still frustratingly limited. :(

    work around???
    now this is quite interesting?
    I'd be happy to see this work around and its "short-coming" after all if I c emmulate and array then that is good enough for me.

    I'll look around and see if I can't dig it up for ya... I wouldn't have deleted it on purpose.

    Angus? Remember this?



    ---
    ■ Synchronet ■ ░▒▓ The Serial Port ▓▒░ »807∙547∙2134
  • From U. CraZy Diamond@TALAMASC/SPORT! to Angus Netfoot on Sun Jun 27 00:33:00 1999
    RE: Arrays
    BY: Angus Netfoot to U. CraZy Diamond on Fri Jun 25 1999 09:48 am

    Angus made a workaround that actually worked but it was only a workaround still frustratingly limited. :(


    Yes, and if I recall it made for a significant performance bottleneck. It involved generating Baja BIN files on-the-fly and then EXEC_BINing them to access the data element. Worked, but was naturally slow due to the multiple disk-accesses involved.

    Right. AIIRC it also required an excessive amount of coding. I remember doing a few experiments with it and although it worked for the most part it wasn't as effective as one would hope for.
    Pretty clever, tho. If I can find it d'you mind if I repost it here?


    ---
    ■ Synchronet ■ ░▒▓ The Serial Port ▓▒░ »807∙547∙2134
  • From Angus Netfoot@TALAMASC to U. CraZy Diamond on Mon Jul 5 05:54:00 1999
    RE: Arrays
    BY: U. CraZy Diamond to Angus Netfoot on Sun Jun 27 1999 07:33 am

    Yes, and if I recall it made for a significant performance bottleneck. I involved generating Baja BIN files on-the-fly and then EXEC_BINing them t access the data element. Worked, but was naturally slow due to the multi disk-accesses involved.

    Right. AIIRC it also required an excessive amount of coding. I remember do a few experiments with it and although it worked for the most part it wasn't effective as one would hope for.
    Pretty clever, tho. If I can find it d'you mind if I repost it here?

    Go right ahead. I would have done so except all my experimental code-frags went west when the BBS box blew up.

    If you can't find it I can probably re-generate some examples.


    ---
    ■ Synchronet ■ telnet://talamasca-bbs.com http://www.talamasca-bbs.com
  • From Reaper Man@TALAMASC/TIME/FLAMINT to U. CraZy Diamond on Mon Jul 5 10:56:00 1999
    RE: Arrays
    BY: U. CraZy Diamond to Reaper Man on Sun Jun 27 1999 07:24:00

    work around???
    now this is quite interesting?
    I'd be happy to see this work around and its "short-coming" after all if emmulate and array then that is good enough for me.

    I'll look around and see if I can't dig it up for ya... I wouldn't have dele it on purpose.

    Angus? Remember this?

    almost enough to make me sit down and seriously learn how to do com i/o in qbasic <shudder>

    ---
    ■ Synchronet ■ Flamin' Torch BBS - The Board on Fire
  • From Reaper Man@TALAMASC/TIME/FLAMINT to U. CraZy Diamond on Mon Jul 5 10:57:00 1999
    RE: Arrays
    BY: U. CraZy Diamond to Angus Netfoot on Sun Jun 27 1999 07:33:00

    Right. AIIRC it also required an excessive amount of coding. I remember do a few experiments with it and although it worked for the most part it wasn't effective as one would hope for.
    Pretty clever, tho. If I can find it d'you mind if I repost it here?

    here is another prob, what are the limitations to disk i/o
    can I read from anywhere in a file and write to anywhere?

    ---
    ■ Synchronet ■ Flamin' Torch BBS - The Board on Fire
  • From U. CraZy Diamond@TALAMASC/SPORT! to Reaper Man on Sat Jul 10 04:09:00 1999
    RE: Arrays
    BY: Reaper Man to U. CraZy Diamond on Mon Jul 05 1999 05:57 pm

    here is another prob, what are the limitations to disk i/o
    can I read from anywhere in a file and write to anywhere?

    Of course. But you will have to know the field lengths and positions of your target file and use FLOCK & FUNLOCK to lock the portions you are reading/writing to/from as well as FSET_POS to move around to these file positions.
    Then use FREAD and FWRITE for file I/O.
    ie: To read and write to a 25 char field from a file at file position 256-281 you would open the file in the usual manner, then

    FSET_POS <file handle> 256 SEEK_SET # Move to beginning of record
    FREAD <file handle> <var> 25 # Read what's there into <var>(str or int) FSET_POS <file handle> -25 SEEK_CUR # Move back to file position
    FLOCK <file handle> 25 # Lock that field
    FWRITE <file handle> <source> 25 # Write (overwrite) at the current file
    # position from <source>(str or int) FSET_POS <file handle> -25 SEEK_CUR # (sigh) move back to file position FUNLOCK <file handle> 25 # Unlock that record

    That's basically it in a nutshell and you will have to fill in the blanks and add other code required for proper flow and error checking but should point out some of the pitfalls you might discover whilst trying this. :)

    Hope it helps.

    _UCD_

    ---
    ■ Synchronet ■ ░▒▓ The Serial Port ▓▒░ »807∙547∙2134
  • From Reaper Man@TALAMASC/TIME/FLAMINT to U. CraZy Diamond on Sun Jul 11 02:43:00 1999
    RE: Arrays
    BY: U. CraZy Diamond to Reaper Man on Sat Jul 10 1999 11:09:00

    That's basically it in a nutshell and you will have to fill in the blanks an add other code required for proper flow and error checking but should point some of the pitfalls you might discover whilst trying this. :)

    i see what you have there and it is most impressive...
    It never occured to me to lock the file when I write
    Also I kinda taylored the code for use in a program where data is read
    in sets of 3 and written in 1 piece but I am going to save these posts
    so that Ican make my head go boom after the quake2 game is over..


    ---
    ■ Synchronet ■ Flamin' Torch BBS - The Board on Fire