Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 06-11-2008
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Question

Buenos disculpen pero no entendí nada del códe anterior,
si me pudieran explicar un poco mejor me seria útil.

Buenos miren lo que quiero hacer es lo siguiente...

Tengo un Edit (Edit1) donde se debe de poner un nombre y un botón (Aceptar) para que cuando le demos me guarde el nombre que teclearon, ya lo de guardar lo ise pero lo que quiero es que cuando tecleen el nombre no sea preciso dar en el botón solo presionamos ENTRER y ya esta...

Muchas gracias por la Ayuda
Responder Con Cita
  #22  
Antiguo 06-11-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Si. La propiedad 'default' de los TButtons hace que si se pulsa enter en cualquier momento dentro del formulario, se ejecute el 'click' del boton. Algo parecido con la propiedad 'cancel', solo que lo activa la tecla 'escape'. Si lo que quieres es cerrar la ventana, si esta se ha llamado con ShowModal, entonces solo tienes que poner la propiedad ModalResult del Button a algo diferente de mrNone.
Responder Con Cita
  #23  
Antiguo 06-11-2008
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Thumbs up

Muchas gracias por la ayuda coso,
Me funciono a la Perfeccion lo de el boton (Aceptar) y la tecla Enter,
pero no entiendo lo del Escape, eso pudiera utilizarlo cuando esta el programa en ejecucion si presiono Escape me cierra el programa, si pudiera ser eso me gustaria que me pusieras un Ejemplo de como utilizarlo... gracias
Responder Con Cita
  #24  
Antiguo 07-11-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
por ejemplo, si quieres q un codigo se te ejecute al pulsar escape, entonces pones su propiedad 'cancel' a true. Es util por ejemplo para cerrar ventanas de dialogo con un simple escape sin tener que usar el raton. Mira la ayuda F1, encontraras mas informacion. saludos.
Responder Con Cita
  #25  
Antiguo 07-11-2008
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Thumbs up

Muchas gracias el codico ya me esta funcionando a la perfección gracias a ustedes...
Si encuentro otras duda que tenga mientras perfecciono el programa la planteo...

muchas gracias...
Responder Con Cita
  #26  
Antiguo 12-11-2008
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Question

Hola a todos de nuevo, ahora tengo otra duda lo que pasa es que no se como encriptar un texto, lo e visto en otros temas pero no lo entiendo muy bien, lo que yo quiero hacer es cifrar una contraseña que teclea el usuario,

Ejemplo:

- Tengo un Edit y un Button
- Para inicial mi aplicacion es necesario introducir un password en el Edit
- Cuando le doy al botton me decifre el password guardado en un txt y compare el resultado con el que el usuario tecleo si es igual entra al programa sino muestra un Mesage de Error...

* Yo ya tengo ello lo de la comparacion pero no se como cifrar y decifrar el texto si me pudieran ayudar se lo agradeseria mucho...
Responder Con Cita
  #27  
Antiguo 12-11-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola de nuevo. Esta pregunta debe ir en un hilo nuevo. Si miras en la seccion trucos o usas el buscador del foro encontraras varios ejemplos. saludos.
Responder Con Cita
  #28  
Antiguo 13-11-2008
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Lightbulb

Gracias los buscare
Responder Con Cita
  #29  
Antiguo 13-11-2008
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Trate de buscar mi duda en el Buscador pero no tengo acceso a la paguina que va despues que tu pones buscar...
bueno tratare de poner mi duda en otro Hilo para ver si la puedo solucional que ustedes me dicen .
Responder Con Cita
  #30  
Antiguo 13-11-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Hola yelian, como dice coso los métodos para encriptar son numerosos y los puedes encontrar en este foro y en la web. Si lo que deseas es un método simple, puedes usar un algoritmo xor que es simétrico.

Te dejo aquí una muestra de una rutina simple pero eficaz de encriptación XOR de 64 bits que permite encriptaciones parciales aditivas, es decir encriptar, por ejemplo, un fichero grande a medida eque se escribe por partes en el disco....

Saludos.
Responder Con Cita
  #31  
Antiguo 13-11-2008
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Gracias por la ayuda,
aaa y lo que dije que no tenia acceso al buscador no es sierto es el explorador mio que tenia problema, pero ya lo solucione, pienso buscar bastante sobre este tema que me gusta...
Responder Con Cita
  #32  
Antiguo 13-11-2008
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Thumbs up

escafandra si no te es molestia de explicarme un poco sobre el ejemplo que me pusiste, lo que pasa es que tengo algunas duda sobre ese metodo de encriptacion XOR que me pusiste antreriol....

gracias de antemano.
Responder Con Cita
  #33  
Antiguo 14-11-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Bueno, no es dificil de usar.
1º Define un buffer, puede ser con un contenide texto o binario.
2º Define una clave.
3º Encríptalo.

Código:
char Buffer[] = "Este texto se va a encriptar."
DWORD Clave = 0x76349714;  
Crypt(Buffer, l, (char*)&Clave, 0);  // Encripta el Buffer
Si quieres hacerlo por partes, para escribir en un archivo...., cada parte:

Siendo HFile el manejador de un fichero abierto y
int WritePos lo ya escrito en el fichero

Código:
HFile = open(FileName.c_str(), O_CREAT | O_WRONLY | O_BINARY);
.
.
.
if(HFile)
if(WritePos < Text.Length()){
     int Mod = WritePos%8;
     int l = Text.Length()-WritePos;
     BYTE *buffer = new BYTE[l+1];
     buffer[l] = 0;
     strcpy((char*)buffer, Text.c_str()+WritePos); // Hacemos una copia 
     Crypt(buffer, l, (char*)&Clave, Mod);         // Encripta el buffer
     write(HFile, buffer, l);
     WritePos  += l;
     delete buffer;
}
El resultado, es binario, no es texto, por lo que se guardará en un archivo abierto en modo binario.

El buffer pasado como puntero se encriptam, por lo que si lo que se quiere en encriptar una copia y retener el original, deberá hacerse la misma antes de llamar a la función, y pasarle el puntero adecuado.

Experimenta.

Saludos.
Responder Con Cita
  #34  
Antiguo 14-11-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Ahora te explico un poco el algoritmo que he usado:

La encriptación Xor es fácil de implementar y es simétrica. La misma función y la misma clave sirven para encriptar y desencriptar.

Se basa en hacer una operación binaria XOR entre un dato y una clave. Piensa en este ejemplo binario:

Dato = 10001000
Clave = 01000100
10001000 XOR 01000100 = 11001100; Dato Encriptado
11001100 XOR 01000100 = 10001000; Dato Desencriptado

si ampliamos el nº de bits tendremos una operación XOR mas amplia... Esta rutina lo amplia a 8*8 = 64 bits.
Código:
void
Crypt(void *Source, int Size, char* Clave, int Mod)
{
   BYTE *source = (BYTE*)Source;  // Convierto el puntero Source a BYTE*
   BYTE clave[8];                 // Reservo para Clave 8 BYTES
   int lClave = strlen(Clave);    // Encuentro el tamaño de la clave si es una cadena
   for(int n=0; n<8; n++)         // Fuerzo a que la clave sea de 8 bytes máximo
     clave[n] = Clave[n%lClave];

   for(int n=0; n<Size; n++, Mod++){
     source[n] ^= clave[Mod%8];   // Encripta hasta conseguir hacerlo con 8 bytes 
                                  // que es el tamaño establecido para la clave.... 
                                  // ^ Es el operador XOR en C
   }
}
Espero que así lo entiendas mejor.
Experimenta.

Saludos.
Responder Con Cita
  #35  
Antiguo 15-11-2008
yelian yelian is offline
No confirmado
 
Registrado: nov 2007
Ubicación: Cuba
Posts: 81
Poder: 0
yelian Va por buen camino
Thumbs up

Gracias por la pasiencia y la explicacion seguro que experimentare, despues les cuento como me fue

* si no les vuelvo a escribir es que se me exploto el celebro... (Broma)



Muchas Gracias por la ayuda....
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ayuda programa.. cmm07 Varios 13 17-07-2008 21:37:40
Ayuda con un programa kanedor Varios 6 14-05-2008 17:48:53
Conectar archivos de ayuda a un programa GINAUNICA Varios 3 15-04-2008 01:43:35
Ayuda con programa jorgegetafe Varios 4 07-12-2007 12:38:33
Ayuda con programa de C megadanzig C++ Builder 7 19-03-2004 19:26:48


La franja horaria es GMT +2. Ahora son las 06:30:49.


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