Page 1 of 1

scrool de texto en ventana o dialogo

Posted: Fri Dec 22, 2017 6:20 pm
by wilsongamboa
Compañeros buenas tardes
alguien ha desarrollado un control o ha resuelto de alguna forma que se vaya mostrando un texto como hacen los instaladores de los programas en windows, no se si me explico se van mostrando texto y se va haciendo scroll automatico
Si alguien lo ha hecho muchas gracias si comparte codigo

saludos cordiales

Wilson

Re: scrool de texto en ventana o dialogo

Posted: Fri Dec 22, 2017 10:24 pm
by Xevi
Yo, que acabo de empezar con FW, me he hecho un LogDebuger para ir enviando "señales", valores de variables, alertas sin que la aplicación se detenga... y lo hago con un GET...MEMO

La idea es tener una ventana "flotante" a la cual se le pueda mandar cualquier valor y lo muestre sin detener la aplicación.

Este es el código que a mi me está funcionando y que puedes coger como pauta...

Code: Select all

#include "FiveWin.ch"

Static oDlg, nContador

//------------------------------------------------------------------------//

FUNCTION LogDebug( xValor )
   Local oGet, cVar := "", nAscan

   If (nAscan := AScan( GetAllWin(), {|o| o:ClassName() == "TDIALOG" .and. o:Cargo = "LogDebug" } )) = 0
      nContador := 0  //Solo crear la ventana 1 unica vez

      DEFINE DIALOG oDlg FROM 0,0 TO 600, 280 ;
             TITLE "LogDebugFW" PIXEL

      @ 0,0 GET oGet VAR cVar MEMO SIZE 140, 300 PIXEL OF oDlg

      oDlg:Cargo := "LogDebug"

      ACTIVATE DIALOG oDlg NOWAIT
   EndIf

   //Convertir xValor en tipo caracter para poder mostrar
   if xValor = Nil                //Nul
      xValor := "Nil"
   elseif ValType(xValor) = "N"   //Numero
      xValor := LTrim(Str(xValor))
   elseif ValType(xValor) = "D"   //Data
      xValor := DToC(xValor)
   elseif ValType(xValor) = "L"   //Logic
      xValor := If( xValor, ".T.", ".F." )
   elseif ValType(xValor) = "A"   //Array... Habria que mostrar los valores del array, pero de momento me vale
      xValor := "{...}"
   elseif ValType(xValor) = "O"   //Object
      xValor := xValor:ClassName()
   endif

   //Añado en la ventana FWDebug una linea más mostrando TODAS las anteriores + xValor
   WITH OBJECT oDlg:aControls[1]
   :VarPut( :VarGet() + CRLF + "#"+ AllTrim(Str(++nContador)) +"  "+ xValor   )
   :Refresh()
   :GoBottom()
   END

RETURN Nil
 

Re: scrool de texto en ventana o dialogo

Posted: Fri Dec 22, 2017 11:27 pm
by wilsongamboa
Xevi muchas gracias por el código se le ve interesante
ya lo reviso
saludos cordiales

Wilson