FileWrite(FileHandle,StringGrid1.ColCount, SizeOf(StringGrid1.ColCount));这句话在说什么?StringGrid1.colcount的值为5,当写到TxT文件中时为一个黑方块加两空格,写到Doc文件中为一空格加三方框,为什么?

解决方案 »

  1.   

    FileHandle := FileCreate(SaveDialog1.FileName);
        FileWrite(FileHandle,
          StringGrid1.ColCount, SizeOf(StringGrid1.ColCount));
          FileWrite(FileHandle,StringGrid1.RowCount, SizeOf(StringGrid1.RowCount);
    代码应该很明确了吧
      

  2.   

    下面是delphi帮助中的一个实例;你先看下;procedure TForm1.Button1Click(Sender: TObject);
    var
      BackupName: string;
      FileHandle: Integer;
      StringLen: Integer;
      X: Integer;
      Y: Integer;
    begin
      if SaveDialog1.Execute then
      begin
        if FileExists(SaveDialog1.FileName) then
        begin
          BackupName := ExtractFileName(SaveDialog1.FileName);
          BackupName := ChangeFileExt(BackupName, '.BAK');
          if not RenameFile(SaveDialog1.FileName, BackupName) then        raise Exception.Create('Unable to create backup file.');
        end;
        FileHandle := FileCreate(SaveDialog1.FileName);
        { Write out the number of rows and columns in the grid. }
        FileWrite(FileHandle, 
          StringGrid1.ColCount, SizeOf(StringGrid1.ColCount));
        FileWrite(FileHandle, 
          StringGrid1.RowCount, SizeOf(StringGrid1.RowCount));
        for X := 0 to StringGrid1.ColCount ?1 do
        begin      for Y := 0 to StringGrid1.RowCount ?1 do
          begin
            { Write out the length of each string, followed by the string itself. }
            StringLen := Length(StringGrid1.Cells[X,Y]);
            FileWrite(FileHandle, StringLen, SizeOf(StringLen));
            FileWrite(FileHandle,
              StringGrid1.Cells[X,Y], Length(StringGrid1.Cells[X,Y]);
          end;
        end;
        FileClose(FileHandle);
      end;end;
      

  3.   

    不知道你有没有试过该实例在Delphi中不能通过!