Ver Mensaje Individual
  #1  
Antiguo 12-01-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Reputación: 21
Deiv Va por buen camino
Arrow Base TXT de Datos

¿Cómo encarar la siguiente mínima Base de Datos de Alumnos, datos recuperados de un archivo TXT?

Quiero evitarme dependencias de Base de Datos, SQL, etc, ya que el objetivo es recuperar y mostrar solamente Datos y notas de Alumnos desde un archivo TXT, pues los mismos no rebasan de una cantidad de 100 elementos, y estos Datos no serán modificados, ni renombrados, ni agregados, ni nada por el estilo, SON FIJOS de una Gestión pasada.
La idea es la siguiente:

ID...Apellido.....Nombre....Curso....Nota1.....Nota2....Nota3
01....Álvarez........David........1ro........43...........55........90
02....Oropeza.......Jorge........4to........67...........36........80
03....Camacho......Pedro........2do.......33...........75........20
04....Álvarez........Andrés.......1ro.......58...........65........40
05....Miranda........María........3ro........80...........22........30
06....Pérez...........Henry........4to.......77...........59........90
07....Campero......Joanna.......2do.......34...........96........50
08....Ruiz.............Lucy.........1ro........43...........60........70
........
100.....etc., etc.

Pensaba, recuperarlo en Delphi con:
Código Delphi [-]
for i:=1 to 100 do
begin
  ReadLn(File, Cadena);
  Alumno[i].ID:= Cadena;
  ReadLn(File, Cadena);
  Alumno[i].Apellido:= Cadena;
  ReadLn(File, Cadena);
  Alumno[i].Nombre:= Cadena;
  ReadLn(File, Cadena);
  Alumno[i].Curso:= Cadena;
  ReadLn(File, Cadena);
  Alumno[i].Nota1:= StrToInt(Cadena);
  ReadLn(File, Cadena);
  Alumno[i].Nota2:= StrToInt(Cadena);
  ReadLn(File, Cadena);
  Alumno[i].Nota3:= StrToInt(Cadena);
end;
//Luego no sé, quizá mostrarlo con un WRITELN
No sé si estoy encarando bien esta parte o existe otro mejor camino, pues para 100 datos no vale la pena como dije depender de una Base de Datos. ¿Que opinan al respecto?

Mis preguntas:
1-
¿Cómo mostrar en un TListBox un FILTRO de "Curso", donde solo me muestren los "ID"?, es decir por ejemplo para mostrar los ID de "1ro", el resultado en el TLIstBox debería ser:
01
04
08

2- Que si selecciono por ejemplo en el TListBox "01" en 3 TEdits que tengo en el Form me muestre de "01" sus valores= Nota1 (TEdit1), Nota2 (TEdit2), Nota3 (TEdit3)

3- Y lo más complicado (me parece) mostrar los "ID" en el TListBox con el FILTRO de "Curso" pero que obedezcan a una ORDENACIÓN de "Nombre". El resultado debería ser:
04
01
08

Disculpen si es demasiado sencillo la pregunta, o tal vez me digan mejor si es con SQL (no me concozco bien) pero me estoy haciendo un bollo con los algoritmos y funciones. Agradeceré vuestra ayuda.
Un Saludo

Última edición por Deiv fecha: 12-01-2007 a las 16:20:16.
Responder Con Cita