Difference between revisions of "LOC"

From QB64 Wiki
Jump to navigation Jump to search
imported>Zom-B
(COM -> OPEN_COM)
imported>Clippy
m
Line 3: Line 3:
  
  
::::''Syntax:'' bytes% = LOC(open_number)
+
{{PageSyntax}}
 +
:: bytes% = LOC(open_number)
  
  
Line 13: Line 14:
  
 
''Example:'' Reading and writing from a COM port opened in Basic.
 
''Example:'' Reading and writing from a COM port opened in Basic.
{{CodeStart}}
+
{{CodeStart}} '' ''
'' ''
 
 
{{Cl|OPEN}} "{{Cl|OPEN_COM|COM}}1: 9600,N,8,1,OP0" {{Cl|FOR (file statement)|FOR}} {{Cl|RANDOM}} {{Cl|AS}} #1 {{Cl|LEN}} = 2048 ' random mode = input and output
 
{{Cl|OPEN}} "{{Cl|OPEN_COM|COM}}1: 9600,N,8,1,OP0" {{Cl|FOR (file statement)|FOR}} {{Cl|RANDOM}} {{Cl|AS}} #1 {{Cl|LEN}} = 2048 ' random mode = input and output
 
   {{Cl|DO}}: t$ = {{Cl|INKEY$}} ' get any transmit keypresses from user
 
   {{Cl|DO}}: t$ = {{Cl|INKEY$}} ' get any transmit keypresses from user
Line 24: Line 24:
 
     {{Cl|END IF}}     
 
     {{Cl|END IF}}     
 
   {{Cl|LOOP}} {{Cl|UNTIL}} t$ = {{Cl|CHR$}}(27) 'escape key exit
 
   {{Cl|LOOP}} {{Cl|UNTIL}} t$ = {{Cl|CHR$}}(27) 'escape key exit
{{Cl|CLOSE}} #
+
{{Cl|CLOSE}} # '' ''
''
 
 
{{CodeEnd}}
 
{{CodeEnd}}
 
  
  
 
''See also:''  
 
''See also:''  
 
 
* [[PRINT]], [[OPEN COM]], [[PRINT (file statement)]]
 
* [[PRINT]], [[OPEN COM]], [[PRINT (file statement)]]
 
  
  
 
{{PageNavigation}}
 
{{PageNavigation}}

Revision as of 23:06, 9 May 2011

The LOC function returns the status of a Serial(COM) port receive buffer or current position in a file.


Syntax

bytes% = LOC(open_number)


  • The parameter used is the number used in the port OPEN AS statement.
  • Returns 0 if the buffer is empty. Any value above 0 indicates COM has received data.
  • Use it in conjunction with INPUT$ to get the data bytes received.
  • Can also be used for the current position in a file routine. See: SEEK


Example: Reading and writing from a COM port opened in Basic.

OPEN "COM1: 9600,N,8,1,OP0" FOR RANDOM AS #1 LEN = 2048 ' random mode = input and output DO: t$ = INKEY$ ' get any transmit keypresses from user IF LEN(t$) THEN PRINT #1, t$ ' send keyboard byte to transmit buffer bytes% = LOC(1) ' bytes in buffer IF bytes% THEN ' check receive buffer for data" r$ = INPUT$(bytes%, 1) ' get bytes in the receive buffer PRINT r$; ' print byte strings consecutively to screen" END IF LOOP UNTIL t$ = CHR$(27) 'escape key exit CLOSE #


See also:



Navigation:
Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page