Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   No se como ingresarle un numero a este control (https://www.clubdelphi.com/foros/showthread.php?t=34579)

Gabel 14-08-2006 20:38:32

No se como ingresarle un numero a este control
 
Hola, yo de nuevo con mis dudas (que se cuentan por millones)
Para seguir ejercitando (a la par de la base de datos) queria hacer un programa que simule el loto.
y ete aqui mi primer problema.
Se que puedo mostrar los numeros mediante un control TLabel o TEdit. Pero yo queria presentar esta informacion (numeros) en un circulo, (6 en realidad)
y para esto accedi a un control que si mal no recuerdo (no estoy en mi pc ahora) se llamaba TShape.
La cuestion es que no se como presentar informacion en este control.
De hecho, ni siquiera se si se puede.
Hasta donde vi, este control (TShape) no tiene la propiedad Caption ni text... y bueno, ahi quede estancado.

Se puede o no se puede hacer lo que quiero con este control? :confused:

roman 14-08-2006 21:05:55

Cita:

Empezado por Gabel
Se puede o no se puede hacer lo que quiero con este control? :confused:

No que yo sepa. Pero nada te impide colocar un Label (con fondo transparente) sobre el Shape.

// Saludos

Ñuño Martínez 15-08-2006 12:00:35

También puedes usar (creo) el "canvas" del TShape para dibujar el número.

Gabel 19-08-2006 01:11:51

Cita:

Empezado por roman
No que yo sepa. Pero nada te impide colocar un Label (con fondo transparente) sobre el Shape.
// Saludos

Sos un genio Roman! (como Riquelme!) puse un label, le cambie la propiedad a transparente y anda de maravillas.
Bueno, aprovecho el fin de semana largo (en Argentina) para seguir con mi proyecto.

Gabel 19-08-2006 01:14:14

Cita:

Empezado por Ñuño Martínez
También puedes usar (creo) el "canvas" del TShape para dibujar el número.

Gracias a vos tambien... pero me parece que con canvas voy a liar las cosas.
Estoy tratando de hacer un juego del loto. Que genere las 6 bolillas al azar
(randome mediante) y que me guarde los seis numeros que mas salen.
Como veras, nada original lo mio. Pero es que recien comienzo en esto de la programacion. Mis primeros pasos. Gracias de nuevo.

delphi.com.ar 19-08-2006 01:23:34

Cita:

Empezado por Gabel
Sos un genio Roman! (como Riquelme!)

Noo.. Román ClubDelphi es un genio de verdad :D (Lo rebauticé)

Acá tenés otra opción:
Código Delphi [-]
unit CLabel;

interface

uses
  Classes, StdCtrls, Controls;

type
  TCLabel = class(TCustomLabel)
  protected
    procedure Paint; override;
  public
    constructor Create(AOwner: TComponent); override;
  published
    property Align;
    property Anchors;
    property AutoSize;
    property BiDiMode;
    property Caption;
    property Color nodefault;
    property Constraints;
    property DragCursor;
    property DragKind;
    property DragMode;
    property Enabled;
    property FocusControl;
    property Font;
    property ParentBiDiMode;
    property ParentColor;
    property ParentFont;
    property ParentShowHint;
    property PopupMenu;
    property ShowAccelChar;
    property ShowHint;
    property Transparent;
    property Visible;
    property WordWrap;
    property OnClick;
    property OnContextPopup;
    property OnDblClick;
    property OnDragDrop;
    property OnDragOver;
    property OnEndDock;
    property OnEndDrag;
    property OnMouseDown;
    property OnMouseMove;
    property OnMouseUp;
    property OnMouseEnter;
    property OnMouseLeave;
    property OnStartDock;
    property OnStartDrag;
  end;

implementation

uses
  Graphics;

{ TCLabel }

constructor TCLabel.Create(AOwner: TComponent);
begin
  inherited;
  AutoSize := False;
  Alignment := taCenter;
  Layout := tlCenter;
end;

procedure TCLabel.Paint;
begin
  inherited;
  Canvas.Ellipse(ClientRect); {Modificado el 2208/2006, Orignialmente hacía referencia a BondsRect}
end;

end.

Saludos!

delphi.com.ar 19-08-2006 01:25:27

Cita:

Empezado por Gabel
Estoy tratando de hacer un juego del loto. Que genere las 6 bolillas al azar
(randome mediante) y que me guarde los seis numeros que mas salen.

Haciendo juegos de azar????... ¿Estoy avivando a la competencia? :D

Gabel 24-08-2006 20:59:04

Cita:

Empezado por delphi.com.ar
Noo.. Román ClubDelphi es un genio de verdad :D (Lo rebauticé)

Acá tenés otra opción:

Código Delphi [-]unit CLabel;

interface

uses
Classes, StdCtrls, Controls;

type
TCLabel = class(TCustomLabel)
protected
procedure Paint; override;
public
constructor Create(AOwner: TComponent); override;
published
property Align;
property Anchors;
property AutoSize;
property BiDiMode;
property Caption;
property Color nodefault;
property Constraints;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property FocusControl;
property Font;
property ParentBiDiMode;
property ParentColor;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowAccelChar;
property ShowHint;
property Transparent;
property Visible;
property WordWrap;
property OnClick;
property OnContextPopup;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnMouseEnter;
property OnMouseLeave;
property OnStartDock;
property OnStartDrag;
end;

implementation

uses
Graphics;

{ TCLabel }

constructor TCLabel.Create(AOwner: TComponent);
begin
inherited;
AutoSize := False;
Alignment := taCenter;
Layout := tlCenter;
end;

procedure TCLabel.Paint;
begin
inherited;
Canvas.Ellipse(ClientRect); {Modificado el 2208/2006, Orignialmente hacía referencia a BondsRect}
end;

end.





Saludos!

Emmm que parte de soy un principiante no entendiste ? :D :D :D
Amigo! me asusta todo ese codigo... No, hablando en serio, el 99% del codigo que utilizas es totalmente desconocido para mi, y trato de utilizar codigo que si pueda entender porque la idea, "el gusto" de todo esto es aprender el lenguaje, aprender a programar... y creo que no elegi el leguaje mas "facil", pero bueno, me gustó mucho el Pascal, y Delphi es lo mas parecido a mi querido Pascalito.
Ah! muchas gracias igualmente por querer darme una mano, por escribir todo ese codigo. Y por sobre todo, que bueno tu avatar! Espero que lo honres siendo "El Diego" del Delphi. Nos vemos.

roman 24-08-2006 21:08:48

Puedes quitar un 90% :p

Código Delphi [-]
unit CLabel;

interface

uses
  Classes, StdCtrls, Controls;

type
  TCLabel = class(TLabel)
  protected
    procedure Paint; override;
  public
    constructor Create(AOwner: TComponent); override;
  end;

implementation

uses
  Graphics;

{ TCLabel }

constructor TCLabel.Create(AOwner: TComponent);
begin
  inherited;
  AutoSize := False;
  Alignment := taCenter;
  Layout := tlCenter;
end;

procedure TCLabel.Paint;
begin
  inherited;
  Canvas.Ellipse(ClientRect); {Modificado el 2208/2006, Orignialmente hacía referencia a BondsRect}
end;

end.

Realmente no hay mucho que entender. Lo que estás haciendo es crear una nueva clase de componente que deriva de TLabel (al quitarle Custom de TCustomLabel fue que nos ahorramos el 90% :D). Esta clase redefine el método Paint que es el que se encarga de pintar la componente. En el método redefinido, inherited es la llamada al método anterior, es decir, le dice "pinta el Label como ya sabes", y después de eso usas un método del canvas del componente para pintar la elipse. Todo lo que se dibuja en una componente va sobre su canvas.

Espero que con esto le pierdas el miedo, te dejes de pretextos y no te conformes con "lo sencillito". Dicho lo anterior en buen plan.

// Saludos

jachguate 24-08-2006 22:20:47

Cita:

Empezado por Gabel
Delphi es lo mas parecido a mi querido Pascalito.

Solo aclarar que yo entiendo que Delphi es pascal (concretamente Object Pascal), no simplemente es parecido a él.

Cita:

Empezado por Gabel
Espero que lo honres siendo "El Diego" del Delphi. Nos vemos.

Creeme que Fede ha dado muchas demostraciones aqui de que realmente es un Diego del delphi! :D


La franja horaria es GMT +2. Ahora son las 09:31:53.

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