Senhores,
Gostaria de saber se é possível "habilitar" ou "simular" o que a tecla "Insert" faz, por exemplo:
Ten um texto padrão.
NOME: DATA:
e gostaria de digitar o nome e não mover o texto "DATA" pra frente.
É possível ?
Tecla "Insert" no campo texto
-
- Rank: Estagiário Pleno
- Mensagens: 3
- Registrado em: Sex, 30 Set 2005 12:26 am
- Localização: SP
- dr_gori
- Moderador
- Mensagens: 5013
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Pelo que eu entendi, você quer sobrescrever o texto. (se está escrito CARRO, e você digita a letra B, vai ficar BARRO, certo ?)
Se é isso, não tem como fazer no Forms. (não tem uma propriedade pra isso e o Forms não tem trigger que dispara quando é digitado um caracter)
Se é isso, não tem como fazer no Forms. (não tem uma propriedade pra isso e o Forms não tem trigger que dispara quando é digitado um caracter)

-
- Rank: Estagiário Pleno
- Mensagens: 3
- Registrado em: Sex, 30 Set 2005 12:26 am
- Localização: SP
Era exatamente issso
- leobbg
- Rank: Programador Júnior
- Mensagens: 22
- Registrado em: Sex, 29 Out 2004 10:25 am
- Localização: PORTO ALEGRE - RS
Leo BBG Consultor Oracle
Na verdade eu fiz essa rotina para validar as teclas digitadas, e como exemplo coloquei as letras : "C" e "L", essas quando informadas em um campo, são retiradas e exibem um alerta de erro, mas acredito que alterando um pouco o código consiga um resultado parecido com o que quer.
olha só..
WHEN-TIMER-EXPIRED
WHEN-NEW-FORM-INSTANCE
PACKAGE
valeus!! e abraço . 
olha só..
WHEN-TIMER-EXPIRED
begin
--
pck_key.valida_timer;
--
end;
begin
-----------------------------------------------------
-- Seta o nome do timer e o item no qual deve ser
-- feita as validações de caracteres.
-----------------------------------------------------
pck_key.set_variaveis( 'ValidaKey', 'bloco.item' );
-----------------------------------------------------
-- Restringe o uso dos seguintes caracteres.
-----------------------------------------------------
pck_key.set_caracter( 'C' );
pck_key.set_caracter( 'L' );
--
end;
package pck_key is
--
vg_timer varchar2(255);
vg_item varchar2(255);
--
type vrecord is record ( caracter varchar2(1) );
type vtable is table of vrecord index by binary_integer;
--
vtab vtable;
--
procedure set_variaveis( pNomeTimer in varchar2
, pNomeItem in varchar2 );
procedure set_caracter( pcaracter in varchar2 );
--
procedure limpa_caracteres;
--
procedure valida_timer;
procedure chama_timer;
--
end;
package body pck_key is
/*************************************************************************/
/********** Procedimento SET_VARIAVEIS **********/
/*************************************************************************/
procedure set_variaveis( pNomeTimer in varchar2
, pNomeItem in varchar2 ) is
begin
--
vg_timer := upper( pNomeTimer );
vg_item := upper( pNomeItem );
--
end;
/*************************************************************************/
/********** Procedimento SET_CARACTER **********/
/*************************************************************************/
procedure set_caracter( pcaracter in varchar2 ) is
begin
--
vtab( nvl( vtab.last, 0 ) + 1 ).caracter := pcaracter;
--
end;
/*************************************************************************/
/********** Procedimento LIMPA_CARACTERES **********/
/*************************************************************************/
procedure limpa_caracteres is
begin
--
if vtab.exists(1) then
vtab.delete;
end if;
--
end;
/*************************************************************************/
/********** Procedimento VALIDA_TIMER **********/
/*************************************************************************/
procedure valida_timer is
--
vitem_corrente varchar2(255) := name_in( 'system.cursor_item' );
vtimer_corrente varchar2(255) := upper( get_application_property( timer_name ) );
--
begin
--
if name_in( vg_item ) is not null and vitem_corrente = vg_item then
--
if ( vtimer_corrente = vg_timer ) then
--
if vtab.exists(1) then
--
for i in vtab.first .. vtab.last
loop
--
if instr( name_in( vg_item ), vtab(i).caracter ) > 0 then
--
msg_alert( 'Tecla "' || vtab(i).caracter || '" inválida. Operação cancelada.', 'E', false );
copy( replace( name_in( vg_item ), vtab(i).caracter, '' ), vg_item );
--
end if;
--
end loop;
--
end if;
--
end if;
--
end if;
--
end;
/*************************************************************************/
/********** Procedimento CHAMA_TIMER **********/
/*************************************************************************/
procedure chama_timer is
--
vtimer timer;
--
begin
--
vtimer := find_timer( vg_timer );
--
if id_Null( vtimer ) then
--
vtimer := create_timer( vg_timer, 100, repeat );
--
end if;
--
end;
--
end;

-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes