PDA

Ver la Versión Completa : sobre letras... alfabeto


mjjj
27-04-2007, 18:21:37
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:


var
ch:Char;
begin
Ch := Edit1.Text[1];
Edit1.TExt := Succ(ch);



Se omiten comprobaciones...

dec
27-04-2007, 18:50:01
Hola,

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


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
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. :)