¿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....Nota301....Á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:
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