Setar RadioGroup para Nil

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
mbrigatti
Usuário Nível 2
Usuário Nível 2
Mensagens: 68
Registrado em: 16 Set 2005 08:13
Localização: Piracicaba - SP

Setar RadioGroup para Nil

Mensagem por mbrigatti »

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
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Re: Setar RadioGroup para Nil

Mensagem por Toledo »

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:

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
 endif
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,
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
Avatar do usuário
mbrigatti
Usuário Nível 2
Usuário Nível 2
Mensagens: 68
Registrado em: 16 Set 2005 08:13
Localização: Piracicaba - SP

Re: Setar RadioGroup para Nil

Mensagem por mbrigatti »

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
Avatar do usuário
mbrigatti
Usuário Nível 2
Usuário Nível 2
Mensagens: 68
Registrado em: 16 Set 2005 08:13
Localização: Piracicaba - SP

Re: Setar RadioGroup para Nil

Mensagem por mbrigatti »

Toledo,

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
       endif
Saudações,
Marcelo Brigatti

--------------------------
Nota de Moderação: a mensagem foi editada para colocar a tag [ code ] no exemplo acima.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Setar RadioGroup para Nil

Mensagem por Itamar M. Lins Jr. »

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.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
mbrigatti
Usuário Nível 2
Usuário Nível 2
Mensagens: 68
Registrado em: 16 Set 2005 08:13
Localização: Piracicaba - SP

Re: Setar RadioGroup para Nil

Mensagem por mbrigatti »

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
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Re: Setar RadioGroup para Nil

Mensagem por Itamar M. Lins Jr. »

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.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Setar RadioGroup para Nil

Mensagem por Maligno »

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!
Avatar do usuário
mbrigatti
Usuário Nível 2
Usuário Nível 2
Mensagens: 68
Registrado em: 16 Set 2005 08:13
Localização: Piracicaba - SP

Re: Setar RadioGroup para Nil

Mensagem por mbrigatti »

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
WALDYR SKUYA
Usuário Nível 1
Usuário Nível 1
Mensagens: 18
Registrado em: 28 Jul 2010 23:33
Localização: SÃO PAULO/SP

Setar RadioGroup para Nil

Mensagem por WALDYR SKUYA »

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
Responder