我正在尝试在一个文件中创建一个能够创建、查看、删除和复制文件和目录的模型FAT16文件系统,但是我不熟悉如何对其进行编程的任何人?我想要下面这样的东西
type
TFileRec = Packed Record
ID: WORD; //id of item
ParID: WORD; //parent id
Name: String[8]; //name of item
Ext: String[3]; //extension if any (type)
Att: BYTE; //attributes (access modifiers, type, etc)
end;
var
FAT16: File of TFileRec;
ItemCount: Integer;发布于 2011-12-14 13:08:28
看看用户Primoz Gabrijelcic的Compound File implementation。它不是FAT16,但非常接近你要找的东西。
发布于 2011-12-14 13:54:59
我建议的方法是调整FAT 16实现,以使用文件作为硬盘介质。FAT文件系统与硬盘的接口是系统级命令,如read_sectors和write_sectors,它们对特定的LBA地址读/写多个512B缓冲区。对于您的情况,您可以将对读取扇区和写入扇区函数的调用替换为对文件的实际读写。
因此,通过更改这两个函数,您可以将媒体访问替换为文件访问。
准确地说,还有第三个系统级的硬盘调用,它返回介质的大小,这里应该用作为介质的最大文件大小来替换。
一个轻量级的FAT实现可以在here找到
https://stackoverflow.com/questions/8499210
复制相似问题