Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!

MEMOEDIT()

Propósito

Editar texto em uma janela na tela.

Sintaxe

MEMOEDIT (<exp.C>, <exp.N1>, <exp.N2>, <exp.N3>, <exp.N4>, <exp.L>)

Argumentos

<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.

Utilização

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.

Exemplos

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)

Consulte

$LEN,$LENTMP,MEMODEL(),MEMOEDIT(), MEMOFILE(), MEMOGET(), MEMOLINE() MEMOPUT(), MEMOREAD(), MLCOUNT(), MEMOSEEK, MEMOSAVE e SPACE().

Anterior Sumário Próximo OpenBASE! o Banco de Dados inteligente. Fale conosco!