Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   sobre letras... alfabeto (https://www.clubdelphi.com/foros/showthread.php?t=42990)

mjjj 27-04-2007 18:21:37

sobre letras... alfabeto
 
hola amigos.... quiero hacer lo siguiente....

En un TEdit tengo la letra A, luego de cierto evento, necesito que aparezca la letra B, luego de otro evento la letra C, y asi sucesivamente por todo el alfabeto

Existe un codigo onda de poner next y me tire la la siguiente letra del alfabeto??


espero me puedan ayudar

gracias

Neftali [Germán.Estévez] 27-04-2007 18:40:06

Puedes poner un botón al lado del Edit con esto en el OnClick:

Código Delphi [-]
var
  ch:Char;
begin
  Ch := Edit1.Text[1];
  Edit1.TExt := Succ(ch);


Se omiten comprobaciones...

dec 27-04-2007 18:50:01

1 Archivos Adjunto(s)
Hola,

Probablemente con lo que aporta el compañero Neftalí baste, pero, en fin, ya lo había hecho...

Código Delphi [-]
unit UAbecedario;

interface

type
  TAbecedario = class(TObject)
  private
    FLetras: string;
    FPosicion: byte;
  public
    constructor Create();
    function Actual(): char;
    function Anterior(): char;
    function Siguiente(): char;
  end;

implementation

resourcestring
  rsLetras = 'abcdefghijklmnñopqrstuvwxyz';

{ TAbecedario }

constructor TAbecedario.Create();
begin
  inherited Create();
  FPosicion := 1;
  FLetras := rsLetras;
end;

function TAbecedario.Actual(): char;
begin
  result := FLetras[FPosicion];
end;

function TAbecedario.Anterior(): char;
begin
  Dec(FPosicion);
  if (FPosicion = 0) then
    FPosicion := Length(rsLetras);
  result := FLetras[FPosicion];
end;

function TAbecedario.Siguiente(): char;
begin
  Inc(FPosicion);
  if (FPosicion > Length(rsLetras)) then
    FPosicion := 1;
  result := FLetras[FPosicion];
end;

end.

Supongo que puede mejorarse... o en todo caso hacerse de otro modo más elegante. Aporto, en todo caso, un ejemplo de uso de la clase que he copiado arriba.

seoane 27-04-2007 18:57:39

Cita:

Empezado por dec
Supongo que puede mejorarse... o en todo caso hacerse de otro modo más elegante.

Puedes hacerlo threadsafe ... solo lo digo por fastidiar :p

dec 27-04-2007 19:01:36

Hola,

No fastidies Seoane. :)

Yo lo decía porque a lo mejor era matar moscas a cañonazos... además uno ve la clase "TAbecedario" y enseguida le asalta la posibilidad de añadir métodos útiles... propiedades tal vez... alguna mejora... pero, esto se lo dejo al compañero mjjj, por el momento. :)


La franja horaria es GMT +2. Ahora son las 22:28:23.

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