RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    Pregunta:  66980 - ARCHIVO DE TEXTO ERROR EN AGREGAR DATOS
Autor:  Jeison Morillo
Buenas tardes a todos soy nuevo en este foro y estoy estudiando ingenieria informatica actualmente estoy con pascal 1.9.2 haciendo un proyecto, en estos momentos estoy haciendo un programa que me genere un archivo de texto clientes y solo uno, luego ir agregando clientes al archivo con sus respectivos datos ya tengo mi esqueleto del programa principal armado este es solo un pedazo pero lo hize aparte este es mi codigo:

Program Crear_cliente;
uses crt;
Type
Archivo_cliente = text;
Var
Archivo:Archivo_cliente;
opcion:integer;

Procedure Agregar_cliente(var AA:archivo_cliente);
Var
opcion:integer;
Nombres:string;
Apellidos:string;
Nacionalidad:string;
Cedula:Longint;
Lugar_de_nacimiento:string;
Begin
Append(AA);
Opcion:=1;
Repeat
Writeln('Indiqué su Primer y Segundo Nombre: '); Readln(Nombres);Writeln;
Writeln('Escriba su Primer y Segundo Apellido: '); Readln(Apellidos);Writeln;
Writeln('Coloqué su Cedula de Identidad: '); Readln(Cedula);Writeln;
Writeln('Diga Donde Nació: '); Readln(Lugar_de_nacimiento);Writeln;
Writeln('DIga su Nacionalidad: ');Readln(Nacionalidad);Writeln;
WRITE(AA,Nombres); WRITE(AA,' ');
WRITE(AA,Apellidos); WRITE(AA,' ');
WRITE(AA,Cedula); WRITE(AA,' ');
WRITE(AA,Lugar_de_nacimiento);WRITE(AA,' ');
WRITELN(AA,Nacionalidad);
Write('¿Desea Agregar otro cliente?','1/0');
readln(opcion);
Until (opcion = 0);
Close(AA);
End;

Procedure Crear_archivo(Var A:Archivo_cliente);
Begin
Assign(A,'C:Dev-pasClientela.txt');
Rewrite(A);Writeln(A,'****** Archivo de clientes ******');
Close(A);
Writeln('Paso por crear archivo');
Writeln;
End;

Begin
Repeat
Writeln('* Escriba la opcion a operar: ');
Writeln('* 1: Crear un archivo');
Writeln('* 2: Agregar cliente');
Writeln('* 3: Salir');
Readln(opcion);
If opcion = 1 then
Begin
Writeln('ENTRARA POR CREAR ARCHIVO');
READLN;
Crear_archivo(Archivo);
End;
If opcion = 2 then
Begin
Writeln('PASARA POR AGREGAR CLIENTE');
READLN;
Agregar_cliente(archivo);
End;
Until (Opcion = 3);
end.
Primeramente lo habia hecho con archivo binario de tipo file of pero me trajo otros inconvenientos y no me funciono este metodo
El Programa compila bien y AL MOMENTO DE EJECUTAR EL PROGRAMA LA PRIMERA VEZ con la opcion 1 crea el archivo sin problemas con la opcion 2 agrega datos del cliente y los clientes que quieras al salir vuelve al menu principal y si te olvido agregar otro cliente volvemos a la opcion 2 mi problema es que al volver a correr el programa LA SEGUNDA VEZ como ya tengo el archivo generado no quiero volver a crearlo ni a assignarlo quiero entrar automaticamente siempre a partir de este momento en la opcion 2 de agregar datos pero no me entra y se me sale del programa si alguien me pudiera ayudar y decir que tengo malo o que debo mejorar.

Gracias de antemano un saludo


Nombre
Apellidos
Correo
Comentarios