Cita:
Empezado por Caral
Código Delphi [-]
function generaletra:String;
var pos:integer;
begin
randomize;
pos:=random(7)+1;
case (pos) of
1:generaletra:='A';
2:generaletra:='B';
3:generaletra:='C';
4:generaletra:='D';
5:generaletra:='E';
6:generaletra:='F';
7:generaletra:='G';
end;
end;
function generanumero:String;
var pos:integer;
begin
randomize;
pos:=random(7)+1;
case (pos) of
1:generanumero:='0';
2:generanumero:='1';
3:generanumero:='2';
4:generanumero:='3';
5:generanumero:='4';
6:generanumero:='5';
7:generanumero:='6';
end;
end;
|
Estas funciones se pueden simplificar mucho. En mi opinión, quedarían mejor así:
Código Delphi
[-]
function generaletra:String;
var pos:integer;
begin
randomize;
pos:=random(7);
generaletra=Chr(pos+65);
end;
function generanumero:String;
var pos:integer;
begin
randomize;
pos:=random(7);
generanumero=Chr(pos+48);
end;
La explicación es muy simple: primero generamos el valor aleatorio, y luego le sumamos 65 (valor ASCII de 'A') o 48 (valor ASCII de '0'). Obtenemos un codigo ASCII, y con la función Chr() lo convertimos a un carácter.
Saludos,
Marc