Append value to memory?
Posted: Fri Feb 04, 2011 8:40 pm
Is there any way to "append" a value or a string to the memory, and reading them later out?
I'm looking for this for ages...
I have made a work-around for what I exactly mean, using a string as buffer:
I hope you guys know what I mean, my english is not so good so it's hard to explain.
Thanks in advance!
I'm looking for this for ages...
I have made a work-around for what I exactly mean, using a string as buffer:
Code: Select all
Global ReadPos = 1
Global Buffer$ = ""
;===
;WRITING FUNCTIONS
;===
Procedure WriteBufferSmall(Value) ;// MAX VALUE OF 99
Buffer$ + RSet(Str(Value),2,"0")
EndProcedure
Procedure WriteBufferMedium(Value) ;// MAX VALUE OF 9999
Buffer$ + RSet(Str(Value),4,"0")
EndProcedure
Procedure WriteBufferLarge(Value) ;// MAX VALUE OF 99999999
Buffer$ + RSet(Str(Value),8,"0")
EndProcedure
Procedure WriteBufferString(String$) ;// MAX STRING LENGTH OF 9999
Protected Length
Length = Len(String$)
WriteBufferMedium(Length)
Buffer$ + String$
EndProcedure
;===
;READING FUNCTIONS
;===
Procedure ReadBufferSmall()
Protected RetVal
RetVal = Val(Mid(Buffer$,ReadPos,2))
ReadPos + 2
ProcedureReturn RetVal
EndProcedure
Procedure ReadBufferMedium()
Protected RetVal
RetVal = Val(Mid(Buffer$,ReadPos,4))
ReadPos + 4
ProcedureReturn RetVal
EndProcedure
Procedure ReadBufferLarge()
Protected RetVal
RetVal = Val(Mid(Buffer$,ReadPos,8))
ReadPos + 8
ProcedureReturn RetVal
EndProcedure
Procedure.s ReadBufferString()
Protected Length, RetVal$
Length = ReadBufferMedium()
RetVal$ = Mid(Buffer$,ReadPos,Length)
ReadPos + Length
ProcedureReturn RetVal$
EndProcedure
;===
;CLEARING THE BUFFER
;===
Procedure ClearBuffer()
ReadPos = 1
Buffer$ = ""
EndProcedure
;===
;SIMPLE TEST
;===
WriteBufferSmall(12)
WriteBufferString("TEST STRING")
WriteBufferLarge(12345678)
WriteBufferMedium(1234)
Debug ReadBufferSmall() ;//-> 12
Debug ReadBufferString() ;//-> TEST STRING
Debug ReadBufferLarge() ;//-> 12345678
Debug ReadBufferMedium() ;//-> 1234
Debug "----------"
Debug "BUFFER: "+Buffer$
ClearBuffer()
Thanks in advance!