![]() |
![]() |
| 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
|
||||
|
||||
|
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, |
|
#2
|
||||
|
||||
|
Cita:
Voy a hacerlo (cuando sepa como conseguir la fecha xD). |
|
#3
|
||||
|
||||
|
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, |
|
#4
|
||||
|
||||
|
Joe tio muchas gracias. Es que os hice esas preguntas un poco intimas porque a ver yo de Delphi sé -7% y me sentía muy acomplejado cuando alomejor os pregunto cosas que es como si mi hermana me viene y me dice:
- Diego, ¿cúanto es 2+9?. Claro yo os pregunto, vosotros me respondeis ayudandome y me siento pues como se dice en españa una puñetera mi____ Yo es que no se lo que me pasa pero nada que no me veo avanzar. LLevo menos de un año con Delphi y yo me imaginaba ya dominar el programa por estas fechas... pero nada creo que es un mundo por conocer. Mis conocimientos, que son pocos pero le doy desde aquí las gracias a mi profesor de informatica Jose Luis Campos si me lee, me limitan hacer cosas. Uff son tantas cosas que siento... por algo que me gusta mucho, la programacion pero que me veo limitado aveces... Bueno quien sabe, alomejor dentro de uno o dos años me veis (ojala) yo ayudando a la gente jajajaja. Bueno ya entendi lo de la fecha así que voy a seguir haciéndolo. PD: No tengo miedo por presionar F1 peeeeero... es que mi ingles es nulo. Lo unico que se es hello, bye. Yo aprendo francés y aleman... (aunque desearia saber frances). Y claro la guia delphi f1 no se lo explica bien como mi profe cibernetico ![]() |
|
#5
|
||||
|
||||
|
Cita:
What! How he is that of which you do not know English! It is most important in our profession. I do not allow it to you. I am disappointed .No mentira.... No hay drama. Si es importante el inglés, yo tampoco se mucho. Por ahora, puedes ayudarte con diccionarios y traductores. Pero luego, más adelante cuando tengas más tiempo sería útil tomar un curso.No se como será el programa de estudio donde vas a estudiar, en mi caso tuve que rendir una prueba de suficiencia de inglés, tuvimos clases y demás. Si no aprobaba el final... no podía optar por el título de pre-grado. Menos mal, que aún muy a pesar de que no tengo muy pulido el inglés, con algo me defiendo ![]() .Saludos, |
|
#6
|
||||
|
||||
|
What!
How he is that of which you do not know English! It is most important in our profession. I do not allow it to you. I am disappointed .Qué! ¿Cómo que tu no sabes ingles? Esto es lo más importante en nuestra profesion. No puedo permitirtelo a ti. Estoy ... estoy... desilusionado o decepcionado xD. No se inglés pero he vivido en new york durante 1 año y medio con eso me defiendo yo. A la hora de ir a comprar el pan, de pedir algo en algun bar, comer...... ![]() Bueno que sigo haciendo tu alternativa 1º llevo toda la tarde delante de delphi ahora voy a salir que he quedado con unos amigos. Y no te preocupes por mi inglés xD lo de hello y bye... umh... sé un poco más xD (Si es que hay mucho favoritismo para los ingleses... deberían sacar Delphi Espanish 7.0...). ¿Podríamos traducirlo? xD Jaja (para mentes como la mia de subnurmales) xD |
![]() |
| 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 |
|