Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Hola Román

Si la palabra no tiene porqué tener sentido, se me ocurre una cosilla, a ver que te parece:

Tenemos una array con las vocales
Tenemos otro array con las consonantes (si quieres puedes quitarle las "raras" como W, k, h, x, z, ñ,....)

Aleatoriamente cogemos una consonante + una vocal hasta completar la longitud que determines (6, 8, 10,.....)

Qué te parece?
Responder Con Cita
  #2  
Antiguo 30-01-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por cadetill
Qué te parece?
¡Ah! Creo que está mejor. Las contraseñas serán más sencillas (¿demasiado?) pero me evito tener que escribir la lista de sílabas.

// Saludos
Responder Con Cita
  #3  
Antiguo 15-05-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
Roman, esta respuesta la tengo desde hace tiempo, pero no encontraba el hilo. Como bien sabéis, soy bastante principiante en esto de Delphi, a si que tengo que recurrir a "apaños" como este. He utilizado el truco de Trucomanía, generar palabras aleatorias.
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
function ConsonanteAleatoria(Longitud: integer): string;
  const
    Letras = 'bcdfgjlmnñpqrstvyz';
  var
    n  : integer;
  begin
    Result:='';
    for n:=1 to Longitud do Result:=Result+Letras[1+Random(Length(Letras))];
  end;

function VocalAleatoria(Longitud: integer): string;
  const
    Letras = 'aeiou';
  var
    n  : integer;
  begin
    Result:='';
    for n:=1 to Longitud do Result:=Result+Letras[1+Random(Length(Letras))];
  end;

begin
Edit1.Text := ConsonanteAleatoria (1) + VocalAleatoria (1) + ConsonanteAleatoria (1) + 
  VocalAleatoria (1) + ConsonanteAleatoria (1) + VocalAleatoria (1)
end;

Generará contraseñas de 6 carácteres.
__________________
:)

Última edición por andres1569 fecha: 15-05-2004 a las 18:53:51. Razón: Editado para truncar linea y que se pueda leer. Saludos
Responder Con Cita
  #4  
Antiguo 15-05-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
O más fácil de lllamar mediante:
Código Delphi [-]
function PassPronunciable: string;
function ConsonanteAleatoria(Longitud: integer): string;
  const
    Letras = 'bcdfgjlmnñpqrstvyz';
  var
    n  : integer;
  begin
    Result:='';
    for n:=1 to Longitud do Result:=Result+Letras[1+Random(Length(Letras))];
  end;

function VocalAleatoria(Longitud: integer): string;
  const
    Letras = 'aeiou';
  var
    n  : integer;
  begin
    Result:='';
    for n:=1 to Longitud do Result:=Result+Letras[1+Random(Length(Letras))];
  end;

  begin
    Result := ConsonanteAleatoria (1) + VocalAleatoria (1) + ConsonanteAleatoria (1) + 
VocalAleatoria (1) + ConsonanteAleatoria (1) + VocalAleatoria (1);
  end;
Así queda más bonito escribir
Código Delphi [-]
Edit1.Text := PassPronunciable;
Por cierto... hoy he hecho mi primer Procedure... este... es una tontería pero, gracias Román
__________________
:)

Última edición por andres1569 fecha: 15-05-2004 a las 18:52:30. Razón: Editado para truncar linea y que se pueda leer. Saludos
Responder Con Cita
  #5  
Antiguo 15-05-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
Cita:
Empezado por cadetill
Aleatoriamente cogemos una consonante + una vocal hasta completar la longitud que determines (6, 8, 10,.....)
Grrr... a si que la idea ya la tuvo cadetill... Bruf, y yo estrujándome el coco... bueno, mereció la pena pues así conseguí mi primer procedure, aún lo estoy celebrando.
__________________
:)
Responder Con Cita
  #6  
Antiguo 15-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
De cualquier forma muchas gracias DarkByte. Lo que hice en realidad fue llenar a pie una tabla como de doscientas sílabas escogiendoo tres o cuatro de ellas aleatoriamente.

// Saludos
Responder Con Cita
  #7  
Antiguo 15-05-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
No hay de qué, aunque parece que llegé tarde...
__________________
:)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:14:45.


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
Copyright 1996-2007 Club Delphi