• Viernes 19 de Abril de 2024, 21:39

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - albertoprad

Páginas: [1]
1
Pascal / Caracter De Salto Dentro De String
« en: Viernes 9 de Mayo de 2008, 01:51 »
Hola buenas.
voy a intentar explicaros un problema que tengo con una funcion que tiene que devolver un string con varios saltos de linea dentro.
El caso es que tengo que mostrar los datos de un alumno en entre los que se incluye el expediente, formado por codigos de asignaturas aprobadas y su nota.
Todo ello tiene que ser devuelto en string y con formato apropiado por una function.
EJ:
Matricula: 123 Nombre: Pepe Anios: 2
Expediente:
Asig: 101 Nota: 5
Asig: 104 Nota: 8
Asig: 156 Nota: 7
Asig: 157 Nota: 8

Para ello he creado los siguientes funciones:

function obtenerDatosExpediente(estudiante:TEstudiante):string;
var
entrada:TEntradaExpediente;
calificacion:string;
calif:real;
resu:string;

begin

        if tieneDatosExpediente(estudiante^.expediente) then
        begin
                desapilarEntradaExpediente(estudiante^.expediente, entrada);
                calif:=obtenerCalificacion(entrada);
                str(calif:1:2, calificacion);
                resu:= concat ('k   Codigo: ',obtenerCodigoAsignatura(entrada),' Nota: ',calificacion) + (obtenerDatosExpediente(estudiante));
                writeln('hola');
        end;
        writeln('adios');

obtenerDatosExpediente:=resu;

end;

function obtenerDatosEstudiante (estudiante:TEstudiante):string;
var
estudi:string;
aniosstr:string;
an:0..2;
begin
an:=obtenerAnios(estudiante);
str(an, aniosstr);

estudi:= concat ('Matricula: ',obtenerMatricula(estudiante), ' Nombre: ', obtenerNombre(estudiante), ' Años: ', aniosstr, ' Expediente: ', obtenerDatosExpediente(estudiante));

obtenerDatosEstudiante:=estudi;

end;


La primera es un funcion recursiva que recorre solo el expediente, y la segunda imprime los datos basicos del alumno y llama a la primera para obetener el expediente.
El problema es que no se como hacer para poner saltos de linea entre cada asigantura del expediente y que quede mas o menos con el formato que he puesto arriba.
Si necesitais que os especifique como es algun tipo de dato decirmelo.

Espero que podais echarme una mano. Muchas gracias y perdon por el ladrillo.

Páginas: [1]