FRead/FWrite
Leitura/escrita binaria via handle obtido por FOpen. Buffer obrigatorio passado por referencia em FRead.
Assinatura: FRead(nHandle, @cBuffer, nBytes) // FWrite(nHandle, cBuffer, [nBytes])
Retorna: Numeric (bytes processados)
Dupla complementar de FOpen pra IO baixo nivel.
Leitura
nHandle := FOpen(cArq, 0)
cBuffer := Space(1024)
nLido := FRead(nHandle, @cBuffer, 1024)
// cBuffer agora contem os bytes lidos (passado por @referencia)
FClose(nHandle)
Escrita
nHandle := FCreate(cArq) // ou FOpen modo 1
cConteudo := "Linha 1" + CHR(13) + CHR(10)
FWrite(nHandle, cConteudo)
FClose(nHandle)
Pegadinhas
- FRead exige @ (referencia) — sem o @, buffer nao recebe nada.
- Buffer precisa ter o tamanho — use
Space(N)antes. - Retorno menor que pedido indica fim do arquivo.
- Quebra de linha — em Windows precisa CRLF (CHR(13)+CHR(10)).
- FCreate e FOpen modo 1 sao similares mas FCreate sempre cria do zero.