swirl Guide to OmniMark 5   OmniMark home
docs home 
IndexConceptsTasksSyntaxLibrariesOMX VariablesErrors
 
     
Locking a file

You can lock a file for such purposes as maintaining a hit counter on a website, by using OmniMark's VFile library.

To lock a file for such a hit counter, create a program like this one:

  include "omvfile.xin"
  process
     local omVFile counter-file
     local stream hit-count

     ; set up a vfile for the counter
     set counter-file to vfOpen "c:\counter.txt" for "rw"
     vfLock counter-file

     ; read and increment the hit-count
     set hit-count to "d" % vfReader counter-file + 1

     ; output the hit-count
     output hit-count

     ; output the updated counter
     vfMoveCursor counter-file to 0
     set vfWriter counter-file to hit-count
     vfUnlock counter-file

     ; a catch block for handling errors in this program
     catch #external-exception
      identity catch-id
      message catch-msg
        put #ERROR 'An error occurred whilte accessing an omVFile'
        put #ERROR '%g(catch-id) : %g(catch-msg)%n'

This program does the following:

  1. Creates the the stream hit-count, and the VFile counter-file.
  2. Sets counter-file to the file named "counter.txt" by using vfOpen.
  3. Uses the VFile library function VFLock to lock counter-file for the duration of this program.
  4. Increments hit-count by adding 1 to the contents of counter-file.
  5. Outputs hit-count.
  6. Sets counter-file to the value of hit-count using vfWriter, thus updating the file "c:\counter.txt".
  7. At the end, unlocks counter-file with the VFile library function VFUnlock so another process can update it.

       
----

Top [ INDEX ] [ CONCEPTS ] [ TASKS ] [ SYNTAX ] [ LIBRARIES ] [ OMX ] [ OMX ] [ ERRORS ]

Generated: August 11, 2000 at 3:06:23 pm
If you have any comments about this section of the documentation, send email to docerrors@omnimark.com

Copyright © OmniMark Technologies Corporation, 1988-2000.