Gif y MsgRun

Gif y MsgRun

Postby D.Fernandez » Fri Sep 25, 2015 1:57 pm

Amigos: Hay alguna posibilidad de mostrar un gif ( o similar), mientras se haga un proceso con MsgRun().
Algo así como una barrita que en su interior se mueva algo de der. a izq. a der. o un circulo que pase de vacio a lleno .
No es un proceso largo lo que debo hacer pero, me gustaría.

Gracias, saludos

Ruben D. Fernandez
Dario Fernandez
FWH 24.09, Harbour, MVS2022 Community, BCC, MySql & MariaDB, Dbf/Cdx VSCode.
Maldonado - Uruguay
D.Fernandez
 
Posts: 474
Joined: Wed Jul 31, 2013 1:14 pm
Location: Maldonado - Uruguay

Re: Gif y MsgRun

Postby karinha » Fri Sep 25, 2015 2:20 pm

No és mejor un MSGMETER()?

Saludos.
Last edited by karinha on Fri Sep 25, 2015 3:15 pm, edited 1 time in total.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7844
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Gif y MsgRun

Postby FranciscoA » Fri Sep 25, 2015 3:06 pm

Ruben, prueba este codigo.
Code: Select all  Expand view  RUN
Function MsgMeter( bAction, cMsg, cTitle, lBoton )
   local oDlg, oMeter, oText, oBtn, oFont, oIco
   local lEnd := .f., lCancel := .f.
   local nVal := 0
   local oAnimate

   DEFAULT bAction := { || nil },;
           cMsg := "Procesando...", cTitle := "Aguarde por favor",;
           lBoton := .f.

   DEFINE DIALOG oDlg RESOURCE "MSGMETER" TRANSPARENT  
   REDEFINE SAY ID 111 OF oDlg
   REDEFINE SAY oText VAR cMsg ID 110 OF oDlg
   REDEFINE METER oMeter VAR nVal TOTAL 10 ID 130 OF oDlg

 if lBoton
   @  2.8,  18  BUTTON oBtn PROMPT "&Cancel" OF oDlg ;
      ACTION ( lEnd:= .t., lCancel:= .t. ) SIZE 32, 11
 endif

   // This block gets evaluated only the first time the DialogBox is painted !!!
   oDlg:bStart = { || oAnimate:=TGif():New( oDlg, ".\Clip1.gif", 1,oDlg:nLeft() ),;     //Ponle el gif que prefieras
                      Eval( bAction, oMeter, oText, oDlg, @lEnd, oBtn ),;
                      lEnd := .t., oDlg:End() }

   ACTIVATE DIALOG oDlg CENTERED ;
      VALID lEnd
      oAnimate:Stop()
return lCancel
 

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Gif y MsgRun

Postby rubenfernandez01 » Fri Sep 25, 2015 3:21 pm

Francisco muchas gracias. Lo pruebo y comento. Saludos y gracias. No estoy en la oficina ahora.
Ruben D. Fernández

Enviado desde mi SM-G900M mediante Tapatalk
rubenfernandez01
 
Posts: 47
Joined: Sun Sep 20, 2015 1:41 am

Re: Gif y MsgRun

Postby jbrita » Sat Apr 07, 2018 4:20 pm

Ruben y esto te funciono

Saludos
jbrita
 
Posts: 502
Joined: Mon Jan 16, 2006 3:42 pm

Re: Gif y MsgRun

Postby karinha » Mon Apr 09, 2018 2:24 pm

Francisco, falta el archivo .RC con el dialogo: "MSGMETER" gracias

Saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7844
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Gif y MsgRun

Postby juan_arroyo_t » Tue Apr 24, 2018 2:18 pm

Ruben

Quisiera saber si esto te funcionó y si lo pudeiras compartir
Gracias
Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
User avatar
juan_arroyo_t
 
Posts: 196
Joined: Fri May 15, 2009 1:25 am
Location: Cuautitlán, Mexico

Re: Gif y MsgRun

Postby jbrita » Sat Nov 07, 2020 2:13 pm

Hola Francisco... tienes un email.. pra contactarte

saludos
jbrita
 
Posts: 502
Joined: Mon Jan 16, 2006 3:42 pm

Re: Gif y MsgRun

Postby FranciscoA » Sat Nov 07, 2020 2:28 pm

jbrita wrote:Hola Francisco... tienes un email.. pra contactarte

saludos

falegria230349 arroba yahoo.es
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Gif y MsgRun

Postby FranciscoA » Sun Nov 08, 2020 10:26 pm

jbrita.
Codigo enviado. Revisa tu email.
Saludos
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Gif y MsgRun

Postby jbrita » Mon Nov 09, 2020 12:51 am

Muy amable .. Gracias
jbrita
 
Posts: 502
Joined: Mon Jan 16, 2006 3:42 pm

Re: Gif y MsgRun

Postby karinha » Mon Nov 09, 2020 12:44 pm

Francisco, porfa:

kapiabafwh arroba gmail.com

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7844
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Gif y MsgRun

Postby leandro » Mon Nov 09, 2020 2:54 pm

Me uno a la solicitud :oops:
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Gif y MsgRun

Postby albeiroval » Mon Nov 09, 2020 8:54 pm

+1

albeiroval arroba gmail punto com
Saludos,
Regards,

Albeiro Valencia
www.avcsistemas.com
User avatar
albeiroval
 
Posts: 380
Joined: Tue Oct 16, 2007 5:51 pm
Location: Barquisimeto - Venezuela

Re: Gif y MsgRun

Postby FranciscoA » Mon Nov 09, 2020 10:22 pm

Hola amigos.
Aqui les dejo el codigo de ejemplo.
Es el mismo que hace algún tiempo posteé aquí, viewtopic.php?f=6&t=27967&hilit=tgif#p156161
con algunos cambios leves, sobre todo referente a la function TGif().

Code: Select all  Expand view  RUN
#include "fivewin.ch"
#include "Gif.ch"

Function GifDlgFromRes()
  local aAlias := {"MCONTAB","MCONMOV"}
  local aIndices := {"INDICE1","INDICE2","INDICE3","INDICE4","INDICE5","INDICE6","INDICE7"}
  local n

  For n:=1 to len(aAlias)
     DBUSEAREA(.T.,, aAlias[n], aAlias[n], .F. )
  Next

  ReIndx(aAlias, aIndices)
Return nil

//---------------------------------------------------------------------
Function ReIndx(aAlias, aIndices)
local oDlg, oAnimate, oMeter1, oMeter2, oSay1, oSay2, oSay3
local lEnd:=.f.
local n:=0, nMonto1:=0, nMonto2:=0
local nProg,nProg2

   DEFINE DIALOG oDlg RESOURCE "CopyFiles" TRANSPARENT COLOR CLR_BLACK, CLR_WHITE ;
          TITLE "Creando ficheros indices (Reindexando)"

   REDEFINE SAY oSay1 ID 110 OF oDlg
   REDEFINE SAY oSay2 ID 120 OF oDlg
   REDEFINE SAY oSay3 ID 140 OF oDlg

   REDEFINE METEREX oMeter1 VAR nProg ID 130 TOTAL 50 ROUND  ; // ROUNDSIZE 6 //;
            GRADIENT TRACK { { 1/2, nRGB( 198, 203, 213 ), nRGB( 219, 224, 233 ) },;   //fondo
                              { 1/2, nRGB( 224, 238, 237 ), nRGB( 224, 238, 237 ) } } ;
            LINECOLORS nRGB( 110, 151,204 ), CLR_WHITE  //Borde

    REDEFINE METEREX oMeter2 VAR nProg2 ID 150 TOTAL 50 ;
             GRADIENT CHUNK { { 1/2, nRGB( 255, 251, 229 ), nRGB( 250, 223, 143 ) } , ;
                              { 1/2, nRGB( 244, 194,  51 ), nRGB( 252, 235, 173 ) } } ;
             GRADIENT TRACK { { 1/2, nRGB( 198, 203, 213 ), nRGB( 219, 224, 233 ) },;   //fondo
                              { 1/2, nRGB( 224, 238, 237 ), nRGB( 224, 238, 237 ) } } ;
             LINECOLORS nRGB( 110, 151,204 ), CLR_WHITE  //borde

   oMeter2:nTotal = LEN(aIndices)
   nTotAvance:=0
   nFactorAv:= 100/len(aIndices)

  oDlg:bStart := { || oAnimate:=TGif():New( oDlg, ".\avion7.gif", 14,20,64,64,,.t.),;
                      Reindexa( aAlias, oSay1, oSay2, oSay3, oMeter1, oMeter2, @lEnd, oDlg, oAnimate ) }

   ACTIVATE DIALOG oDlg CENTERED

   for n:=1 to len(aAlias)
      (aAlias[n])->(DBCloseArea())
   next
   for n:=1 to len(aIndices)     // Borramos porque solo es un ejemplo
      Ferase( ".\" + aIndices[n] + ".ntx" )
   next

   SysRefresh()
Return NIL

//---------------------------------------------------------------------------
Function Reindexa( aAlias, oSay1, oSay2, oSay3, oMeter1, oMeter2, lEnd, oDlg, oAnimate )
local n:=0
local nInicia:=Seconds(),nFinaliza:=0

   oMeter2:Set( 0 )

For n := 1 to Len( aAlias )
  IF ! File( aAlias[ n ]+"
.dbf" )
       MsgInfo( "
Fichero no encontrado: " + aAlias[ n ], "Advertencia" )
       loop
  ELSE

     DBSELECTAREA( aAlias[n] )

    oSay1:SetText( "
Base de Datos Actual: " + upper(aAlias[n]) )

    If UPPER( aAlias[n] )="
MCONTAB"
       IntegIndx( oSay2,oMeter1,oMeter2,oSay3,"
mcontab->codicont","INDICE1" )
       IntegIndx( oSay2,oMeter1,oMeter2,oSay3,"
mcontab->nombre","INDICE2" )

    ElseIf UPPER( aAlias[n] )="
MCONMOV"
       IntegIndx( oSay2,oMeter1,oMeter2,oSay3,"
MCONMOV->NUMDOC","INDICE3" )
       IntegIndx( oSay2,oMeter1,oMeter2,oSay3,"
MCONMOV->CODICONT","INDICE4" )
       IntegIndx( oSay2,oMeter1,oMeter2,oSay3,"
MCONMOV->FECHEMIS","INDICE5" )
       IntegIndx( oSay2,oMeter1,oMeter2,oSay3,"
MCONMOV->TD+STR(NUMDOC)","INDICE6" )
       IntegIndx( oSay2,oMeter1,oMeter2,oSay3,"
MCONMOV->NOMBRE","INDICE7" )
    Endif
 ENDIF
Next

  nFinaliza:= (Seconds()-nInicia)/60
  SysRefresh()

  oAnimate:Stop()

  MsgInfo("
Reindexación completada." + "  Tiempo (Minutos): "+alltrim(str(nFinaliza)),,2)

  oDlg:End()
RETURN NIL

//----------------------------------------------------------------
Function IntegIndx( oSay2,oMeter1,oMeter2,oSay3,Campos,cNombIndice )
local nVar, nStep, nTotal

   oSay2:SetText( "
Integrando Indice " + cNombIndice )

   nTotal := LastRec()
   nStep := 1   // Max( Int( nTotal * .02 ), 1 ) // actualizar el meter cada 2% del progreso es mas rapido que por cada registro
   nVar := 0
   oMeter1:nTotal = nTotal
   oMeter1:Set( 0 )

   nTotAvance+=1

   INDEX ON &(Campos) TO &(cNombIndice);
   EVAL {|| oMeter1:Set( nVar += nStep ) , SysRefresh(), .t. } EVERY nStep

   oMeter1:Set( nTotal )
   oMeter2:Set( nTotAvance )
   oSay3:SetText( "
Indices creados: "+Transform(nTotAvance,"99,999,999") )
Return nil
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 73 guests