请哪位帮忙实现一上DOS上的fsplit函数,多谢

请哪位帮忙实现一下DOS下的fsplit函数,谢谢
本帖最后由 nmddwltz 于 2012-11-25 20:18:11 编辑
请哪位在Delphi中,帮忙实现一下DOS下的fsplit函数,谢谢
我很长时间没有用delphi了,所以不好意求教各位大侠。

Example

   fsplit('/usr/local/bin/readme.txt', d, n, e) stores
             '/usr/local/bin' in "d" and
             'readme' in "n" and
             '.txt' in "e"

   fsplit('c:\autoexec.bat', d,,) stores 'c:\' in "d"

我自己声明了如下的定义:(其实来源于turbo pascal 7.0 D:\TP\DOC\DOS.INT)

type

{ String types }

  ComStr  = string[127];        { Command line string }
  PathStr = string[79];         { File pathname string }
  DirStr  = string[67];         { Drive and directory string }
  NameStr = string[8];          { File name string }
  ExtStr  = string[4];          { File extension string }
~~~~~~~~~~~~~~~~~~~~
希望 哪位帮忙在delphi 中实现一下 FSPLIT:

调用的时候,如下:

FILEPATHNAME是传入的文件路径已经文件名;
后面的3个参数声明如下:
              DIR:DIRSTR;
              NAME:NAMESTR ;
              EXT:EXTSTR ;

调用例子:FSPLIT ( FILEPATHNAME, DIR , NAME, EXT);

先谢谢了。


------解决方案--------------------


procedure FSPLIT(FILEPATHNAME: string; var DIR, NAME, EXT: String);
begin
 dir := ExtractFilePath(FILEPATHNAME);
 NAME := ExtractFileName(FILEPATHNAME);
 EXT := ExtractFileExt(FILEPATHNAME);
end;