Setar RadioGroup para Nil
Moderador: Moderadores
- mbrigatti
- Usuário Nível 2

- Mensagens: 68
- Registrado em: 16 Set 2005 08:13
- Localização: Piracicaba - SP
Setar RadioGroup para Nil
Pessoal,
Alguém ai sabe se é possível setar em tempo de execução o valor de um Radiogroup para NIL ?
Tem como ?
Saudações,
Marcelo Brigatti
IES - Informática e Sistemas
Alguém ai sabe se é possível setar em tempo de execução o valor de um Radiogroup para NIL ?
Tem como ?
Saudações,
Marcelo Brigatti
IES - Informática e Sistemas
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: Setar RadioGroup para Nil
Marcelo, acho que não tem como fazer isto sem alterar a função _SETVALUE() da MiniGui, pois quando você tenta alterar o valor do RadioGroup, para 0 (zero) ou Nulo, a função _SETVALUE() tenta encontrar o valor correspondente dentro da matriz de opções, ai como 0 ou Nulo nao existe na matriz vai retornar um erro de array access.
O jeito seria alterar a função _SETVALUE() e verificar se o valor passado é 0 (zero). Se for zero, então não deixa a função procurar este valor na matriz, evitando assim o erro.
A função _SETVALUE() está dentro do arquivo H_CONTROLMISC.PRG que está na pasta \SOURCE da MiniGui. Dentro da função _SETVALUE() procure por RADIOGROUP e altere o seu código para:
Atenção: eu não testei, então por segurança antes de compilar faça uma cópia da sua MINIGUI.LIB e do arquivo H_CONTROLMISC.PRG.
Depois para fazer um teste, basta tentar alterar o valor do RadioGroup:
Form_1.Radio_1.Value := 0
Abraços,
O jeito seria alterar a função _SETVALUE() e verificar se o valor passado é 0 (zero). Se for zero, então não deixa a função procurar este valor na matriz, evitando assim o erro.
A função _SETVALUE() está dentro do arquivo H_CONTROLMISC.PRG que está na pasta \SOURCE da MiniGui. Dentro da função _SETVALUE() procure por RADIOGROUP e altere o seu código para:
Código: Selecionar todos
case T == "RADIOGROUP"
for x = 1 to len (c)
SendMessage( c[x] , BM_SETCHECK , BST_UNCHECKED , 0 )
next x
if value <> 0
SendMessage( c[value] , BM_SETCHECK , BST_CHECKED , 0 )
if _HMG_SYSDATA [ 25 ] [ix] == .F. .and. IsTabStop( c[value] )
SetTabStop( c[value] , .f. )
endif
endifDepois para fazer um teste, basta tentar alterar o valor do RadioGroup:
Form_1.Radio_1.Value := 0
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- mbrigatti
- Usuário Nível 2

- Mensagens: 68
- Registrado em: 16 Set 2005 08:13
- Localização: Piracicaba - SP
Re: Setar RadioGroup para Nil
Toledo,
Somente agora fui testar sua idéia e, DEU CERTO ! :)Pos
Muito obrigado, vou passar a sugestão para o Filatov.
Saudações,
Marcelo Brigatti
IES - Informática e Sistemas
Somente agora fui testar sua idéia e, DEU CERTO ! :)Pos
Muito obrigado, vou passar a sugestão para o Filatov.
Saudações,
Marcelo Brigatti
IES - Informática e Sistemas
- mbrigatti
- Usuário Nível 2

- Mensagens: 68
- Registrado em: 16 Set 2005 08:13
- Localização: Piracicaba - SP
Re: Setar RadioGroup para Nil
Toledo,
Só para finalizar, corrigi a sugestão para:
Saudações,
Marcelo Brigatti
--------------------------
Nota de Moderação: a mensagem foi editada para colocar a tag [ code ] no exemplo acima.
Só para finalizar, corrigi a sugestão para:
Código: Selecionar todos
case T == "RADIOGROUP"
for x = 1 to len (c)
SendMessage( c[x] , BM_SETCHECK , BST_UNCHECKED , 0 )
next x
If !empty( value ) // alterado aqui
if value <> 0
SendMessage( c[value] , BM_SETCHECK , BST_CHECKED , 0 )
if _HMG_aControlPicture [ix] == .F. .and. IsTabStop( c[value] ) // alterado aqui
SetTabStop( c[value] , .f. )
endif
endif
endifMarcelo Brigatti
--------------------------
Nota de Moderação: a mensagem foi editada para colocar a tag [ code ] no exemplo acima.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Re: Setar RadioGroup para Nil
Espero que os senhores entendam e separe no forum as bibliotecas novamente, pois o tópico Setar RadioGruop...
Esta se referindo a qual LIB ?
Como irei advinhar que ele usa Minigui ?
Saudações
Itamar M. Lins Jr.
Esta se referindo a qual LIB ?
Como irei advinhar que ele usa Minigui ?
Saudações
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- mbrigatti
- Usuário Nível 2

- Mensagens: 68
- Registrado em: 16 Set 2005 08:13
- Localização: Piracicaba - SP
Re: Setar RadioGroup para Nil
O Itamar, se acalma ai, eu tinha postado no fórum da minigui, não tinha visto ainda que mudou a estrutura, mas não se ofenda, próxima vez já vi que tem um tópico MINIGUI, postarei lá daqui em diante.
Saudações,
Marcelo Brigatti
Saudações,
Marcelo Brigatti
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Re: Setar RadioGroup para Nil
Não é isso não que vc esta pensando.
Não me referi ao seu post. Estou me referindo a atitude de juntar todas as Libs em um lugar só.
Nada pessoal a nenhum dos senhores.
Saudações
Itamar M. Lins Jr.
Não me referi ao seu post. Estou me referindo a atitude de juntar todas as Libs em um lugar só.
Nada pessoal a nenhum dos senhores.
Saudações
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Re: Setar RadioGroup para Nil
Basta o OP indicar qual biblioteca está usando. Simples.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- mbrigatti
- Usuário Nível 2

- Mensagens: 68
- Registrado em: 16 Set 2005 08:13
- Localização: Piracicaba - SP
Re: Setar RadioGroup para Nil
Toledo e demais que acompanharam o post,
O Filatov acatou a sugestão e já disponibilizou-a no build 1.5.57c (beta) da Minigui Extended
Encerrando Tópico
Saudações,
Marcelo Brigatti
O Filatov acatou a sugestão e já disponibilizou-a no build 1.5.57c (beta) da Minigui Extended
Encerrando Tópico
Saudações,
Marcelo Brigatti
-
WALDYR SKUYA
- Usuário Nível 1

- Mensagens: 18
- Registrado em: 28 Jul 2010 23:33
- Localização: SÃO PAULO/SP
Setar RadioGroup para Nil
Boa noite amigos!
Peço a ajuda dos amigos no sentido de saber se a mudança indicada pelo Toledo poderia ser feita também na função _SETVALUE() da HMG Oficial, do Roberto Lopes?
Grato,
Waldyr Skuya
São Paulo - SP
Peço a ajuda dos amigos no sentido de saber se a mudança indicada pelo Toledo poderia ser feita também na função _SETVALUE() da HMG Oficial, do Roberto Lopes?
Grato,
Waldyr Skuya
São Paulo - SP
