Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Fixing table with CMRepair
Message
De
16/11/2023 11:23:06
Lutz Scheffler
Lutz Scheffler Software Ingenieurbüro
Dresden, Allemagne
 
 
À
16/11/2023 11:01:20
Dragan Nedeljkovich (En ligne)
Now officially retired
Zrenjanin, Serbia
Information générale
Forum:
Visual FoxPro
Catégorie:
Produits tierce partie
Divers
Thread ID:
01687246
Message ID:
01687278
Vues:
29
>>>- with bells and whistles: figure out the untouched memo blocks in the memo file, list them for the operator, possibly he can identify missing data.
>>
>>>But I thought there was no backlinks in the FPT to point back to the DBF record who owns it? In cases where the FPT pointers in the DBF are corrupted (or the pointers are fine but the content of the FTP has been corrupted) how can you parse the FPT and "know" what DBF row that chunk belongs to? Apologies if my understanding of the internal structure of DBFs v. FPTs is incorrect.
>>
>>The memo comes in blocks of a size you find at byte 06-07 (SET BLOCKSIZE at creation time.) The blocks start at byte 512. The length of the memo is at offset 04, so you can calc how long a block is - and where the next one should start. A block starts with "00 00 00 00" or "00 00 00 01". If you do not see this at a block start, this is no block start, you are on a consecutive block.
>>
>>The memo field inside the DBF points to the start of the block. (for all I know, it's a virtual number, the position is number*blocksize+512)
>
>And that number is, believe it or not, n(10,0), i.e. written in plain ASCII. The field type is M, but the actual content is c(10) with just blanks and digits. Then you go to that block, read its length and fget() that.

Thanks. :)
Words are given to man to enable him to conceal his true feelings.
Charles Maurice de Talleyrand-Périgord

Weeks of programming can save you hours of planning.

Off

There is no place like [::1]
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform