Clipper On Line • Ver Tópico - Equivalente da função ALERT()

Equivalente da função ALERT()

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Equivalente da função ALERT()

Mensagempor Mario Mesquita » 05 Set 2014 14:56

Boa tarde, pessoal!

Qual a função no HMG à velha função ALERT do Clipper?

Estou tentando abrir um box de mensagem com opções configuradas por mim, mas ao que vejo tudo é pré-definido como "Sim, Não", "Ok, Cancel", etc.

Não tem mesmo nada que faça o que o ALERT fazia??

Desde já, obrigado.

Sds,
Mario.
Avatar de usuário

Mario Mesquita
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 557
Data de registro: 08 Dez 2009 12:47
Cidade/Estado: Rio de Janeiro
Curtiu: 73 vezes
Mens.Curtidas: 13 vezes

Equivalente da função ALERT()

Mensagempor Toledo » 05 Set 2014 16:32

Olá Mário, na MiniGui Extended veja os seguintes demos na pasta \SAMPLES:

\SAMPLES\BASIC\MsgEdit

\SAMPLES\BASIC\MsgMenu

Na primeira pasta (MsgEdit) procure por MsgOptions(), que é baseado no antigo Alert().

Na HMG Oficial, não encontrei nenhum exemplo na pasta \SAMPLES, mas acho que a função MsgOptions() deve funcionar em HMG.

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 de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Equivalente da função ALERT()

Mensagempor Pablo César » 05 Set 2014 19:25

Toledo escreveu:Na HMG Oficial, não encontrei nenhum exemplo na pasta \SAMPLES, mas acho que a função MsgOptions() deve funcionar em HMG
Não funciona sem ter que adaptar.

Só pra constar. Existem a seguintes opções de MSGxxx em HMG:

MsgYesNo( Message , Title , RevertDefault )
MsgRetryCancel( Message , Title )
MsgOkCancel( Message , Title )
MsgInfo( Message , Title )
MsgStop( Message , Title )
MsgExclamation ( Message , Title )
MsgBox( Message , Title )
MsgDebug(xVal)
MsgDebugTitle ( Title )
MsgDebugType ( nTypeIconButton )
MsgDebugTimeOut ( nMilliseconds )
MsgDebugUnicode(xVal)
MsgHMGError(Message)
MsgInfoUnicode (Message, Title)

No STRU (seção de Downloads) tem o fonte que contém a função MyAlert( cMessage, cTitle, nRow, cColor, aItems, lCentrar ).
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar de usuário

Pablo César
Usuário Nível 7

Usuário Nível 7
 
Mensagens: 5312
Data de registro: 31 Mai 2006 10:22
Cidade/Estado: Curitiba - Paraná
Curtiu: 142 vezes
Mens.Curtidas: 152 vezes

Equivalente da função ALERT()

Mensagempor Mario Mesquita » 03 Out 2014 13:40

Boa tarde a todos!

Decidi fazer uma pequena função que reproduz o ALERT(). Ficou razoável e pra quem achar legal, aí está.

// Função genérica que substitui o ALERT() do Clipper //

FUNCTION MSGALERT( xTit, ;  // Titulo da Janela
                   xMsg, ;  // Mensagem
                   vOpc  )  // Vetor com Opções

LOCAL xSaida := 0, ;
      xAltR  := 0, ;
      xAltF  := 0, ;
      xLarg  := 0

xTit := IIF(xTit == NIL, "Atenção!",          xTit)
xMsg := IIF(xMsg == NIL, "Escolha uma Opção", xMsg)

xAltR := ( 30 * LEN(vOpc) )
xAltF := 130 + ( 20 * LEN(vOpc) )

xLarg := LEN(xTit)
xLarg := IIF( LEN(xMsg) > xLarg, LEN(xMsg), xLarg )

FOR k = 1 TO LEN(vOpc)
    xLarg := IIF( LEN(vOpc[k]) > xLarg, LEN(vOpc[k]), xLarg )
NEXT

xLarg := (xLarg * 7)

DEFINE WINDOW Frm_Alerta  ;
      AT 0,0         ;
      WIDTH  xLarg   ;
      HEIGHT xAltF   ;
      TITLE  xTit    ;
      MODAL          ;
           NOSYSMENU      ;
      FONT "Arial"   ;
           SIZE 10

       @ 10,00 LABEL Label_1            ;
                    WIDTH xLarg - 10    ;
               HEIGHT 20           ;
                    VALUE xMsg          ;
                    FONT "Arial"        ;
               BOLD                ;
               ITALIC              ;
               FONTCOLOR {255,0,0} ;
               SIZE 10             ;
               CENTERALIGN

       @ 40,10 RADIOGROUP Radio_1                                     ;
                              OPTIONS vOpc                                      ;
               VALUE 1                                           ;
               WIDTH 510                                         ;
               SPACING 20                                        ;
                       ON CHANGE {||xSaida := frm_alerta.radio_1.value } ; 
                       FONT "Arial"                                      ;
               SIZE 10                                           ;
               BOLD                                              ;
               ITALIC

       @ (xAltR+20),(xLarg/2)-50 BUTTON Button_1 ;
                       CAPTION "OK"    ;
             WIDTH  100      ;
             HEIGHT 25       ;
             BOLD            ;
             ACTION {|| IIF(xSaida > 0, Frm_Alerta.Release, MSGINFO("Selecione uma opção")) }
END WINDOW

Frm_Alerta.Radio_1.SetFocus
Frm_Alerta.Center
Frm_Alerta.Activate

RETURN xSaida
******

Pode ficar mais incrementada, mas pra mim já quebra o galho.

Sds,
Mario.
Avatar de usuário

Mario Mesquita
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 557
Data de registro: 08 Dez 2009 12:47
Cidade/Estado: Rio de Janeiro
Curtiu: 73 vezes
Mens.Curtidas: 13 vezes

Equivalente da função ALERT()

Mensagempor Mario Mesquita » 03 Out 2014 13:42

O código ficou estranho em algumas partes, desculepm.

Deve ser algo do editor de programas.

Sds.
Avatar de usuário

Mario Mesquita
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 557
Data de registro: 08 Dez 2009 12:47
Cidade/Estado: Rio de Janeiro
Curtiu: 73 vezes
Mens.Curtidas: 13 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 6 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro