
Editar texto em uma janela na tela.
MEMOEDIT (<exp.C>, <exp.N1>, <exp.N2>, <exp.N3>, <exp.N4>, <exp.L>)
|
<exp.C> |
representa o nome de uma variável com o texto para edição. |
|
<exp.N1>,<exp.N2> |
representam as coordenadas do canto superior esquerdo da janela. |
|
<exp.N3>,<exp.N4> |
representam as coordenadas do canto inferior direito da janela. |
|
<exp.L> |
representa uma expressão lógica. Se for verdadeira (.T.), permitirá a apresentação e a edição do texto. Se for falsa (.F.), permitirá apenas a exibição do texto. |
Retorna uma cadeia de caracteres correspondente ao texto editado.
Quando a edição é terminada com {CTRL+W}, retorna a cadeia de caracteres modificada. Quando a edição é terminada com {ESC}, retorna a cadeia de caracteres original.
Quando <exp.L> for verdadeira, MEMOEDIT() entra automaticamente em modo de edição. Caso contrário, MEMOEDIT() entra em modo de exibição, e somente as teclas de navegação no texto são validadas.
MEMOEDIT() permite acentuação do texto ou a utilização de textos escritos em outros editores, para isto basta utilizar as funções MEMOREAD() e MEMOWRIT().
Útil para substituir o comando EDIT, pois permite abrir uma janela para editar o texto, ao invés de invocar um editor.
No momento da exibição/edição do texto as seguintes teclas são utilizadas para navegação dentro da janela do texto.
|
{SPC} | {CTRL+E} è |
Move o cursor para cima. |
|
{SPB} | {CTRL+X} è |
Move o cursor para baixo. |
|
{SPE} | {CTRL+S} è |
Move o cursor para esquerda. |
|
{SPD} | {CTRL+D} è |
Move o cursor para direita. |
|
{HOME} | {CTRL+A} è |
Move o cursor para o início da linha. |
|
{END} | {CTRL+F} è |
Move o cursor para o fim da linha. |
|
{PgUp} | {CTRL+R} è |
Move uma janela para cima. |
|
{PgDw} | {CTRL+C} è |
Move uma janela para baixo. |
|
{DEL} | {CTRL+G} è |
Elimina o caracter sob o cursor. |
|
{INS} | {CTRL+V} è |
Liga ou desliga modo de inserção. |
|
{ESC} | {CTRL+]} è |
Abandona edição não gravando. |
|
{CTRL+W} è |
Finaliza edição gravando. |
|
{CTRL+Y} è |
Elimina linha sob o cursor. |
|
{CTRL+Z} è |
Posiciona o cursor no último caracter do texto. |
|
{CTRL+T} è |
Elimina palavra a direita do cursor. |
|
{RETURN} | {CTRL+M}è |
Passa para a próxima linha. |
|
{BSPACE} | {CTRL+H}è |
Elimina o caracter a esquerda do cursor. |
O exemplo a seguir mostra-nos a utilização desta função para editar uma variável de memória.
PRIVATE var_text(500)
* Permite a exibição edição do texto
var_text = MEMOEDIT (var_text,01,01,10,10,.T.)
* Permite somente a exibição do texto
var_text = MEMOEDIT (var_text,01,01,10,10,.F.)
O exemplo a seguir mostra-nos como editar um arquivo do diretório corrente.
PRIVATE var_text(500)
* Lê arq_texto e coloca seu conteúdo em var_text
var_log = MEMOREAD ("arq_texto",var_text)
* Permite a exibição e edição do texto
var_text = MEMOEDIT (var_text,01,01,10,10,.T.)
* Permite somente a exibição do texto
var_text = MEMOEDIT (var_text,01,01,10,10,.F.)
* Grava arq_texto com o conteúdo de var_text
var_log = MEMOWRIT ("arq_texto", var_text)
O exemplo a seguir mostra-nos como editar um arquivo relacionado a um registro do banco de dados.
DATABASE bdemp1 33 a 2
USE tab_func
FIND 123 && Lê o registro do funcionário 123
PRIVATE var_text(500)
var_log = MEMOGET (cur_func, var_text)
* Permite a exibição e edição do texto
var_text = MEMOEDIT (var_text,01,01,10,10,.T.)
var_log = MEMOPUT(cur_func, var_text)
MEMOLINE(), MEMOREAD(), MEMOWRITE(), MLCOUNT(), MEMOSEEK() e MEMOSAVE().
