![]() |
![]() |
| 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
|
||||
|
||||
|
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 :/ |
|
#2
|
||||
|
||||
|
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. ![]() |
|
#3
|
||||
|
||||
|
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 14:46:21. Razón: otra duda |
|
#4
|
||||
|
||||
|
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 |
|
#5
|
||||
|
||||
|
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, |
|
#6
|
||||
|
||||
|
Cita:
Voy a hacerlo (cuando sepa como conseguir la fecha xD). |
|
#7
|
||||
|
||||
|
Cita:
Aqui hay personas que no se dedican profesionalmente en el área de la informática, y aún asi tienen conocimientos sobre el tema. Esto lo han conseguido leyendo libros, consultando en los foros. La experiencia también juega un papel importante, a medida que uno se ejercita, adquiere más destreza y habilidad en la resolución y desarrollo de sistemas. Se forma, se educa, se instruye. Una de las cosas más importante es no perderle el miedo a pulsar F1. Allí dice mucho, pero no te dirá como aprender sobre programación. Esto se consigue con la práctica, y para ello sólo se necesita constancia (como todas las cosas de la vida). No importa si es Delphi, o el lenguaje que sea... no es que nos sepamos los "trucos" y cada partecita de Delphi. La intención es asimilar los conceptos, las ideas y llevarlas a cabo en el lenguaje que te toque. Puede que en el dia de mañana te veas obligado a emplear Fox Pro, NET, Java, Cobol, VB... lo que se busca es aprender las nociones básicas de la programación, el uso de la lógica y un conjunto de buenas prácticas que te van a ayudar. Si me preguntas cuanto se de Delphi, con gusto te digo que se menos del 50%. No tiene sentido aprenderse el lenguaje. Aqui lo usamos porque vemos en el producto una buena herramienta de calidad y porque ofrece ciertas ventajas que tal vez, otros compiladores/IDEs no poseen o lo poseen probremente. A mi me encanta hacerte pensar Diego, y lo voy a seguir haciendo (admito que me gusta un poco ver sufrir al otro ) Se que te cuesta, al comienzo todo cuesta. Pero más adelante, llegarás a darte cuenta de que ciertas cosas se te vuelven triviales.Asi que si somos o no profesionales, aqui no nos importa... el que puede ayuda, y algunos nos arriesgamos a ayudar aun sin saber en profundidad sobre el tema. Y no es que sepamos, es que conocemos. Posiblemente ya hemos pasado por ello, hicimos algo parecido, o recordamos haber visto por algun lado algo del tema. Tu no te preocupes por ello, cada uno tiene su propio ritmo de aprendizaje. Y por cierto, por ahora, que estas de "vacaciones" aprovecha para ir practicando... aunque yo te recomendaría que no descuides lo que viste en matemática, física, quimica. Durante el primer año de la carrera... no vas a tocar mucho a la PC ¡te van a asediar con análisis y/o calculo matemático, álgebra, física y química! Con respecto al tema de la función Now: Now regresa el valor de tipo TDateTime. Es decir fecha y hora. Si sólo deseas la fecha, declara la variable de tipo TDate y guarda el valor:
Para saber más sobre TDateTime, TDate y TTime... pulsa F1. 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. |
|
#9
|
||||
|
||||
|
Cita:
Saludos.
__________________
![]() Mi BLOG - ¡Joder, leanse la guia de estilo! Las Palabras son enanas, los ejemplos gigantes. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| ¿Directivas compilacion? | drykea | Varios | 1 | 03-05-2007 14:51:15 |
| Errores De CompilaciÓn | nax | Varios | 1 | 20-08-2005 07:54:24 |
| WEEK lo hice pero tengo una consulta | jwmoreira | Firebird e Interbase | 0 | 17-03-2005 16:21:34 |
| hice una prueba entre SQL Server y Firebird 1.5 | Michel | Firebird e Interbase | 2 | 07-07-2003 14:57:26 |
|