DIRECT FILE ACCES COMMANDS - DISK(FILE) VARIABLES ================================================= General syntax is: <operation>$<variable> <operation> can be put, close, \T <variable> general syntax is: variable[,pos[,length]] (no spacers are allowed like in schema-variable name;) if pos or length are variables, then leading $-character in pos or length must be omitted; "variable or not" is recognized by the first char in the word pos or length; f.e: "\T$dvar" - takes 1 character from current position "\T$dvar,where," - takes 1 character from $where position; "\T$dvar,,2" - takes 2 characters from current position; in other words: pos has precedence before len, and empty parameter invokes defaults, but not $token; ..[r|w]open$variable.file_name - open file_name and name it as "variable" for r - read, w - write, or both ..put$variable[,pos[,length]]."value" - put "value" into file <variable> from position pos; - if none of pos, len parameters is submitted, then "value" is put from the current file cursor position; ..close$variable - close file <variable>; closing removes <variable> name from existing disk variables; closing non-opened variable generates exception with possible text processing termination; ..olen$variable[,assignee] length of open file corresponding to "variable" will be assigned to "assignee" or to token if "assignee" is empty; in string: "....\T$variable[,[pos][,len]]<spacer>.... " - retrieve value of file <variable> from position pos, with length len - if none of parameters pos and len is submitted, then single character from current file cursor position is retrieved; - note: there is no spacer between $variable and first comma; NOTE: 1. <pos> and <len> can be variable names themselves: f.e.: \G$my_file,$pos_x,$len_y ... 2. pos counted from 1; 3. opening already opened disk-valiable with the new file name closes opened file and opens file with the new name; 4. disk-variables have own name space: no intersection with varibles name space; 5. - for disk-variables opened for write (wopen), "no_change_outside_result" is in effect, - option "open" does not have "scope" protection, "open" command must be used with care;