Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-12-2023
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
Icono de progreso del Emule

Hola, buenas, espero no haberme equivocado mucho de foro

Cuando el Emule está descargando cosas, su icono en la barra de tareas muestra un gráfico, a modo de Progressbar, de las descargas globales. ¿Cómo se consigue ese efecto tan llamativo? Me gustaría implementarlo en el programa que estoy haciendo, si está a mi alcance.
Responder Con Cita
  #2  
Antiguo 20-12-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
En Torry's Delphi hay varias que a lo mejor te sirven.
Responder Con Cita
  #3  
Antiguo 21-12-2023
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Wellnic Ver Mensaje

Cuando el Emule está descargando cosas, su icono en la barra de tareas muestra un gráfico, a modo de Progressbar, de las descargas globales. ¿Cómo se consigue ese efecto tan llamativo? Me gustaría implementarlo en el programa que estoy haciendo, si está a mi alcance.
¿Te refieres al icono junto al reloj, o al propio botón de la aplicación?

El primero debes programarlo utilizando el componente TTrayIcon que viene con Delphi, o si tienes versiones antiguas, con alguno externo, como te ha comentado [Casimiro] antes.
Aquí en la wiki de embarcadero tienes código de ejemplo de cómo utilizarlo.

El segundo está explicado aquí.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 21-12-2023
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
Me refería al botón, al acceso directo del Emule en la barra de tareas,
que se pone en "modo Progressbar" cuando está descargando:



El área verde vertical va cubriendo el icono reflejando el porcentaje de
descargas.

Y... bueno, hace unos días se me puso entre ceja y ceja incluir de algún
modo esta funcionalidad en mi programa...
__________________
Programando habitualmente con Lazarus
Responder Con Cita
  #5  
Antiguo 22-12-2023
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Coloca en el formulario un componente TTaskbar.
Con código como este, puedes conseguir el efecto que necesitas:


Código Delphi [-]
  Taskbar1.ProgressMaxValue := ProgressBar1.Max;
  Taskbar1.ProgressState := TTaskBarProgressState.Normal;

  for var i:integer := 0 to 99 do begin
    ProgressBar1.Position := i;
    Taskbar1.ProgressValue := i;
    Sleep(60);
    Application.ProcessMessages;
  end;

En un Windows 10 se ve así:


En un Windows 11, así:
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 27-12-2023 a las 08:51:18.
Responder Con Cita
  #6  
Antiguo 22-12-2023
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
Thumbs up

(Queda más guay en Windows 10 ... Creo que voy a dejar Windows 11 para otro momento )

Me parece que Lazarus, el entorno en el que suelo programar, carece de ese componente (o no
he conseguido encontrarlo). En todo caso, voy a seguirle la pista al TTaskbar, a ver a donde me lleva .

Gracias
__________________
Programando habitualmente con Lazarus

Última edición por Wellnic fecha: 22-12-2023 a las 20:56:47.
Responder Con Cita
  #7  
Antiguo 23-12-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Con las RX puedes poner el icono animado, por lo que sería posible también.
Responder Con Cita
  #8  
Antiguo 23-12-2023
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
¿Las RX se pueden instalar en Lazarus? Creía que no.
__________________
Programando habitualmente con Lazarus
Responder Con Cita
  #9  
Antiguo 23-12-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sí, además están online, no tienes que buscarlas ni nada, te vas a "Paquetes->Instalar/desinstalar paquetes" y ahí están.
Esta es la versión Linux, que es la que utilizo.

Responder Con Cita
  #10  
Antiguo 24-12-2023
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
Exclamation

Me he descargado las RX para Lazarus desde la página de Neftali, pero no compila (dice que faltan
paquetes). Supongo que tendré que instalar la versión más reciente de Lazarus (ahora tengo la 2.0.10).

(¿O están disponibles solo para Linux?)
__________________
Programando habitualmente con Lazarus
Responder Con Cita
  #11  
Antiguo 24-12-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ya he comentado antes que no tienes que descargar nada, sólo seguir los pasos que te he indicado, se instalan solas y sus dependencias.
Responder Con Cita
  #12  
Antiguo 24-12-2023
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
Es verdad... Es que pensaba que te referías al propio Linux...
__________________
Programando habitualmente con Lazarus
Responder Con Cita
  #13  
Antiguo 24-12-2023
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
Pues va a ser que en las RX no está esa funcionalidad que buscaba. En todo caso...

Felices fiestas
__________________
Programando habitualmente con Lazarus
Responder Con Cita
  #14  
Antiguo 24-12-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por Wellnic Ver Mensaje
Pues va a ser que en las RX no está esa funcionalidad que buscaba. En todo caso...
Felices fiestas

No, eso no lo tiene, lo que decía es que se le puede poner iconos animados, por lo que se podría crear uno que simulara lo que quieres.
Felices fiestas
Responder Con Cita
  #15  
Antiguo 27-12-2023
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
Pues al final he dado con la manera de poner el icono en modo ProgressBar
Dejo aquí el programita que acabo de hacer a salto de mata para hacerme
con su funcionamiento, por si alguien más estuviera interesado.

Código Delphi [-]
unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls,
  Win32TaskbarProgress;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Timer1: TTimer;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private

  public

  end;

var
  Form1: TForm1;
  c: integer=0;
  td: integer=7851;

implementation

{$R *.lfm}

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
GlobalTaskbarProgress:= TWin7TaskProgressBar.Create;
GlobalTaskbarProgress.Max:= 99;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
C:= (c+ 1) Mod td; Label1.Caption:=IntToStr(c);
GlobalTaskbarProgress.Progress:= Round(99*(c/td));//como el monstruito solo sabe contar hasta 99 hay
                                                  //que procesarle un poco los datos de entrada
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:= not(Timer1.Enabled);
end;

end.
__________________
Programando habitualmente con Lazarus

Última edición por Casimiro Notevi fecha: 27-12-2023 a las 12:04:22. Razón: Poner etiquetas [delphi] [/delphi] al código.
Responder Con Cita
  #16  
Antiguo 02-01-2024
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.234
Poder: 20
ElKurgan Va camino a la fama
Thumbs up

Gracias por compartir la solución y feliz 2024 a todos

Saludos
Responder Con Cita
  #17  
Antiguo 04-01-2024
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Poder: 18
Wellnic Va por buen camino
Cita:
Empezado por ElKurgan Ver Mensaje
Gracias por compartir la solución y feliz 2024 a todos

Saludos
Aclarar que GlobalTaskbarProgress.Max sí acepta el límite máximo de lo que se quiere medir.
Y GlobalTaskbarProgress.Progress acepta todos los valores intermedios. No es necesaria la
formulita, Round(99*(c/td)), que me saqué alegremente de la manga
__________________
Programando habitualmente con Lazarus
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Emule Vivi Varios 11 15-03-2007 15:29:16
Mostrar progreso de descarga de IndyFTP con barra de progreso devicer Internet 2 05-12-2005 14:59:32
eDonkey - emule es el nuevo rey del P2P Sasuke_Cub Noticias 0 30-08-2005 18:14:25
Migrar Emule a C Builder tolomeo C++ Builder 2 26-11-2004 14:36:29
EMule rastafarey Linux 0 06-07-2004 21:53:03


La franja horaria es GMT +2. Ahora son las 16:00:50.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi