Tentei sua solução, alxsts, mas não consegui compilar. Depois de incluir a chamada ao HB_MEMIO no começo, nos requests o Harbour diz que:
.hbmk/win/mingw/sudoku.o:sudoku.c:(.data+0x4c8): undefined reference to `HB_FUN_HB_MEMIO'
collect2: ld returned 1 exit status
Verifiquei e realmente não há, na minha versão, o arquivo "HB_MEMIO". Mas há os seguintes arquivos com nomes parecidos, ambos na pasta "C:\hb32\lib\win\mingw":
"libhbmemio.a"
"libhbmemio.dll.a"
Já na pasta "C:\h32\contrib\hbmemio" há:
"hbmemio.hbc"
"hbmemio.hbx"
e em "C:\hb32\bin" há hbmemio-32.dll.
O fato é que o arquivo "mem", com zero bytes, continua lá...
Gozado é que os outros requests que faço,
REQUEST HB_LANG_PT
REQUEST HB_CODEPAGE_PT850
...bem, não há nenhum arquivo com esses nomes sob "C:\hb32", mas as funções estão uma beleza: por exemplo, o que escrevo e leio com memoedit() está certinho.
Também estranho o número de parâmetros para dbcreate(). É como foi, para mim, iniciante, uma descoberta saber que a inkey() no Harbour aceita mais de um parâmetro, além do tempo de aguardo... Saberia dizer onde há algum manual ou referência a essa - e outras - funções?