Página 1 de 1
Tecla INS não funciona
Enviado: 27 Mai 2013 15:47
por Vlademiro
Opa, Pessoal
Mais uma vez pedindo a ajuda de vcs
Faz um tempo que não crio nada em clipper/harbour, agora estou criando um sistema (linux/console). Ocorre que a tecla INS não funciona nos formulários. Não sei se é um SET ou uma falha minha.
O operador quer corrigir um erro e acaba apagando os dados.
Alguém já passou por isso ?
Tecla INS não funciona
Enviado: 27 Mai 2013 16:38
por Pablo César
Tente isto:
#include "setcurs.ch"
..//..
SETCURSOR(IF(SET( _SET_INSERT, !SET(_SET_INSERT) ), 1, 3 ))
ou
KSETINS(.T.) // da CT.LIB
Tecla INS não funciona
Enviado: 27 Mai 2013 20:50
por Vlademiro
Tentei a primeira opção e funcionou !!
SETCURSOR(IF(SET( _SET_INSERT, !SET(_SET_INSERT) ), 1, 3 ))
Porém ficou eternamente INS ativado.
Vou testar assim mesmo, acho que vai ficar até melhor.
Muito obrigado :xau
Tecla INS não funciona
Enviado: 27 Mai 2013 23:20
por alxsts
Olá!
O exemplo postado anteriormente define o formato do cursor (underline ou bloco), dependendo do estado da tecla INS.
Para conseguir o resultado que você precisa nos Gets ou MemoEdits de suas telas, o melhor é utilizar a função ReadInsert():
Código: Selecionar todos
Examples
. This example sets the insert mode prior to entering MEMOEDIT()
and resets the mode when MEMOEDIT() terminates:
USE Sales NEW
// Turn on insert mode
lInsMode = READINSERT(.T.)
Sales->Notes := MEMOEDIT(Sales->Notes)
//
// Restore previous insert mode
READINSERT(lInsMode)
Tecla INS não funciona
Enviado: 27 Mai 2013 23:47
por Pablo César
alxsts escreveu:O exemplo postado anteriormente define o formato do cursor (underline ou bloco), dependendo do estado da tecla INS.
Tem razão, Alexandre. Falha na minha primeira indicação, obrigado por esclarecer. Mas o
KSETINS(.T.) // da CT.LIB irá funcionar !
Tecla INS não funciona
Enviado: 28 Mai 2013 00:01
por alxsts
Olá!
Esta função da CT.Lib eu não conheço.
No caso deste tópico, creio que o melhor é usar as duas indicações:
Examples
. This example sets the insert mode prior to entering MEMOEDIT()
and resets the mode when MEMOEDIT() terminates:
Código: Selecionar todos
#include "setcurs.ch"
USE Sales NEW
// Turn on insert mode
lInsMode = READINSERT(.T.)
// mostra o cursor como bloco
nSavCursor := SetCursor( SC_INSERT )
Sales->Notes := MEMOEDIT(Sales->Notes)
//
// Restore previous insert mode
READINSERT(lInsMode)
// Restaura o formato do cursor
SetCursor( nSavCursor )
Editado para colocar a tag Code