Delphi - lazarus

 
Vista:

lazarus

Publicado por paco (1 intervención) el 20/05/2007 17:21:28
soy estudiante de agricolas y tengo un problema para pasar este programa de pascal a lazarus en modo grafico y como todavia no domino lazarus me gustaria que alguien me eche una mano:

program alumnos_topografia;
uses crt;
type
alumno = record
nombre : string[20];
domicilio : string[30];
telefono : longint;
dni : longint;
repetidor : boolean;
end;
var
alumno_tercero : alumno;
fichero_alumnos, fichero_alumnos_aux : file of alumno;
letra, respuesta : char;
palabra : string;
numero : longint;
num_DNI : longint;
procedure pedir_datos;
begin
write ('Introduce el nombre del alumno: ====> ');
readln(palabra);
alumno_tercero.nombre:=palabra;
Write ('Introduce el domicilio: ============> ');
readln(palabra);
alumno_tercero.domicilio:=palabra;
Write ('Introduce el tel‚fono: =============> ');
readln(numero);
alumno_tercero.telefono:=numero;
Write ('Introduce el DNI: ==================> ');
readln(num_DNI);



alumno_tercero.dni:= num_DNI;
Write ('¨Es repetidor?: ====================> S/N ');
readln(respuesta);
if ((respuesta = 's') OR (respuesta = 'S')) then
begin
alumno_tercero.repetidor:=true;
end
else
begin
alumno_tercero.repetidor:=false;
end;
write(fichero_alumnos, alumno_tercero);
end;
{===============================================================}
procedure inicio;
var
salir:char;
begin
assign(fichero_alumnos, 'fich_al');
rewrite(fichero_alumnos);
clrscr;
repeat
begin
pedir_datos;
clrscr;
write ('¨Desea introducir otro alumno? ==> s/n ');
readln(salir);
writeln;
end;
until ((salir='n') or (salir='N'));
close(fichero_alumnos);
clrscr;
writeln('Hecho');
end;
{===============================================================}
procedure consulta;
begin
assign(fichero_alumnos, 'fich_al');
reset(fichero_alumnos);
clrscr;
repeat
begin
read(fichero_alumnos, alumno_tercero);
writeln('|=====================================================|');
writeln('Nombre del alumno ==========> ',alumno_tercero.nombre);
writeln('Direcci¢n del alumno =======> ',alumno_tercero.domicilio);
writeln('El campo telefono es particular y no se indica');
if alumno_tercero.repetidor then writeln ('Es repetidor ')
else writeln('No es repetidor ');
end;
until eof(fichero_alumnos);
close(fichero_alumnos);
writeln('Para volver al men£, pulse una tecla ');
repeat until keypressed;
end;
{==============================================================}
Procedure aniadir;





begin
assign(fichero_alumnos, 'fich_al');
reset(fichero_alumnos);
assign(fichero_alumnos_aux, 'fich_aux');
rewrite(fichero_alumnos_aux);
while not(eof(fichero_alumnos)) do
begin
read(fichero_alumnos, alumno_tercero);
write(fichero_alumnos_aux, alumno_tercero);
end;
pedir_datos;
close(fichero_alumnos);
close(fichero_alumnos_aux);
end;
{==============================================================}
{ Programa principal}
begin
clrscr;
Writeln('El programa permite generar una peque¤a base de datos sobre alumnos');
repeat
begin
writeln;
Writeln('Escribe la operaci¢n que deseas realizar');
writeln;
writeln('################################################################');
writeln('==========> I : Iniciar base de datos de alumnos ');
writeln('==========> A : A¤adir datos de un alumno ');
writeln('==========> W : escribir la informaci¢n de la base de datos ');
writeln('==========> Q : salir ');
writeln('################################################################');
readln(letra);
case letra of
'I', 'i' : Inicio;
'W', 'w' : consulta;
'A', 'a' : aniadir;
end; {del case}
end;
until ((letra = 'q') or (letra = 'Q'));
end.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:lazarus

Publicado por BigLuis (713 intervenciones) el 20/05/2007 19:52:37
Lo que pides no es muy complicado pero es un poco tedioso y soy de la opinion que hay que dar soluciones genericas o puntuales pero no escribir un programa entero para otro. De todas formas creo que con este post mio del año pasado (que es casi un programa completo contradiciendome a mi mismo) tendras una idea general de como hacerlo. Es similar pero de una agenda :
http://www.lawebdelprogramador.com/news/mostrar_new.php?id=23&texto=Delphi&n1=409192&n2=1&n3=1&n4=1&n5=0&n6=0&n7=0&n8=0&n9=0&n0=0
Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar