Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-04-2020
bpesoj bpesoj is offline
Registrado
 
Registrado: dic 2004
Posts: 9
Poder: 0
bpesoj Va por buen camino
Problema leyendo la FAT32

Hola,
Me dirijo al Foro, a ver si alguien puede ayudarme. Estoy añadiendo a un programa para guardar y localizar rapidamente las fotos que voy escribiendo la posibilidad de recuperar archivos perdidos (borrados, o como sea) de una unidad, por lo general USB y tambiés por lo general, con FAT32.

Con ayuda de un ejemplo de D. Seoane (Gracias!) he llegado a encontrar el directorio de un archivo dado, en la FAT, y me he encallado al ir a leer lo que se puede llamar la «entrada de la FAT» correspondiente al primer cluster del archivo, en la cual tiene que estar el número del «siguiente cluster del sector de datos» si no se acabó en el primero. Para ello, sigo las instrucciones de (no puedo poner enlaces, lo siento) que indican que dado un número de cluster, su entrada en la matriz de la FAT viene dada por: (N es el cluster)

FATOffset = N * 4;
ThisFATEntOffset = REM(FATOffset / BPB_BytsPerSec); // REM es el residuo de la división

Sin embargo, el ThisFATEntOffset no es un índice correcto en la matriz de la FAT ya que lo que leo desde aquella dirección no forma parte del archivo (y sí de otro, evidentemente).

Quedaría muy agradecido si alguien de aquí, que sois muy buenos, pudiera echarme un cable, a ver en qué dirección tengo que buscar el siguiente cluster.

Saludos cordiales.
Responder Con Cita
  #2  
Antiguo 14-04-2020
bpesoj bpesoj is offline
Registrado
 
Registrado: dic 2004
Posts: 9
Poder: 0
bpesoj Va por buen camino
Hola,
Me respondo:
He encontrado (lo siento, no puedo poner enlaces) que la dirección al siguiente pedazo del archivo se encuentra:
Código Delphi [-]
Fat_Begin:=512 + (BootSector.RsvdSecCnt-1) * BootSector.BytsPerSec;
cluster:=FAT_Begin + (cluster_actual*2);
index:=((cluster) mod (BootSector.BytsPerSec));
cluster:=FAT^[index] and $0fffffff;
BootSector es un record con la info del sector inicial y FAT un puntero a una matriz de Cardinal.
No se si es del todo correcto, pero la verdad es que funciona perfectamente.



Saludos cordiales
Responder Con Cita
  #3  
Antiguo 14-04-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes poner enlaces "camuflados" y algún moderador los editará para que sean activos.
EJemplo: ttps://www.clubdelphi.com
Responder Con Cita
  #4  
Antiguo 15-04-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Quizás sean de tu interés estos temas:
Vacunar disco (FAT32) contra un "AUTORUN.INF" malicioso (Seoane)
Trabajar con la FAT32 (o como vacunar un disco extraible) (Seoane)
Trabajando con FAT16 y FAT32 (escafandra)


Saludos.
Responder Con Cita
  #5  
Antiguo 26-04-2020
bpesoj bpesoj is offline
Registrado
 
Registrado: dic 2004
Posts: 9
Poder: 0
bpesoj Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Puedes poner enlaces "camuflados" y algún moderador los editará para que sean activos.
EJemplo:

Gracias, lo sabré para otra ocasión.


Cita:
Empezado por escafandra Ver Mensaje
Quizás sean de tu interés estos temas:

Saludos.
De aquí saqué la mayor parte de la información. Gracias. Sois muy buenos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error leyendo archivo XML arturom Lazarus, FreePascal, Kylix, etc. 10 28-04-2015 08:39:23
Problema leyendo planilla excel lbidi Servers 3 17-09-2014 16:58:34
Problema leyendo líneas de texto con variables UsuarioBaja123 Varios 1 04-06-2014 23:41:26
Qué libro estoy leyendo? marcoszorrilla La Taberna 27 19-07-2011 00:39:14
Problema con ADO leyendo excel RICTAPIA5 Conexión con bases de datos 2 26-01-2011 18:09:04


La franja horaria es GMT +2. Ahora son las 00:39:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi