如何在规定的目录下创建一个二进制文件,首先判断这个文件是否存在,如果不存在就创建它。

解决方案 »

  1.   

    用TfileStream.Create('路径+文件名', fmCreate )试试看。
      

  2.   

    type r=record
      a: integer;
      b: integer;
      end;procedure FormCreate(Sender: TObject)
    var
      f: file of r;
      s: string;
    begin
    s:=extractfilepath(application.exename) + '你的文件名';
    if not FileExists(s) then
    begin
      AssignFile(f,s);
      rewrite(f);
    end
    else
    begin
      assignfile(f,s);
      append(f);
    end;
    end;
      

  3.   

    if FileExists(AFileName) then  //文件是否存在
            gFHandle:=FileCreate(AFileName);
            if gFHandle <> -1 then
            begin
              //置初始值
              with gFHead do
              begin
                cID[0] := '2';
                cID[1] := '2';
                cID[2] := '2';
                cID[3] := '2';
                cID[4] := '2';
                cLen   := sizeof(TUserHeader);
                rTime  := Now;
                sID    := NumEncypher(AID);
                sKey   := GetTickCount;
                uID1[0]:= #0;
                StrEncypher(skey,uID1,4);
                uNum1  := RandomNum;
                uID2[0]:= #0;
                StrEncypher(skey,uID2,4);
                uNum2  := RandomNum;
                uID3[0]:= #0;
                StrEncypher(skey,uID3,4);
                uNum3  := RandomNum;
                rFlag  := NumEncypher(AID)+ADefVal;
                dID[0] := '2';
                dID[1] := '2';
                dID[2] := '2';
                dID[3] := '2';
                dLen   := sizeof(TUserHeader);
              end;
              FileWrite(gFHandle,gFHead,sizeof(TUserHeader));
              FileWrite(gFHandle,gFHead.uID1,sizeof(gFHead.uID1));
              FileClose(gFHandle);