Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-05-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
sac,

Cita:
Empezado por sac
...crear un procedure donde le pueda asignar propiedades Name, Color, Size y Style a una fuente...


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

interface

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

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Edit1: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure ChangeFont(F : TFont; Name : String; Color : TColor; Size : Byte; Style : TFontStyles);
begin
   F.Name := Name;
   F.Color := Color;
   F.Size := Size;
   F.Style := Style;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
   S : String;

begin

   S := 'Ejemplo de cambio de propiedades de un Font';

   Label1.Caption := S;
   Edit1.Text := S;
   Memo1.Lines.Add(S)

end;

procedure TForm1.Button1Click(Sender: TObject);
var
   FontName : String;
   FontColor : TColor;
   FontSize : Byte;
   FontStyle : TFontStyles;

begin

   FontName := 'Arial';;
   FontColor := clNavy;
   FontSize := 12;
   FontStyle := [];

   ChangeFont(Label1.Font, FontName, FontColor, FontSize, FontStyle);
   ChangeFont(Edit1.Font, FontName, FontColor, FontSize, FontStyle);
   ChangeFont(Memo1.Font, FontName, FontColor, FontSize, FontStyle);

end;

procedure TForm1.Button2Click(Sender: TObject);
var
   FontName : String;
   FontColor : TColor;
   FontSize : Byte;
   FontStyle : TFontStyles;

begin

   FontName := 'Arial Rounded MT';
   FontColor := clGreen;
   FontSize := 10;
   FontStyle := [fsBold];

   ChangeFont(Label1.Font, FontName, FontColor, FontSize, FontStyle);
   ChangeFont(Edit1.Font, FontName, FontColor, FontSize, FontStyle);
   ChangeFont(Memo1.Font, FontName, FontColor, FontSize, FontStyle);

end;

procedure TForm1.Button3Click(Sender: TObject);
var
   FontName : String;
   FontColor : TColor;
   FontSize : Byte;
   FontStyle : TFontStyles;

begin

   FontName := 'Elephant';
   FontColor := clBlue;
   FontSize := 10;
   FontStyle := [fsItalic, fsUnderline];

   ChangeFont(Label1.Font, FontName, FontColor, FontSize, FontStyle);
   ChangeFont(Edit1.Font, FontName, FontColor, FontSize, FontStyle);
   ChangeFont(Memo1.Font, FontName, FontColor, FontSize, FontStyle);

end;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, Permite modificar selectivamente las propiedades de un TFont, como se muestra en la siguiente imagen:



Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 29-05-2015 a las 20:28:52.
Responder Con Cita
  #2  
Antiguo 29-05-2015
sac sac is offline
Miembro
 
Registrado: abr 2007
Posts: 109
Poder: 20
sac Va por buen camino
Gracias...

Muchas gracias por la respuesta... Probando
Responder Con Cita
  #3  
Antiguo 29-05-2015
sac sac is offline
Miembro
 
Registrado: abr 2007
Posts: 109
Poder: 20
sac Va por buen camino
Pregunto...

Pregunto... No se puede crear una variable de tipo TFont donde se cargue una sola vez las propiedades que te dije antes y que desde el programa haga referencia cambiando como por ejemplo :

Declarar
FuenteElegida:Tfont
y después algo así: fuente elegida.Name := 'Tahoma', Size, color , style etc.

y después, desde el programa ppal. una linea tipo memo1.lines.font:= fuenteElegida...

Algo así se podrá?
Responder Con Cita
  #4  
Antiguo 29-05-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
sac,

Cita:
Empezado por sac
...No se puede crear una variable de tipo TFont donde se cargue una sola vez las propiedades...


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

interface

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

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Edit1: TEdit;
    Memo1: TMemo;
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  FontBase : TFont;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
   S : String;

begin

   S := 'Ejemplo de cambio de propiedades de un Font';

   Label1.Caption := S;
   Edit1.Text := S;
   Memo1.Lines.Add(S);

   FontBase := TFont.Create;

   FontBase.Name := 'Tahoma';
   FontBase.Color := clBlue;
   FontBase.Size := 11;
   FontBase.Style := [fsBold, fsItalic, fsUnderline];

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   Label1.Font := FontBase;
   Edit1.Font := FontBase;
   Memo1.Font := FontBase;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   Action := caFree;
   FontBase.Free;
end;

end.
El código anterior en Delphi 7 sobre Windows 7 Professional x32, Permite modificar las propiedades de un TFont por medio de otro TFont, como se muestra en la siguiente imagen:



Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 29-05-2015 a las 20:25:58.
Responder Con Cita
  #5  
Antiguo 29-05-2015
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
nlsgarcia, OJO con el asignar a TFont a otro.
En tu último ejemplo, si no me falla los conceptos, cualquier posterior modificación de FontBase afectará al TFont de Label1, Edit1, Memo1 ya que en realidad cuando se hace Objeto.Font := OtroFont se está apuntándo a éste.

Asi que habrá que tener cuidado de lo que se hace.

Si se quiere copiar el contenido de un Font a otro puede usarse AsingTo()

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #6  
Antiguo 30-05-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Delphius.

Al tratar con apuntadores es totalmente correcta tu apreciación, como queda claro en este ejemplo:
Código Delphi [-]
var
  f1, f2: TFont;
begin
  f1 := TFont.Create;
  f2 := TFont.Create;

  f2 := f1;   // (*) f2.Assign(f1) 
  f1.Free;

  f2.Color := clRed;  // ¡ Error, f2 no es un apuntador válido !
Lo correcto sería usar el método Assign (*), que copia las propiedades a la otra instancia de TFont.

Pero para el código anterior:
Código Delphi [-]
   Label1.Font := FontBase;
   Edit1.Font := FontBase;
   Memo1.Font := FontBase;
  ...
Font , que estos componentes heredan de TControl, está definida como una propiedad:
Código Delphi [-]
  TControl = class(TComponent)
  ...
    property Font: TFont read FFont write SetFont stored IsFontStored;
  ...
  end;
...
procedure TControl.SetFont(Value: TFont);
begin
  FFont.Assign(Value);  
end;
por lo que en el caso anterior, no se trataría de una asignación de punteros.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 30-05-2015 a las 13:46:45. Razón: sintáxis
Responder Con Cita
  #7  
Antiguo 30-05-2015
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.679
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Algo tan simple y, sin embargo, muy instructivo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
agregar fonts Celta Varios 3 14-03-2011 23:34:19
Fonts en mi Aplicación Ledian_Fdez Varios 1 07-05-2010 01:16:24
como cambio propiedades de la impresora omy Impresión 3 12-01-2009 18:13:57
como crear fonts para windows? Citlalli Varios 1 24-11-2006 02:30:48
InstallShield + instalar fonts miguelb Varios 1 16-07-2003 06:32:21


La franja horaria es GMT +2. Ahora son las 17:15:44.


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