L’interface de VDS Renaissance est disponible en plusieurs langues. La documentation officielle est maintenue en anglais afin de garantir une référence unique, cohérente et toujours à jour.

@BINFILE

Windows Linux macOS

Syntax

@BINFILE(EOF,<file_id>)

@BINFILE(POS,<file_id>)

@BINFILE(SIZE,<file_id>)

@BINFILE(READ,<file_id>,TEXT|BINARY|HEX,<value>)

Description

[VDS6] This command has been superseded by new file input and output functions.

This function is used when reading and writing binary disk files. The options are:

@BINFILE(EOF,...) test if <file_id> is at the end of the file
@BINFILE(POS,...) obtain the current position of file <file_id>
@BINFILE(SIZE,...) return the size of file <file_id>
@BINFILE(READ,...) read <value> bytes from file <file_id>, returning them in the format specified

where <file_id> may be a number in the range 1 to 4.

If the third parameter of @BINFILE(READ,...) is TEXT then all non-printable characters (including CR/LF) are converted to periods. If it is BINARY then the function returns a series of values separated by the character specified using the command OPTION FIELDSEP. This is the character '|' by default. If HEX then the data is returned as a string of two digit hex numbers each separated by a single space.

OK

Set to false if a problem occurred during a file operation.

Example

list create,1
%S = 0
binfile seek,1,%S
while @not(@binfile(EOF,1))
  %D = @binfile(read,1,HEX,16)
  binfile seek,1,%S
  %T = @binfile(read,1,TEXT,16)
  if @greater(48,@len(%D))
    repeat
      %D = %D" "
    until @equal(@len(%D),48)
  end
  list add,1,@hex(%S,8)@tab()%D@tab()%T
  %S = @sum(%S,16)
wend

See also