RE:Necesito ayude Urgente PLZ
el proceso que pides es bastante entretenido pero te iniciare tu segiras el resto
sino no aprenderas.
este proceso es bastante simple pero para empezar bale.
program fartura;
uses
crt, dos; {unidades normales casi siempre en pascal}
type
datos = record { el registro de datos}
cedula : integer; {si es todo numero sino string}
nombre : string[20]; {un string de 20 carazteres si quieres mas asta 256}
apellido : string[20]; {lo mismo que el anterior}
edad : integer;
area : integer; {si no tiene letras sino string}
costo : real; { por los decimales}
fecha : string[8]; { dia/mes/a¤o ejem:02/02/11 o 02/02/2011 en el string[10]}
observacion : string; {testo de 256 caracteres}
end;
const
nomb = 'oftalmol.fic';{nombre del fichero puede cambiar segun}
{cual quieras como}
{oftalmologia,pediatria, traumatologia, carfiologia y rayos X }
{pero con solo 8 letras en el nombre}
var
ficha : datos; {o si quieres mejor ficha : array[1..100] of datos}
{para empezar te recomiendo lo primero}
tecla : char; {para entrada por el teclado}
f : file of datos; {para guardar los datos tomados}
cont, x, y : integer; {posicion de los datos y contador para los string}
procedure entradadatos(xd, yd : integer);
begin
textcolor(15);
TextBackground(1);
clrscr;
textcolor(14);
gotoxy(xd + 20,yd - 4);write('**** ENTRE DATOS DE FICHA ****');
textcolor(15);
gotoxy(xd,yd);write('Cedula : ');
gotoxy(xd,yd + 1);write('Nombre : ');
gotoxy(xd,yd + 2);write('Apellido : ');
gotoxy(xd,yd + 3);write('Edad : ');
gotoxy(xd,yd + 4);write('Area : ');
gotoxy(xd,yd + 5);write('Costo : ');
gotoxy(xd,yd + 6);write('Fecha : ');
gotoxy(xd,yd + 7);write('Observacion : ');
gotoxy(xd + 19,yd);readln(ficha.cedula);
gotoxy(xd + 19,yd + 1);readln(ficha.nombre);
gotoxy(xd + 19,yd + 2);readln(ficha.apellido);
gotoxy(xd + 19,yd + 3);readln(ficha.edad);
gotoxy(xd + 19,yd + 4);readln(ficha.area);
gotoxy(xd + 19,yd + 5);readln(ficha.costo);
gotoxy(xd + 19,yd + 6);readln(ficha.fecha);
gotoxy(xd + 19,yd + 7);readln(ficha.observacion);
textcolor(14);
gotoxy(xd + 20,yd + 12);write('Desea guardar la ficha S/N');
textcolor(15);
repeat
tecla := readkey;
if tecla in['s','S','n','N'] then
begin
end
else
begin
sound(100);
delay(200);
nosound;
end;
until tecla in['s','S','n','N'];
if tecla in['s','S'] then
begin
assign(f,nomb); {Abrimos el fichero}
{$I-} reset(f); {$I+}
if ioresult <> 0 then
begin
rewrite(f); {creamos el archivo no esiste}
seek(f,0); {posicionamos el puntero del fichero al inicio}
write(f,ficha); {lo guardamos}
close(f); {lo cerramos}
end
else
begin { si esiste insertamos en el la ficha}
seek(f,sizeof(f)); {posicionamos el puntero de archivo}
write(f,ficha); {lo guardamos}
close(f); {lo cerramos}
end;
end;
TextBackground(0);
end;
procedure carga_fichas(xf, yf : integer); {cargamos los nombres}
{ para elegir}
begin
clrscr;
assign(f,nomb);
{$I-} reset(f); {$I+}
if ioresult <> 0 then
begin
writeln('El Fichero no Existe.....');
delay(300);
halt(1);
end;
for cont := 0 to filesize(f) - 1 do
begin
seek(f,cont);
read(f,ficha);
writeln(cont,' ',ficha.nombre);{ podiamos cargar cualquier otro}
{dato del registro por ejemp:}
{ficho.edad para comprovar la edad}
end;
close(f);
end;
procedure reporte(xr, yr : integer);
begin
clrscr;
assign(f,nomb);
{$I-} reset(f); {$I+}
if ioresult <> 0 then
begin
writeln('El Fichero no Existe.....');
delay(300);
halt(1);
end;
x := 0;
for cont := 0 to filesize(f) - 1 do
begin
seek(f,cont);
read(f,ficha);
if ficha.edad >= 60 then
begin
x := x + 1;
writeln(ficha.nombre);
end;
end;
writeln('Numero de mallores o de 60 a¤os = ',x);
end;
begin
clrscr; {limpiamos la pantalla}
textcolor(4);
gotoxy(10,8);write('MENU');
textcolor(14);
gotoxy(10,11);write('ENTRAR DATOS');
gotoxy(10,12);write('MIRAR NOMBRES');
gotoxy(10,13);write('REPORTE 60 A¥OS');
textcolor(15);
gotoxy(10,14);write('PULSA E=ENTRADAS / M=MIRAR / R=REPORTE');
repeat
tecla := readkey;
if (tecla in['e','E','m','M','r','R']) or (tecla = #27) then
begin
end
else
begin
sound(200);
delay(100);
nosound;
end;
until (tecla in['e','E','m','M','r','R']) or (tecla = #27);
case tecla of
'e','E' : begin
entradadatos(10,10); {presentamos ficha y la rellenamos}
end;
'm','M' : begin
carga_fichas(10,10); {visualizamos las fichas para elegir}
readln;
end;
'r','R' : begin
reporte(10,10);
readln;
end;
end;
end.