Pascal/Turbo Pascal - Como abrir fichero para utilizar

 
Vista:
sin imagen de perfil

Como abrir fichero para utilizar

Publicado por tugatime (44 intervenciones) el 11/01/2013 19:52:54
Lo que pasa es lo siguiente. Yo tengo un fichero de texto llamado "indice.txt". En ese fichero de texto estan guardados varios nombre (cada linea tiene 1 nombre). Cada uno de esos nombre es el nombre de una tabla, y en cada una de esas tablas estan guardadas informaciones sobre un cosa en concreto.

Bueno lo que yo quiero es hacer un procedimiento que utiliza el fichero "indice.txt" para poder haceder a las tablas y poder buscar si esta cierto contenido en esa tabla.

Por ejemplo. En ese fichero "indice.txt" tengo los siguientes nombre (esta un nombre po linea):
- misdatos.dat
- tusdatos.dat
- susdatos.dat
- tucocha.dat

Esos son los nombres que tiene el fichero "indice.txt". Cada uno de esos nombre representa una tabla donde esta guardada informacion. Hay algunas tablas que tienen (otras no tienen ese numero) un numero que esta guardado en una variable llamado "num".

Lo que yo quiero es hacer un procedimiento que usando el fichero "indice.txt" busque en que tablas esta el numero y calcule cuantos hay.

Alguien me puede decir como se hace ?
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

Como abrir fichero para utilizar

Publicado por ramon (2158 intervenciones) el 11/01/2013 22:13:59
Primero te informo el archivo de texto se puede leer así

1
2
3
4
5
6
7
8
9
10
11
12
var
       f : text;
       cade : string[78];
   begin
       assign(f,{a qui el nombre y extension del archivo asi como el camino donde este});
        reset(f);
      while not Eof(f) do   {leemos asta final de fichero}
     begin                           {para leer asta final de linea solo  Eoln }
          readln(f, cade);
         Writeln(cade);
     end;
   end.


A hora por lo que comentas esto solo es el nombre del archivo que contiene el numero
lo cual con esto no veras dicho numero solo el nombre y extensión que tu pones.
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
sin imagen de perfil

Como abrir fichero para utilizar

Publicado por tugatime (44 intervenciones) el 11/01/2013 23:56:49
Ok, pero mira. Este es el enunciado de mi problema.

1
Codifique un procedimiento (estadisticas_producto) que usando el fichero indice.txt calcule las unidades de determinado producto (cuyo nombre se pasa al procedimiento) que en un momento determinado están pedidas y pendientes de entrega. Recuerde que sólo están pedidas las cestas en las en la posición cero el campo en_cesta:=TRUE


Pide que calcule las unidades totales de determinado producto. Las unidades de los productos estan guardadas en las tablas, donde el nombre de cada tabla esta guardada en el fichero "indice.txt".

Para hacer esto como seria ?
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

Como abrir fichero para utilizar

Publicado por ramon (2158 intervenciones) el 12/01/2013 13:53:29
Por lo que comentas te faltaría la estructura del archivo que marca sino no puedes abrirlo
lo primero te tomaría el archivo a llamar pero como esta establecido ese archivo para
poderle leer.
eso es lo que falta.
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
sin imagen de perfil

Como abrir fichero para utilizar

Publicado por tugatime (44 intervenciones) el 12/01/2013 14:55:35
No entiendo muy bien lo que has dicho, pero voy a dejar aqui mas informacion. Este es el procedimiento que utilizo para guardar los nombres, es decir, siempre que guardo una cesta en un fichero, el nombre de la cesta se guardan en otro fichero, en este caso se guarda en el ficheo "indice.txt":

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
procedure fichero_guardar_pedidos(var Nfichero: string);
          var
             fichero: text;
 
          begin
               assign(fichero, 'indice.txt');
               {$I-}
               reset(fichero);
               {$I+}
 
               if (ioResult<>0) then
                  begin
                       rewrite(fichero);
 
                       writeln(fichero, Nfichero);
 
                       close(fichero);
                  end
               else
                   begin
                        append(fichero);
 
                        writeln(fichero, Nfichero);
 
                        close(fichero);
                   end;
          end;


Yo lo que tengo que hacer es: Hacer un procedimiento, que utilizando el fichero "indice.txt" calcule las unidades de determinado producto cuyo nombre se pasa el procedimiento.

P.S: Yo tengo 5 cestas. Cada cesta tiene 3 productos. El nombre de las 5 cestas estan guardado en el fichero "indice.txt". Es decir, tengo que hacer un procedimiento que recibe el nombre de un producto, y utilizando el fichero "indice.txt" busque ese producto en las 5 cestas y si lo encuentra que calcule cuantas unidades hay en total de ese producto en las 5 cestas.
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

Como abrir fichero para utilizar

Publicado por ramon (2158 intervenciones) el 12/01/2013 15:26:26
Vale cuando tu cargas el fichero que quieres tomaras de el el nombre del fichero que tiene los datos
que tu pides ejemplo:

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
function ficheroacargar : string;
  var
      sal : boolean;
   begin
    sal := false;
  assign(fichero, 'indice.txt');
    {$I-}  reset(fichero); {$I+}
     if ioresult <> 0 then
     begin
           writeln('El fichero indicado no existe');
            exit;
      end
  else
         begin
          writeln('El archivo a buscar sera = tusdatos.dat ');
         repeat
          readln(fichero,dato);
           if dato = 'tusdatos.dat' then
           sal := true;
          writeln(dato);
         until (Eof(F) = true) or (sal = true);
         if sal = true then
          ficheroacargar := dato
  else
          ficheroacargar := ´´;
         end;
    end;


con esto tomamos el fichero a cargar a ora tenemos que abrir el fichero de los datos
assign(f,ficheroacargar );
reset(f); f = tipo de fichero a leer como antes fue tipo text este que tipo es


el que tengas como cestas
5 cestas. Cada cesta tiene 3 productos. como lo guardastes como texto como arrays
como records ese es eldato que necesitas a ora.
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
sin imagen de perfil

Como abrir fichero para utilizar

Publicado por tugatime (44 intervenciones) el 13/01/2013 17:20:19
Vale, lo he entendido, pero hay una cosa que no entiendo.
Aqui:

until (Eof(F) = true) or (sal = true);

La F que representa ?? A que te refieres con esa F ??
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

Como abrir fichero para utilizar

Publicado por ramon (2158 intervenciones) el 13/01/2013 18:59:31
Mira f es el fichero que llamas que corresponderá con el formato de [ tusdatos.dat ] que yo desconozco por ello tendrás que saberlo tu.
como tu indicas [ tengo 5 cestas. Cada cesta tiene 3 productos. ]
por ejemplo :

1
2
3
4
5
6
7
8
9
10
type
  cesta = record
               patatas : integer;
               tomates : integer;
               pan  : integer;
         end;
 
   var
      f : file of cesta;   {esto seria el fichero}
      conten : cesta;   {esto lo que contendria}


si fuera archivo de texto seria:

f : text;
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

Como abrir fichero para utilizar

Publicado por ramon (2158 intervenciones) el 13/01/2013 22:20:48
Pasarme los tipes las constantes y variables que as creado para el para poder caminar contigo.
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