Pascal/Turbo Pascal - Guardar de un registro a otro

   
Vista:

Guardar de un registro a otro

Publicado por Franco (1 intervención) el 10/12/2015 17:49:44
Hola, discuplen necesito ayuda.

me pidieron crear un Archivo para una farmacia en free pascal, donde guardar datos de medicamentos y personsa (nombres, codigos, precios, dni, esas cosas) ambos son dos archivos dinstintos o regisrtos nose com que nombre los conoceran y mostrar todo en otro archivo llamado movimientos que es donde se pide la cantidad de medicameto que se lleva y quien se lo lleva, quisiera saber como guardar los datos en ese archivo usando ya los cargados en los otros 2, solo deberia agregar la cantidad que se lleva, pero dejando de lado eso, como haria para guardar los nombres precios y todo eso en ese archivo ??

gracias por leer y mas por responder !!
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

Guardar de un registro a otro

Publicado por ramon (2072 intervenciones) el 14/12/2015 12:10:44
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
{A ver  si esto ayuda }
 
uses
   crt;
 
 const
    nomb = 'Archivof.dat';
 
 type
   medicamentos = record
            nombres : string;
            codigos : longint;
            precios : real;
            dni     : longint;
            {mas todo lo que quieras}
          end;
 
   var
     farmacia : medicamentos;
     f : file of medicamentos;
 
 
 
  procedure guardarcliente(cli : medicamentos);
  begin
        assign(f,nomb);
  {$I-} reset(f); {$I+}
       if ioresult <> 0 then
       begin
          rewrite(f);
          seek(f,0);
          write(f,cli);
          close(f);
       end
   else
      begin
         seek(f,filesize(f));
         write(f,cli);
         close(f);
      end;
  end;
 
  procedure entadacliente;
  begin
     clrscr;
     writeln('   ***** Entrada Datos Cliente Nuevo *****');
     writeln;
     write('   Entre Nombre : ');
     readln(farmacia.nombres);
     write('   Entre Codigo : ');
     readln(farmacia.codigos);
     write('   Entre Precio : ');
     readln(farmacia.precios);
     write('   Entre D.N.I  : ');
     readln(farmacia.dni);
     guardarcliente(farmacia);
  end;
 
  procedure presentarcliente(eldni : longint);
  var
    nu, l : longint;
    datos : medicamentos;
    encontrado : boolean;
  begin
     assign(f,nomb);
  {$I-} reset(f); {$I+}
       if ioresult <> 0 then
       begin
         writeln('   Error DEe Archivo O No Existe Pulse Una Tecla');
         readkey;
       end
    else
       begin
         encontrado := false;
         for l := 0 to filesize(f) - 1 do
         begin
            seek(f,l);
            read(f,datos);
            if datos.dni = eldni then
            begin
               encontrado := true;
               nu := l;
               close(f);
               break;
            end;
         end;
           if encontrado  = true then
           begin
             clrscr;
             writeln('    Los datos Son ');
             writeln;
             writeln('   Nombre : ',datos.nombres);
             writeln('   Codigo : ',datos.codigos);
             writeln('   Precio : ',datos.precios:0:2);
             writeln('   DNI    : ',datos.dni);
             writeln;
             writeln('   Pulse Una Tecla');
             readkey;
           end
        else
          begin
             writeln('   Numero De DNI No Encontrado Pulse Una Tecla');
             readkey;
          end;
       end;
  end;
 
 
  procedure menu;
  var
    tecla : char;
    sal : boolean;
    nd : longint;
    begin
       sal := false;
     repeat
         clrscr;
         writeln('   ***** Menu Jeneral *****');
         writeln;
         writeln('   1 = Entrada Cliente Nuevo');
         writeln('   2 = Mostrar Datos Cliente');
         writeln('   3 = salir');
         writeln;
         writeln('   >>> Elija Opcion <<<');
       repeat
           tecla := readkey;
       until tecla in['1','2','3'];
       clrscr;
     case tecla of
  '1' : entadacliente;
  '2' : begin
          writeln('  Entre Numero DNI');
          writeln;
          write('   Numero : ');
          readln(nd);
          presentarcliente(nd);
        end;
  '3' : sal := true;
    end;
     until sal = true;
    end;
 
 
 
  begin
     menu;
  end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar