Показать сообщение отдельно
Старый 13.09.2010, 22:37   #1
DeeJex
Разработчик
 
Аватар для DeeJex
 
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений
(для 329 пользователей)
Строчка из банка

Срочно нужна была такая функция, вот накарябал быстренько, может кому и понадобится
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
(Offline)
 
Ответить с цитированием