Creacion de un directorio
pascal:
program crear;
uses
crt;
type
Regpersona = record
idpersona : longint;
Nombre : string[30];
Calle : string[25];
Ciudad : string[15];
Telefono : string[15]
end;
Archivero = file of Regpersona;
Regcontrol = record
idcontrol : longint;
idependencia : longint;
idpersona : longint;
borrado : boolean;
end;
ArchiveroControl = file of Regcontrol;
var
ArchivoPersona : Archivero;
Usuario : RegPersona;
ArchivoControl : ArchiveroControl;
control : RegControl;
idusuario : longint;
idCtrl : longint;
resultado : integer;
respuesta : char;
BEGIN
{--------------------------- APERTURA DEL ARCHIVO DE CONTROL ---------------------------}
Assign(ArchivoControl,'c:\control.ctr');
{$I-}
Reset(ArchivoControl); {Abre el flujo de datos para posteriormente ser guardado}
Resultado:=IOresult;
{$I-}
if Resultado <> 0 then {El archivo no existe}
begin
Rewrite(ArchivoControl);
idCtrl := 0;
end
else
begin
idCtrl := filesize(ArchivoControl) + 1
end;
{--------------------------- APERTURA DEL ARCHIVO DE PERSONAS ---------------------------}
Assign(ArchivoPersona,'c:\personas.arg');
{$I-}
Reset(ArchivoPersona); {Abre el flujo de datos para posteriormente ser guardado}
Resultado:=IOresult;
{$I-}
if Resultado <> 0 then {El archivo no existe}
begin
Rewrite(ArchivoPersona);
idusuario := 0;
end
else
begin
idusuario := filesize(ArchivoPersona) + 1
end;
{------------------------- ALTA DE USUARIOS -------------------------------------------}
with Usuario do
repeat
clrscr;
idPersona:= idusuario;
writeln('id : ',idusuario);
Write('Nombre Completo : ');
ReadLn (Nombre);
Write('Calle : ');
ReadLn (Calle);
Write('Ciudad : ');
ReadLn (ciudad);
Write('Telefono: ');
ReadLn (Telefono);
seek(ArchivoPersona,filesize(ArchivoPersona));
Write (ArchivoPersona,Usuario); {Escritura de un registro}
{ REGISTRO DEL CONTROL USUARIO/DEPENDENCIA }
randomize;
control.idcontrol:=idCtrl;
control.idpersona:=idUsuario;
control.idependencia:=random(10);
control.borrado:=false;
seek(ArchivoControl,filesize(ArchivoControl));
Write (ArchivoControl,control);
{En Su directirio no VAN A GENERAR UN NUMERO ALEATORIO, SOLO ES EJEMPLO}
WriteLn('Desea otro elemento s/n');
respuesta := upcase(readkey);
idusuario:=idusuario+1;
idCtrl:=idCtrl+1;
until respuesta = 'N';
Close(ArchivoControl);
Close(ArchivoPersona);
END.
uses
crt;
type
Regpersona = record
idpersona : longint;
Nombre : string[30];
Calle : string[25];
Ciudad : string[15];
Telefono : string[15]
end;
Archivero = file of Regpersona;
Regcontrol = record
idcontrol : longint;
idependencia : longint;
idpersona : longint;
borrado : boolean;
end;
ArchiveroControl = file of Regcontrol;
var
ArchivoPersona : Archivero;
Usuario : RegPersona;
ArchivoControl : ArchiveroControl;
control : RegControl;
idusuario : longint;
idCtrl : longint;
resultado : integer;
respuesta : char;
BEGIN
{--------------------------- APERTURA DEL ARCHIVO DE CONTROL ---------------------------}
Assign(ArchivoControl,'c:\control.ctr');
{$I-}
Reset(ArchivoControl); {Abre el flujo de datos para posteriormente ser guardado}
Resultado:=IOresult;
{$I-}
if Resultado <> 0 then {El archivo no existe}
begin
Rewrite(ArchivoControl);
idCtrl := 0;
end
else
begin
idCtrl := filesize(ArchivoControl) + 1
end;
{--------------------------- APERTURA DEL ARCHIVO DE PERSONAS ---------------------------}
Assign(ArchivoPersona,'c:\personas.arg');
{$I-}
Reset(ArchivoPersona); {Abre el flujo de datos para posteriormente ser guardado}
Resultado:=IOresult;
{$I-}
if Resultado <> 0 then {El archivo no existe}
begin
Rewrite(ArchivoPersona);
idusuario := 0;
end
else
begin
idusuario := filesize(ArchivoPersona) + 1
end;
{------------------------- ALTA DE USUARIOS -------------------------------------------}
with Usuario do
repeat
clrscr;
idPersona:= idusuario;
writeln('id : ',idusuario);
Write('Nombre Completo : ');
ReadLn (Nombre);
Write('Calle : ');
ReadLn (Calle);
Write('Ciudad : ');
ReadLn (ciudad);
Write('Telefono: ');
ReadLn (Telefono);
seek(ArchivoPersona,filesize(ArchivoPersona));
Write (ArchivoPersona,Usuario); {Escritura de un registro}
{ REGISTRO DEL CONTROL USUARIO/DEPENDENCIA }
randomize;
control.idcontrol:=idCtrl;
control.idpersona:=idUsuario;
control.idependencia:=random(10);
control.borrado:=false;
seek(ArchivoControl,filesize(ArchivoControl));
Write (ArchivoControl,control);
{En Su directirio no VAN A GENERAR UN NUMERO ALEATORIO, SOLO ES EJEMPLO}
WriteLn('Desea otro elemento s/n');
respuesta := upcase(readkey);
idusuario:=idusuario+1;
idCtrl:=idCtrl+1;
until respuesta = 'N';
Close(ArchivoControl);
Close(ArchivoPersona);
END.