Pascal/Turbo Pascal - Ayuda con archivos, dev pascal

 
Vista:
sin imagen de perfil

Ayuda con archivos, dev pascal

Publicado por Andres (1 intervención) el 09/02/2016 18:15:07
Hola, bueno, necesitaba ayuda por un problema que tengo, estaba tratando de hacer algo simple con archivos, pero tengo un problema que al registrar datos, lo hace, pero cuando cierro el programa y lo vuelvo a abrir, registro algo nuevo y reemplaza al primer registro agregado, como si el puntero quedara arriba y no estoy seguro como es correcto, por favor ayuda y gracias. Acá dejo el código, desordenado pero bueno, es algo simple.
También hay otro error que cuando quiero agregar un repeat para el case, no me muestra los registros al presionar "2". Gracias.


Código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
Program ascsasa(input,output);
uses crt;
 
Type
 
datos=record
            nombre:String;
            dni:integer;
            end;
 
arch=file of datos;
 
var
kkk:arch;
aux:datos;
op:integer;
l:char;
 
Procedure cargar;
begin
            repeat
            writeln('ingrese dni');
            readln(aux.dni);
            writeln('ingrese nombre');
            readln(aux.nombre);
            write(kkk,aux);
            writeln('Desea agregar mas datos? (S/N)');
            readln(l);
            until l='N';
            close(kkk);
            end;
 
begin
 
     assign(kkk,'C:\Users\Andres\Documents\Pascal\Archivos\prueba.dat');
     reset(kkk);
 
     clrscr;
     writeln('1:altas');
     writeln('2:mostrar');
     writeln('3:salir');
     writeln('Ingrese su opcion: ');
     readln(op);
     case op of
 
     1:cargar;
 
     2:begin
             clrscr;
             reset(kkk);
             seek(kkk,0);
             while not eof(kkk) do begin
             read(kkk,aux);
             writeln(aux.dni,'          ',aux.nombre);
             end;
 close(kkk);
 end;
 end;
 readkey;
 
 
 end.

No sé si es la forma correcta de hacer el tema pero bueno, es la primera vez que público acá, disculpen.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder