ReadChrAt$
String$ = ReadChrAt$(ChannelIndex, FilePosition, Length)
 
Parameters:

    ChannelIndex = Index of the file channel to read from
    FilePosition = The position within the file to read
    Length = The number of the characters to read
Returns:

    String$ = The string that was read
 

      The ReadChrAt$ function will read a string characters from any position within an open file channel. If the length parameter is set to zero, ratehr than the character length to read, then the command expects this string to be zero terminated.




FACTS:


      * Reading none sequential pieces of data can be slow
      * ReadChrAt$ only works with files opened with ReadFile
      * ReadChrAt$ lets you randomly access any piece of data within the file.




Mini Tutorial:


      This example creates a file and reads the with some various bits of data store in it, then read it's back again using the random access file commands.


  
; Create a file name
  File$=TempDir$()+"PB_TestFile.txt"
  
; Get a Free File Channel Index
  MyFile=GetFreeFile()
  
; CReate a File for writing data to
  WriteFile File$,MyFile
  
; Write some Byte data at a byte pos 100
  WriteByteAt 1,100,255
  
; Write some Word data at a byte pos 200
  WriteWordAt 1,200,64000
  
; Write some Integer data at a byte pos 300
  WriteIntAt 1,300,111222
  
; Write some Float data at a byte pos 400
  WriteFloatAt 1,400,123.456
  
; Write some Stringt data at a byte pos 500
  WriteStringAt 1,500,"Play Basic"
  
; Write some Stringt data at a byte pos 600
  WriteChrAt 1,600,"Hello World",11
  
  
; Close this file channel
  CloseFile MyFile
  
  
  Print "============================"
  Print "Reading File Data:"+File$
  Print "============================"
  
; Get a Free File Channel Index
  MyFile=GetFreeFile()
  
; Open a file to READ with READFILE
  ReadFile File$,MyFile
  
; Read and display byte from position 100 in this file
  Print ReadByteAt(myFile,100)
  
; Read and display the Word from position 200 in this file
  Print ReadWordAt(myFile,200)
  
; Read and display the Integer from position 300 in this file
  Print ReadIntAt(myFile,300)
  
; Read and display the Float from position 400 in this file
  Print ReadFloatAt(myFile,400)
  
; Read and display the String from position 500 in this file
  Print ReadStringAt$(myFile,500)
  
; Read and display the String from position 600 in this file
  Print ReadChrAt$(myFile,600,11)
  
  
; Close this file channel
  CloseFile MyFile
  
; Display the Size of the FIle
  Print "============================"
  Print "File Size:"+Str$(FileSize(file$))
  Print "============================"
  
  If FileExist(file$) Then DeleteFile file$
  
; Display the screen and wait for a key press
  Sync
  WaitKey
  



This example would output.

  
  ============================
  Reading File:C:Windows\temp\Pb_TestFile.txt
  ============================
  255
  64000
  111222
  123.456
  Play Basic
  Hello World
  ============================
  File Size:611
  ============================
  

 
Related Info: CloseFile | ReadFile | WriteFile :
 


(c) Copyright 2002 - 2024 - Kevin Picone - PlayBASIC.com