unit Unit3;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Menus;type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    RichEdit1: TRichEdit;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    File1: TMenuItem;
    Edit1: TMenuItem;
    Format1: TMenuItem;
    open1: TMenuItem;
    copy1: TMenuItem;
    paste1: TMenuItem;
    paset1: TMenuItem;
    exit1: TMenuItem;
    Font1: TMenuItem;
    Size1: TMenuItem;
    Style1: TMenuItem;
    Save1: TMenuItem;
    Saveas1: TMenuItem;
    Bold1: TMenuItem;
    Italic1: TMenuItem;
    AddMenu1: TMenuItem;
    DeleteMenu1: TMenuItem;
    New1: TMenuItem;
    procedure open1Click(Sender: TObject);
    procedure Saveas1Click(Sender: TObject);
    procedure Save1Click(Sender: TObject);  private
    { Private declarations }
    FFileName:String;
   procedure SetFileName(const FileName: String);
   procedure CheckFileSave;
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}
 procedure TForm1.SetFileName(const FileName: String);
begin
end;
procedure TForm1.CheckFileSave;
begin
end;procedure TForm1.open1Click(Sender: TObject);
begin
     CheckFileSave;
    if OpenDialog1.Execute then
    begin
    RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);
    SetFileName(OpenDialog1.FileName);
    RichEdit1.SetFocus;
    RichEdit1.Modified:=false;
    RichEdit1.ReadOnly:=ofReadOnly in OpenDialog1.Options;
    end;
end;procedure TForm1.Saveas1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
  if FileExists(SaveDialog1.FileName) then
   if MessageDlg(Format('Ok to overwrite %s',[SaveDialog1.FileName]),
   mtConfirmation,mbYesNoCancel,0)<>idYes then Exit;
   RichEdit1.Lines.SaveToFile(SaveDialog1.FileName);
   SetFileName(SaveDialog1.FileName);
   RichEdit1.Modified:=false;end;
end;procedure TForm1.Save1Click(Sender: TObject);
begin
if FFileName:='Untitled' then--》“这里出的错”
  SaveAs1Click(Sender);
  else
  begin
  RichEdit1.Lines.SaveToFile(FFileName);
  RichEdit1.Modified:=false;
 end;
end;end.
编译时出现下面错误提示:
[Error] Unit3.pas(88): Type of expression must be BOOLEAN
  [Fatal Error] Project4.dpr(5): Could not compile used unit 'Unit3.pas'
该怎么修改if语句?谢谢

解决方案 »

  1.   

    if FFileName='Untitled' then:=是赋值
      

  2.   

    二楼说得对。这是个基本的语法问题。
    请仔细看看ObjectPascal语法的书。《Pascal精要》就不错!
      

  3.   

    SaveAs1Click(Sender)后不能加分号,老大呀!你原来肯定是学C/C++的吧
      

  4.   

    procedure TForm1.Save1Click(Sender: TObject);
    begin
    if FFileName='Untitled' then
    //delphi中判断语句a=b a:=b是赋值语句
      SaveAs1Click(Sender)
    //else前面的语句不要;
    //或者写成
    //begin
    //  SaveAs1Click(Sender);
    //end
    //else  
      else
      begin
        RichEdit1.Lines.SaveToFile(FFileName);
        RichEdit1.Modified:=false;
      end;
    end;