Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Buscar archivos.. (https://www.clubdelphi.com/foros/showthread.php?t=38144)

pabloa_m 05-12-2006 00:09:42

Buscar archivos..
 
Hola, necesito programar un boton que me busque el archivo de una persona, ingresando su DNI para ello, esto debo hacerlo en una unit aparte, si alguien sabe como hacerlo y me quiere ayudar, se los agradesco desde ya! es muy urgente! saludos..

vtdeleon 05-12-2006 00:21:56

De donde vas a buscar esa informacion? Base de dato, un archivo, la web,...?

Pd:Nada es urgente!

Saludos

pabloa_m 05-12-2006 00:35:07

La informacion debo buscarla en un archivo, aunque no lo creas lo mio es urgente pues debo terminar este trabajo para hoy! y ya intente hacerlo y no me sale, es por eso que pido ayuda! gracias.

roman 05-12-2006 00:47:32

No dudamos que sea urgente para ti, pero a lo que se refiere Van Troi es a que aquí nada es urgente. A diferencia de un servicio técnico en donde hay una obligación con el cliente, aquí cada cual constesta lo que desea en el tiempo de que disponga y cuando le sea posible, vamos, es una labor exclusivamente voluntaria, y por ello a nadie le sienta bien que le pidan su labor altruista con urgencia.

Dicho esto, y sin que lo contradiga, lo cierto es que muchas veces la ayuda que aquí se obtiene es muy rápida, creo que pocos sitios del estilo tiene tal caracteristica. No obstante, para ello es indispensable que quien pregunta se esfuerce por darse a entender y tú no lo has hecho. Decir que buscas información de un archivo, realmente no es decir nada, tienes que darnos más detalles de tu trabajo, como el tipo de archivo, la estructura que tiene, como lo creaste, etc., etc. Si tenemos que sacarte la información gota a gota, más tarde te podremos ayudar.

Así que te aconsejo que te tomes unos minutos para pensarlo bien, meditar la pregunta ampliamente y volverla a exponer.

// Saludos

vtdeleon 05-12-2006 00:49:56

Saludos

Chequea este hilo que se esta tratando en este momento.

Con lo de "Urgente", te queria dejar dicho, que a pesar de que tengas la prisa que tengas, cada uno de nosotros contestamos o damos opiniones en este foro si el tiempo nos alcanza o si queremos (voluntariamente). Nadie esta obligado a contestar (aunque sepa la respuesta). No somos un centro de servicios. Lo siento.

A pesar de todo eso, ten por seguro que tendras las buenas intensiones de todos para esclarecer cualquier nube que tengas.

Crandel 05-12-2006 00:50:33

Primero que nada bienvenido al Club.

Si es urgente intenta dar la mayor cantidad de información en la pregunta, si una pregunta es generica, la respuesta tambien lo será y muy dificil será que te den un código.

Importante -> Lee la guia de estilo.

Crandel 05-12-2006 00:52:13

Estas si que son respuestas simultaneas y rapidas !!!!! :D:D:D:D

pabloa_m 05-12-2006 01:37:59

Mil disculpas a todos! de verdad lo siento, no me di cuenta, es que ademas soy nuevo en esto y no tuve tiempo de ponerme a leer las normas y demas..tienen mucha razon en lo que dicen, pero lo de "urgente" no fue en el mal sentido ni menos, tal vez me exprese mal, nuevamente disculpas.
voy a detallar mejor lo que necesito, hice un formulario en el cual hay edit para el nombre, apellido, DNI y 3 notas de una materia (n1,n2,n3).En ellos debe aparecer la informacion correspondiente, la cual la detalle en un archivo txt, me explico? entonces al ejecutar un boton llamemoslo "calcular", en otro edit debe aparecer el promedio de las notas de dicha persona..espero que se entienda, disculpenme una vez mas! gracias por su atencion. saludos.

pabloa_m 05-12-2006 01:52:45

Disculpenme no es un buen dia para mi y la verdad no me doy cuanta ni lo que escribo..eso que les puse anteriormente no es lo que presiso..en el formulario que diseñe tengo los edit correspondientes a DNI, nombre, apellido y las 3 notas de una materia, esta informacion esta en un archivo txt, lo que debo hacer es buscar el archivo con los datos de una persona ingresando el DNI en un edit y al presionar un boton, debe aparecerme la informacion faltante en el resto de los edit..ahora si, disculpas nuevamente! gracias.

roman 05-12-2006 01:54:03

¿Y cuál es el formato del archivo? Valores separados por comas, por tabuladores, ¿cuál?

// Saludos

seoane 05-12-2006 01:54:33

Creo que la pregunta ahora es ¿Y como tienes guardada esa información dentro del archivo? ¿Es un archivo de texto? ¿Contiene registros? ¿Hay un archivo por cada DNI o un solo archivo para todos los DNIs? ¿Cual es el nombre del archivo? ¿donde esta guardado?

Edito: parece que roman también se pregunto lo mismo

roman 05-12-2006 01:55:38

Otra cosa: supongo que esto es una tarea de clase y te han "obligado" a hacerlo así. De lo contrario no se explica que se use un archivo de texto en lugar de una base de datos.

// Saludos

pabloa_m 05-12-2006 02:18:33

Asi es, es la tarea final de la materia, es por eso la importancia...es un solo archivo de texto, en el estan todos los DNI y demas datos de las personas, lo hice en el bloc de notas y los datos estan de la siguiente manera:
DNI Apell. Nom. n1 n2 n3

26.034.096 Lopez Julieta 7 8 9
27.269.477 Garcia Lucas 6 4 7
...
Saludos.

seoane 05-12-2006 02:28:27

Nos vamos acercando ... ¿el formato lo escogiste tu o fue impuesto por tu profesor? ¿podrías usar el objeto TStringList o hay alguna limitación sobre los medios a usar?

roman 05-12-2006 02:31:14

¿Separados por espacios? Mmm. Sería mejor por comas o tabuladores, o quizá no importe, hay que probar. Te doy una idea. Como es tarea ni modo de ponerte aquí todo resuelto ¿verdad?

En un TStringList cargas todo el archivo:

Código:

Archivo := TStringList.Create;
Archivo.LoadFromFile('alumnos.txt');

Recorres el archivo línea a línea:

Código:

for I := 0 to Archivo.Count - 1 do
begin
  Linea := Archivo[i]; // Linea un String;
end;

Ahora, cada linea consta de la información de un alumno pero tienes que desglosar los distintos campos. Aquí es donde no estoy seguro de que funcione con espacios pero a probar:

Usas un segundo TStringList en el que cargas la línea así:

Código:

Campos.CommaText := Linea; // Campos el otro TStringList
En principio, ahro Campos es una lista de strings, cada string conteniendo uno de los campos:

Campos[0] - DNI
Campos[1] - Apellido
Campos[2] - Nombre
Campos[3] - Primera calificación
etc.

Así ya tienes las calificaciones por separado. Cada calificación la conviertes a un entero con StrToInt (o StrToFloat si tiene decimales) y ya de ahí sacas el promedio.

// Saludos

pabloa_m 05-12-2006 02:34:37

Fue impuesta por el profesor, pero a esta altura se puede todo..

seoane 05-12-2006 02:37:09

:mad: Caramba roman, yo estaba pensando en algo similar. Pero estas hecho un agonioso (me esta empezando a gustar la palabrita :D )

Aunque mi idea era separar el DNI del resto de valores con un '=' en vez de con un espacio, para así aprovechar la propiedad Values del propio TStringList. Por el resto, la cosa seria igual, usar un segundo TStringlist para separar los campos.

seoane 05-12-2006 02:41:51

Cita:

Empezado por pabloa_m
Fue impuesta por el profesor, pero a esta altura se puede todo..

Si fue impuesta por el profesor no se hable mas, la opción de roman servirá, ya que los espacios se consideran como separadores.

pabloa_m 05-12-2006 02:50:55

Muchas gracias amigos!!! no saben como me han salvado! no tengo palabras, voy a probarlo y les cuento..mil gracias!!!! saludos.

ixMike 05-12-2006 20:38:56

Bueno, quizá llego un poco tarde, pero con eso de que no tenía tiempo para leer las normas y tal.... bueno, que quizá no hizo una búsqueda en el foro. Hace tiempo tuve un problema similar, y esta fue la solución.

Saludos


La franja horaria es GMT +2. Ahora son las 02:52:50.

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