Creacion de un directorio

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.

¿Has encontrado algún error? ¿Tienes la solución? Dejame tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.

Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

  • Si es lenguaje C [c]Código en C[/c]
  • Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].

De esta manera el código coloreas el código.

Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:

Me reservo el derecho de alterar, publicar o no los comentarios as´ como cambiar mis condiciones en el momento que así lo requiera.

¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)