tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
|
|
@ -0,0 +1,52 @@
|
|||
FUNCTION RLDecode (i AS STRING) AS STRING
|
||||
DIM Loop0 AS LONG, rCount AS STRING, outP AS STRING, m AS STRING
|
||||
|
||||
FOR Loop0 = 1 TO LEN(i)
|
||||
m = MID$(i, Loop0, 1)
|
||||
SELECT CASE m
|
||||
CASE "0" TO "9"
|
||||
rCount = rCount & m
|
||||
CASE ELSE
|
||||
IF LEN(rCount) THEN
|
||||
outP = outP & STRING$(VAL(rCount), m)
|
||||
rCount=""
|
||||
ELSE
|
||||
outP = outP & m
|
||||
END IF
|
||||
END SELECT
|
||||
NEXT
|
||||
FUNCTION = outP
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION RLEncode (i AS STRING) AS STRING
|
||||
DIM tmp1 AS STRING, tmp2 AS STRING, outP AS STRING
|
||||
DIM Loop0 AS LONG, rCount AS LONG
|
||||
|
||||
tmp1 = MID$(i, 1, 1)
|
||||
tmp2 = tmp1
|
||||
rCount = 1
|
||||
|
||||
FOR Loop0 = 2 TO LEN(i)
|
||||
tmp1 = MID$(i, Loop0, 1)
|
||||
IF tmp1 <> tmp2 THEN
|
||||
outP = outP & TRIM$(STR$(rCount)) & tmp2
|
||||
tmp2 = tmp1
|
||||
rCount = 1
|
||||
ELSE
|
||||
INCR rCount
|
||||
END IF
|
||||
NEXT
|
||||
|
||||
outP = outP & TRIM$(STR$(rCount))
|
||||
outP = outP & tmp2
|
||||
FUNCTION = outP
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION PBMAIN () AS LONG
|
||||
DIM initial AS STRING, encoded AS STRING, decoded AS STRING
|
||||
initial = INPUTBOX$("Type something.")
|
||||
encoded = RLEncode(initial)
|
||||
decoded = RLDecode(encoded)
|
||||
'in PB/Win, "?" = MSGBOX; in PB/DOS & PB/CC. "?" = PRINT
|
||||
? initial & $CRLF & encoded & $CRLF & decoded
|
||||
END FUNCTION
|
||||
Loading…
Add table
Add a link
Reference in a new issue