mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-07-26 06:15:52 +00:00
Added new _STRCMP and _STRICMP commands for quick string comparisons. Cleaned up QB64 to finish removing the QUI (quick user insert) code and folders. Altered UCASE and LCASE routines to be faster in some situations for us.
34 lines
1.4 KiB
Plaintext
34 lines
1.4 KiB
Plaintext
The '''LOC''' function returns the status of a Serial(COM) port receive buffer or the current byte position in a file.
|
|
|
|
|
|
|
|
{{PageSyntax}}
|
|
:: 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.
|
|
{{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|DO}}: t$ = {{Cl|INKEY$}} ' get any transmit keypresses from user
|
|
{{Cl|IF}} {{Cl|LEN}}(t$) {{Cl|THEN}} {{Cl|PRINT (file statement)|PRINT}} #1, t$ ' send keyboard byte to transmit buffer
|
|
bytes% = {{Cl|LOC}}(1) ' bytes in buffer
|
|
{{Cl|IF}} bytes% {{Cl|THEN}} ' check receive buffer for data"
|
|
r$ = {{Cl|INPUT$}}(bytes%, 1) ' get bytes in the receive buffer
|
|
{{Cl|PRINT}} r$; ' print byte strings consecutively to screen"
|
|
{{Cl|END IF}}
|
|
{{Cl|LOOP}} {{Cl|UNTIL}} t$ = {{Cl|CHR$}}(27) 'escape key exit
|
|
{{Cl|CLOSE}} # '' ''
|
|
{{CodeEnd}}
|
|
|
|
|
|
''See also:''
|
|
* [[PRINT]], [[OPEN COM]], [[PRINT (file statement)]]
|
|
|
|
|
|
{{PageNavigation}} |