tengo este code ...
program admin;
uses
crt;
//Declaramos las variables que usamos
const
archext = 'archivo.dat';
contador = 0;
//declaro estructura
type
datos=record
nombre:string[30];
apellido:string[30];
dni:string[10];
telefono:string[20];
direccion:string[30];
n_carpa:integer;
end;
// arreglo de datos para ordenar
ARdatos = array[0..100] of datos;
//declaro que agenda es igual a el tipo de estructura
agenda = file of datos;
var
op:char; //operacion a realizar
arch:agenda; //nombre interno de archivo
procedure crear_arch(var info:datos); //procedimiento crea archivo
begin
Assign(arch, archext); //asigno el archivo interno a el declarado en la constante al principio
end;
procedure a_cliente(); //procedimiento para agregar cliente
var //variables de el procedimiento
info:datos;
begin
reset(arch);
writeln('Ingrese Nombre'); //ingresamos los datos
readln(info.nombre);
writeln('Ingrese Apellido');
readln(info.apellido);
writeln('Ingrese Dni');
readln(info.dni);
writeln('Ingrese Telefono');
readln(info.telefono);
writeln('Ingrese Direccion');
readln(info.direccion);
writeln('Ingrese Numero De Carpa');
readln(info.n_carpa);
write(arch, info);
close(arch);
end;
procedure m_cliente();
begin
// COMO MODIFICO DATOS DE LOS CLIENTES
end;
procedure menu; //Formamos el menu
begin
writeln('Menu');
writeln('1.Agregar Cliente');
writeln('2.Modificar Cliente');
writeln('3.Borrar Cliente');
writeln('4.Opcion de Respaldo de Datos');
writeln('5.Finalizar Aplicacion');
end;
procedure decision; //depende de el numero la accion que eligen del menu
begin
readln(op);
case op of
'1' : a_cliente; // Agrego Cliente
// '2' : m_cliente; // Modifico Cliente
// '3' :b_cliente; // Borro cliente
// '4' : respaldo; // Realizamos backup
// '5' : cerrar; // Guarda y cierra
end;
end;
procedure listar(var info:datos); // este compila bien pero si lo llamo en el programa principal me da error :S
begin
while not eof do
write('El listado de Nombres completo es:',info.nombre);
end;
Begin // Programa Principal
menu;
End.
la cuestion es como completo el procedimiento de ordenacion que me hice un lio BARBARO! y por que me da error cuando llamo a listar ?¿?¿?¿ si me pueden dar una mano se los agradeceria
tengo esto ahora pero no anda
procedure ordeno(var ARdatosarray:datos);
var ordenado:boolean;aux,i:integer;j:integer;
begin
ordenado:=false;
while not ordenado=true do
// Vamos a recorrer todo el vector parándonos en cada posición, salvo en la última porque ya está ordenada sí o sí tras la primera pasada.
for i:= 1 to 100-1 do
// y por cada parada, se recorre el vector hasta el final, haciendo las comparaciones.
for j:=i to 100 do
// Veo si la posición siguiente del vector es mayor a la actual
if (ARdatos[j] < ARdatos[j+1]) then
aux:=ARdatos[j]; // guardo temporalmente la posición actual en auxiliar,
ARdatos[j]:=ARdatos[j+1];//la posición actual pasa a valer lo mismo que la posición siguiente,
ARdatos[j+1]:=aux; // la posición siguiente pasa a valerlo que valía la posición actual (aux).