如何使用标题字节在Visual FoxPro表中计算记录数?

问题描述 投票:0回答:1

我们的表有时会因“ Not a table”错误而损坏。运行DBF Doctor的演示版,它报告标题具有错误的记录计数。

看着我能找到的一个例子,我不太确定如何弄清楚如何使用基数256计算记录数。

字节4-7具有DBF中的记录数。

([https://www.dbf2002.com/dbf-file-format.html

我使用小型Java程序从DBF标头读取的前10个字节是:

0 -> 0
1 -> 20
2 -> 3
3 -> 31
4 -> 81
5 -> 113
6 -> 0
7 -> 0
8 -> 0
9 -> 0
10-> 0

任何人都可以帮我弄清楚如何计算DBF中的记录数吗?

想看看我是否可以编写一个快速实用程序来解决此问题。

谢谢,

visual-foxpro dbf
1个回答
0
投票

您可以通过乘以256来计算行。对于每个字节(从最低到最高),您必须将该字节的值乘以(256 ^ n)。

例如:

81 = 81
113 * 256 = 28928
0 * 256 * 256 = 0
0 * 256 * 256 * 256 = 0

81 + 28928 + 0 + 0 = 29009

this thread中也讨论了该计算,但是它是FoxPro代码。

通过使用Hex-Editor查看您的dbf,可以更好地理解此主题。>>

© www.soinside.com 2019 - 2024. All rights reserved.