INPUT$( #h, n )

INPUT$(#handle, items)

Description:

This permits the retrieval of a specified number of items from an open file or device using #handle. If #handle does not refer to an open file or device then an error will be reported. It can also be used to read a character at a time from the mainwindow (see example below).

Usage:

  'read and display a file one character at a time
  open "c:\autoexec.bat" for input as #1

[loop]
  if eof(#1) <> 0 then [quit]
  print input$(#1, 1);
  goto [loop]

[quit]
  close #1
  end

For most devices (unlike disk files), one item does not refer a single character, but INPUT$( ) may return items more than one character in length. In most cases, use of INPUT #handle, varName works just as well or better for reading devices.

Here is another example which shows reading keypresses in the mainwindow.

  'accept characters and display them until Enter is pressed
  text$ = ""
  while c$ <> chr$(13)
    c$ = input$(1)
    print c$;
    if c$ <> chr$(13) then text$ = text$ + c$
  wend
  print "You typed:"; text$
  end

File input directly to an array.

Previous versions of Liberty BASIC required you to input to a variable, then filll an array with the variable. Now you can input from a file directly into an array. Example:

  'input from a file, directly into an array
  open "myfile.txt" for input as #handle
  while EOF(#handle)=0
    input #handle, array$(total)
    total=total+1
  wend
  close #handle
  for i = 0 to total
    print array$(i)
  next i

See also INPUTTO$(#h, c$), Line Input, Input