Строчка из банка
Срочно нужна была такая функция, вот накарябал быстренько, может кому и понадобится
Код:
Global Bank_ReadLine_EndPos
;sample
bank = CreateBank(16)
PokeByte bank,0,Asc("L")
PokeByte bank,1,Asc("O")
PokeByte bank,2,Asc("L")
PokeByte bank,3,Asc("!")
PokeByte bank,4,13
PokeByte bank,5,10
PokeByte bank,6,Asc("O")
PokeByte bank,7,Asc("L")
PokeByte bank,8,Asc("O")
PokeByte bank,9,Asc("L")
PokeByte bank,10,Asc("O")
PokeByte bank,11,13
PokeByte bank,12,Asc("D")
PokeByte bank,13,Asc("I")
PokeByte bank,14,Asc("C")
PokeByte bank,15,Asc("K")
Print Bank_ReadLine(bank,0)
Print Bank_ReadLine(bank,Bank_ReadLine_EndPos)
Print Bank_ReadLine(bank,Bank_ReadLine_EndPos)
WaitKey
End
;/sample
Function Bank_ReadLine$(bank,start)
Local tmp_r$,tmp_s
Bank_ReadLine_EndPos = start
While 666
If Bank_ReadLine_EndPos > BankSize(bank)-1 Then Exit
tmp_s = PeekByte(bank,Bank_ReadLine_EndPos)
If tmp_s = 13 Then
If PeekByte(bank,Bank_ReadLine_EndPos+1) = 10 Then Bank_ReadLine_EndPos = Bank_ReadLine_EndPos + 1
Exit
End If
tmp_r = tmp_r + Chr(tmp_s)
Bank_ReadLine_EndPos = Bank_ReadLine_EndPos + 1
Wend
Bank_ReadLine_EndPos = Bank_ReadLine_EndPos + 1
Return tmp_r
End Function
|