Pascal/Turbo Pascal - Requiero en ayuda en programa pascal

   
Vista:

Requiero en ayuda en programa pascal

Publicado por Francisco franllinas@hotmail.com.ar (1 intervención) el 24/01/2018 02:08:42
Buenas, estoy por hacer un programa y tengo una duda que me impide comenzar a hacerlo.
El programa debe registrar campos y cada campo contiene una cantidad de lotes(maximo 8 lotes) y a su vez cada lote deberá contener un registro con información(Fecha,Labor,Cultivo,Hectareas,etc), y luego se deberan guardar los datos en un archivo o archivos(todavia no tengo claro que seria lo mas óptimo).
Ahora cada lote tendrá informacion diferente según la fecha, y lo que yo no se es como puedo pasar todos los campos, sus lotes, y la informacion de cada lote según la fecha a un archivo, pensé utilizar una lista pero tengo entendido que una lista no se puede pasar a un archivo sino sus datos solo. También pensé utilizar arreglos pero se dificulta bastante.
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

Requiero en ayuda en programa pascal

Publicado por ramon (2113 intervenciones) el 30/01/2018 18:22:13
Como veras los datos requieren de registros para guardar y poder manejar después esto seria algo así.
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
datos = record
           Fecha : string[12];
           Labor : string[50];
          cultivo  : string[100];
         Hectareas : real;
          {etc }
        end;
 
   campos = array[1..8] of datos;
 
  var
     entidad : campos;
     f : file of campos;
 
 
    procedure guerda(t : campos);
    begin
         assign(f,nombre);
 {$i-} reset(f); {$i+}
   if ioresult <> 0 then
  begin
       rewrite(f);
       seek(f,0);
       write(f,t);
       close(f);
  end
else
     begin
           seek(f,filesize(f));
           write(f,t);
           close(f);
    end;
end;
 
procedure entra_datos;
var
    c : integer;
    te : char;
    sal : boolean;
  begin
       c := 1;
        sal := false;
  repeat
        writeln('Entrada De Datos');
        writeln;
        write('Entre Fecha : ');
        readln(entidad[c].fecha);
        write('Entre  Labor  : ');
        readln(entidad[c].Labor );
        write('Entre  Hectareas  : ');
        readln(entidad[c].Hectareas);
       {sige lo que sea mas}
    writeln('Desea Entrar Mas Datos [S/N]');
    repeat
          te := upcase(readkey);
    until te in['S','N'];
    if te = 'S' then
     c := c + 1
 else
  sal := true;
  until (c > 8) or (sal = true);
   guerda(entidad);
  end;

Esto te alludara creo
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
Revisar política de publicidad