Altera uma sequencia de bits de uma string para 1.
Sintaxe
StuffBit( < @cStr >, < nStart >, < nTest >, < nLength > )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|---|---|---|---|
cStr | caractere | Indica a string que será modificada. | X | X |
nStart | numérico | Indica o índice do bit inicial. | X | |
nTest | numérico | Indica a quantidade de bits que serão colocados em 1. | X | |
nLength | numérico | Indica o índice do último byte que será modificado. | X |
Observações
- nStart inicia em 1.
- nLength inicia em 0.
- Caso seja passado 0 em nStart e nTest for maior do que a quantidade de bits indicada por nLength ( (nLength + 1) * 8 ), a quantidade de bits que serão alteradas para 1 será nTest - 1.
- Caso seja passado um valor menor do que 0 em nStart, a aplicação AdvPL é interrompida com a exceção "Start Bit out of bounds on StuffBit".
- Caso seja passado um valor menor do que 0 em nTest, a aplicação AdvPL é interrompida com a exceção "Test Bit out of bounds on StuffBit".
- Caso seja passado um valor menor do que 0 em nLength, a aplicação AdvPL é interrompida com a exceção "Length Bit out of bounds on StuffBit".
- Caso o tamanho da string passada em cStr seja menor do que o valor passado em nLength, a aplicação AdvPL é interrompida com a exceção "Bit string out of bounds on StuffBit".
Exemplos
Exemplo 1
User Function tstStuff() Local cStr := "", cRet := "" Local nStart := 0, nTest := 0, nLen := 0 cStr := chr( 0 ) + chr( 0 ) + chr( 0 ) + chr( 0 ) nStart := 5 nTest := 8 nLen := Len( cStr ) - 1 StuffBit( @cStr, nStart, nTest, nLen ) //será exibida a string "00001111111100000000000000000000" conout( bitstrdump( cStr ) ) return STATIC Function BitStrDump( cString, nStart, nLength ) Local cStrDump := '', cAsc := '' Local nTamStr := len( cString ), nI := 0 DEFAULT nStart := 1 DEFAULT nLength := nTamStr cString := SubStr( cString, nStart, nLength ) For nI := 1 to nTamStr cASC := SubStr( cString, nI, 1 ) cStrDump += NToC( Asc( cASC ), 2, 8, "0" ) Next nI Return cStrDump
Veja também
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas