![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Pues ese el asunto Diego, ¿como le decimos a la PC que recorra cíclicamente para evitar desbordes?
¿Otra pista? ¿Sabes lo que es el mod, o el resto de una división? ¿Que peculiaridad notas en el resto de una división? ¿El resto puede ser igual o mayor al divisor o dividendo? Que yo sepa no. De hecho, el resto de una división se repite cíclicamente. Y el máximo valor que asume es uno menor a.... Te doy una ayudita: 1 mod 27 = 1 2 mod 27 = 2 ... 26 mod 27 = 26 27 mod 27 = 0 28 mod 27 = 1 ... ¿Te da alguna idea? Vamos... si buscas en los foros encontrarás la solución... hay temas sobre cesar, cifrado y encriptación como lo llaman algunos. Saludos, |
|
#2
|
||||
|
||||
|
Si ingreso un usuario nulo, puedo entrar incluso sin pass. Quítale la propiedad maximizar a la ventana
![]() Preparando la v3.0 |
|
#3
|
||||
|
||||
|
Cita:
No entiendo eso que me dices Si cuando le das a ingresar, lo que hace es comprobar que el Nombre, Apellidos y Contraseña coincidan con los items. Si es así se abre tu usuario :S.¿Tiene esa propiedad? ¿Cuándo? ¿Cómo se que la tiene? Es que nunca vimos en el colegio esa propiedad :/ |
|
#4
|
||||
|
||||
|
Bueno, anoche y esta mañana he estado pensando y dándole vueltas al asunto. Como me venían muchas ideas, cojí un boli y papel y me puse a hacer un esquema de como quiero que quede la "V. 3.0"
.He pensado en lo que me dijo Fenareth... que le gustaría tener un historial para ver sus progresos (o no progresos jaja) en la dieta. Entonces pensé en la tabla que tengo. Podría hacer lo siguiente. Cuando un usuario empieza desde 0 no tiene ningún IMC realizado. Entonces la tabla nueva sería: Nombre | Apellidos | Usuario* | Fecha | IMC Usuario*: He puesto en la V 3.0 usuario porque a la hora de ingresar, es molesto estar poniendo tantos datos... así que un usuario y contraseña y listo. Cuando el usuario vayá a realizar su segundo cálculo del IMC... tendrá que ingresar la nueva fecha, su peso y su altura. Cuando le de a "Guardar IMC", este botón hará lo siguiente: 1º: Buscar en el ListBox el Usuario y Contraseña (que estarán consecutivos, aunque en la tabla no se muestra la contraseña). 2º: Quedará lo siguiente: Nombre | Apellidos | Usuario' | Fecha-1 | IMC-1 Nombre' | Apellidos' | Usuario' | Fecha-2 | IMC-2 Osea, lo que va a hacer es volver a poner el nombre, los apelidos y el usuario de la persona. Seguido, pondrá la segunda fecha-2 que la obtendrá del edit en el que tiene que ponerla al hacer su IMC. Y El IMC-2 lo obtendrá del resultado obtenido. ¿Qué dificultades tengo? Bueno yo creo que si me pongo puedo sacar todo... pero hay una cosa... para que cuando el usuario vuelva a abrir su sesión y le salga todo el historial... eso no se hacerlo. A ver, me explico mejor. El ListBox inicial era: ListBox ------- PEPE LOPEZ LOPEZ MANCHEGO 123456 18/05/2008 22 SARA LOPEZ LOPEZ COSMOPOLITA 121212 24/05/2008 26 Ese puede ser el ListBox inicial. Pero yo lo que quiero es que cuando PEPE se haga su segundo IMC el LISTBOX quede así: ListBox ------- PEPE LOPEZ LOPEZ MANCHEGO 123456 18/05/2008 22 PEPE LOPEZ LOPEZ MANCHEGO 123456 19/05/2008 21 SARA LOPEZ LOPEZ COSMOPOLITA 121212 24/05/2008 26 Lo que quiero es que se añada la información pero nunca al final. Creo que hay que hacer eso para que funcione. Aunque también si se agrega al final osea el ListBox quedaría: ListBox ------- PEPE LOPEZ LOPEZ MANCHEGO 123456 18/05/2008 22 SARA LOPEZ LOPEZ COSMOPOLITA 121212 24/05/2008 26 PEPE LOPEZ LOPEZ MANCHEGO 123456 19/05/2008 21 También puede encontrar a PEPE y poner en la tabla sus dos IMC ¿no?. Pensando en Delphius... sobre el cifrado de contraseñas, pensé que para no complicarme... pues no mostraré en la celda la contraseña y así es más rapido ![]() Me gustaría hacer una pregunta. La imagen de fondo es un elemento... ¿yo puedo hacer que cambie cuando el usuario inicie sesión? Osea, la Imagen1 se pondría Visible-False y la Imagen2 se pondría Visible-True. Bueno xD Espero respuestas, voy a seguir en Delphi. ![]() |
|
#5
|
||||
|
||||
|
Se me olvidó deciros. Me gustaría aprender como ponerle iconos a mis Button. Es que nunca me han enseñado nadie. Me gustaría ponerle iconitos :P
Haciendo el programa se me a venido otra duda... Para que el usuario no tenga que estar ingresando la fecha con la que hace cada IMC... ¿el programa puede saber en que día estamos hoy? Yo vi que hay una utilidad que le pinchas y aparece un calendario blanco y azul. ¿De ahí delphi puede saber el día que es? Lo quiero para que se guarde en el ListBox y luego se vuelque en la tabla y así saber que día se hizo el IMC :P Última edición por kbaby fecha: 29-06-2008 a las 15:46:21. Razón: otra duda |
|
#6
|
||||
|
||||
|
Cita:
Cita:
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
|
#7
|
||||
|
||||
|
Hola Diego, lo más natural sería de que tengas dos archivos: el primero para llevar el registro de tus usuarios y el segundo para llevar registros de sus IMC.
Ahora bien, realizar esto con archivos no es tan fácil puesto que deberás tener mucho código para mantener la referencia entre uno y otro. Si optas por este diseño debes tener el primer archivo una estructura como la siguiente: ID_USUARIO - NOMBRE - APELLIDO - PASSWORD Ese ID_USUARIO será un identificador, y se lo empleará para distinguir a un usuario de otro, por tanto el ID_USUARIO debe ser único a cada persona. El cantidato más firme a ser identificador es el DNI ya que no hay dos personas que tengan un mismo DNI. O si deseas, puedes asignarle cualquier numero. Por ejemplo, al primero que se registra le corresponde el ID 1, al segundo el 2, etc... Ahora viene lo duro, el segundo archivo necesita tener una referencia hacia un ID_USUARIO para hacer la coincidencia. Nuestro segundo archivo como mínimo debe llevar la siguiente estructura: FECHA - REF_USUARIO - MIC ¿Que es ese REF_USUARIO, pues básicamente este campo tendrá el valor de ID_USUARIO al que le pertenecen dichos datos. Por ejemplo, si existe un usuario cuyo ID es 123456, entonces cada uno de sus registros tendrá una forma como la siguiente: xx/xx/xx - 123456 - 20 xx/xx/xx - 123456 - 25 ... yy/yy/yy - 568541 - 15 ¿Cómo hacemos para obtener exclusivamente sus datos? Muy fácil: recorrer el archivo de punta punta e ir buscando solo aquellos cuyo valor REF_USUARIO es igual al ID_USUARIO de la persona que se logueó. Cuando se procesa a registrar un nuevo valor de MIC, deberá bastar con ingresarlo al final del archivo y sin olvidar llenar el REF_USUARIO para que posteriormente podamos recuperar sus datos. Como podrás comprobar esta manera de llevar a cabo el archivo te separa a los usuarios de los registros de IMC pero requiere de mayor código. La manera en que tu lo estás llevando al archivo es básica, y el problema se presenta cuando debes recorrer todos los datos de una misma persona. Otra posibilidad de conseguir esto es un solo archivo. Pero a mi modo de ver es contraproducente ya que terminas registrando duplicados. Una opción es que si deseas llevar un solo archivo es que insertes los datos ordenados por usuarios, de modo que sólo bastaría recorrer los datos desde la posición que le pertenece a dicho usuario hasta que se encuentre al siguiente. Por ejemplo: NOMBRE1 APELLIDO1 PASSWORD1 MIC1-1 MIC1-2 MIC1-3 NOMBRE2 APELLIDO2 PASSWORD2 MIC2-1 .... Pero el algoritmo para extraer adecuadamente los datos debe ser capaz de manerar una cantidad variable de MICs. Por tanto induce a otro código un tanto enrreversado. La tercera alternativa: cuando se crea un usuario, que se cree un archivo destinado a guardar sus propios MICs. De modo que solo puede bastar con levar un registro para hacer corresponder un archivo con un usuario. Algo como esto: NOMBRE - APELLIDO - PASSWORD - NOMBRE_ARCHIVO De modo que al loguearse al sistema, se lee este NOMBRE_ARCHIVO, se lo abre y se recorren sus datos. Esas son las opciones que tienes. Todas requieren de más o menos código, deberás analizar cual de todas esas opciones te conviene. Una cuarta opción es que te pases a estudiar bases de datos y te olvides de archivos y código para recorrer los datos, que abrir y cerrar... pero no se que tan preparado te sientas para aprender sobre esto. Con respecto a obtener la fecha de hoy lo más fácil es emplear la función Now que devuelve la fecha y hora. Por ejemplo:
Saludos, |
|
#8
|
||||
|
||||
|
Cita:
¿Dónde puedo encontrar fotos .bmp chicas para esto? ¿Puedo cojer un .ico que me guste, capturarlo con IMPR, PANT,PETSIS y guardar la imagen del icono en .bmp? Cita:
A:= now Resulta más cómodo ¿no? ¿Pero A que tipo de variable es? Yo la puse Real y cuando meto A en un edit me sale este valor: 39628,7796189583 PD: Sigo leyendo el post de Delphius que es dificil de entender a primeras. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| ¿Directivas compilacion? | drykea | Varios | 1 | 03-05-2007 15:51:15 |
| Errores De CompilaciÓn | nax | Varios | 1 | 20-08-2005 08:54:24 |
| WEEK lo hice pero tengo una consulta | jwmoreira | Firebird e Interbase | 0 | 17-03-2005 17:21:34 |
| hice una prueba entre SQL Server y Firebird 1.5 | Michel | Firebird e Interbase | 2 | 07-07-2003 15:57:26 |
|