下面的VB程序,创建一个文件,如果改成Delphi,应该怎么写呀Option Explicit
Private Declare Function CreateFile Lib "kernel32" _
   Alias "CreateFileA" _
  (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, _
   ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Long, _
   ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, _
   ByVal hTemplateFile As Long) As Long
    
Private Declare Function CloseHandle Lib "kernel32" _
   (ByVal hObject As Long) As LongPrivate Const SEM_FAILCRITICALERRORS = &H1
Private Const SEM_NOOPENFILEERRORBOX = &H8000&
Private Const OPEN_EXISTING As Long = 3
Private Const OPEN_ALWAYS As Long = 4
Private Const FILE_SHARE_READ As Long = &H1
Private Const FILE_SHARE_WRITE As Long = &H2
Private Const GENERIC_READ As Long = &H80000000
Private Const GENERIC_WRITE As Long = &H40000000Private Sub Command1_Click()
   Dim hFile As Long
   Dim sFPath As String   sFPath="c:\temp\qq.txt"
   hFile = CreateFile(sFPath, _
                      GENERIC_READ Or GENERIC_WRITE, _
                      FILE_SHARE_READ Or FILE_SHARE_WRITE, _
                      0&, _
                      OPEN_EXISTING, _
                      0, _
                      0&)
                               
   Call CloseHandle(hFile)
End sub

解决方案 »

  1.   

    uses windows;procedure TForm1.Button1Click(Sender: TObject);
    var
      sFPath:string;
      hfile:dword;
    begin
      sFPath:='c:\temp\qq.txt';
      hfile:=CreateFile(pchar(sFPath), GENERIC_READ Or GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE,nil, OPEN_EXISTING, 0, 0);
      CloseHandle(hfile);
    end;
      

  2.   

    function CreateNullFile(AFileName: String): Boolean;  //建立空的文件
    var
      HFILE: THandle;
    begin
      HFILE := CreateFile(PChar(AFileName), GENERIC_READ, FILE_SHARE_READ, nil, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0);
      if HFILE <> INVALID_HANDLE_VALUE then
      begin
        CloseHandle(HFILE);
        Result := True;
      end
      else
        Result := False;
    end;