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.