Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 23-07-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
pape19,

Cita:
Empezado por pape19
...mostrar en la pantalla principal de mi aplicación un mensaje que vaya corriendo...como los que muestran generalmente los noticieros de TV en la parte inferior...


Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, StrUtils, ExtCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Timer1: TTimer;
    Button3: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Msg, MsgRev, AuxMsg : String;
  PixelsFont, p, Pausa : Integer;

implementation

{$R *.dfm}

function CalculatePixels(F : TFont) : LongWord;
var
   C : TBitmap;
begin
   C := TBitmap.Create;
   C.Canvas.Font.Name := F.Name;
   C.Canvas.Font.Size := F.Size;
   Result := C.Canvas.TextWidth(' ');
   C.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   Edit1.ReadOnly := True;
   Timer1.Enabled := False;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin

   AuxMsg := Edit1.Text;

   if p <= Length(MsgRev) then
      Insert(MsgRev[p],AuxMsg,0)
   else
      Insert(' ',AuxMsg,0);

   Edit1.Text := AuxMsg;

   Inc(p);

   if p = Edit1.Width Div PixelsFont + 1 then
      p := 1;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin

   if Timer1.Enabled then
      Exit;

   Edit1.Font.Name := 'Lucida Console'; // Solo TrueType fonts de tipo Monospaced
   Edit1.Font.Color := clBlue;
   Edit1.Font.Size := 12;

   PixelsFont := CalculatePixels(Edit1.Font);

   Msg := 'Nelson Garcia';
   MsgRev := ReverseString(Msg);

   if Pausa = 0 then
      p := 1
   else
   begin
      p := Pausa;
      Pausa := 0;
   end;

   Timer1.Interval := 150;
   Timer1.Enabled := True;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
   Timer1.Enabled := False;
   Pausa := p;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
   Timer1.Enabled := False;
   Pausa := 0;
   Edit1.Text := EmptyStr;
end;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, implementa un generador de carácteres simple, como se muestra en la siguiente imagen:



Notas:

1- El generador esta basado en TrueType fonts de tipo Monospaced como Lucida Console, Courier New y Lucida Sans Typewriter, si se usan fonts de tipo proporcional el generador funcionara de forma aleatoria.

2- La idea de usar un tipo de letra mono espaciada, es lograr un efecto más fluido en el movimiento de los carácteres.

Espero sea útil

Nelson.
Responder Con Cita
 



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
Mostrar mensajes al pasar el mouse por un label o algun objeto de un form foxer_juan Lazarus, FreePascal, Kylix, etc. 4 01-07-2015 04:00:45
Mostrar Mensajes en las Imagenes kaeltas Gráficos 2 19-01-2009 19:15:11
Mostrar mensajes de depuración en un trigger ciacsl SQL 3 16-06-2008 14:35:34
mostrar o no mostrar un control en un DBCTRLGRID segun la fila gesteban OOP 0 10-11-2005 17:21:11


La franja horaria es GMT +2. Ahora son las 15:01:51.


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