PDA

Ver la Versión Completa : Enumerar con Letras


torito
19-07-2005, 20:20:12
Hola amigos foreros, resulta que me piden que haga una lista de cosas pero me piden que de lugar de enumerar con números(1,2,3,4,...n) lo haga con letras (a,b,c,d,e...z), alguien conoce algún procedimiento de delphi que me ayude a hacerlo.
de antemano, muchas gracias

delphi.com.ar
19-07-2005, 20:35:50
Si son menos de 27 posiciones, simplemente podrías hacer Chr(Valor + 65)
Sino tengo alguna función por ahí perdida para contar con patrones....

Saludos!

delphi.com.ar
19-07-2005, 20:59:49
No lo encontré, pero te armé esto:

function IntToBase(Value: Integer; const Pattern: string): string;
var
B, R: Integer;
begin
Result := '';
B := Length(Pattern); { Base }
repeat
R := Value mod B; { Resto }
Result := Pattern[R+1] + Result;
Value := Value div B;
until Value = 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
const
NUMERO = 256;
begin
{ Ejemplo de un mismo número con varias bases }
with Memo1.Lines do
begin
Add('Binario: ' + IntToBase(NUMERO, '01'));
Add('Hoctal: ' + IntToBase(NUMERO, '01234567'));
Add('Decimal: ' + IntToBase(NUMERO, '0123456789'));
Add('Hexadecimal: ' + IntToBase(NUMERO, '0123456789ABCDEF'));
{ Esto es lo que vos queres }
Add('Letras: ' + IntToBase(NUMERO, 'ABCDEFGHIJKLMNÑOPQRSTUVWXYZ'));
end;
end;

torito
19-07-2005, 21:12:07
Exacto, eso es lo que requería, muchas gracias, estuve checando tu codigo y es fácil, pero nunca se me hubiera ocurrido a mi, insisto muchas gracias.
Definitivamente esto depende de mucha creatividad.

marceloalegre
20-07-2005, 14:57:23
Excelente Federico, esto es algo simple, pero quiero destacar el tiempo q tomas para con los demas, muchas gracias!!