Delphi中写一模糊查询程序,在Form窗体中添加一个Button,双击该按钮对其编程存储为“AAA1”经过调式,语句错误提示没有了。但是一直显示:[Error] AAA1.pas(45): Declaration expected but end of file found
然后光标停在AAA1文件中的End;后面。始终不知道错在哪
怕程序弄丢了点击的保存。结果又让存储一个文件。设为“AAA”其内容如下。再调试出现错误[Fatal Error] AAA.dpr(5): Could not compile used unit 'D:\洪宇工作记录\AAA1.pas'AAA1如下
unit AAA1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids;type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    DBNavigator1: TDBNavigator;
    Button1: TButton;
    Edit1: TEdit;
    ADODataSet1: TADODataSet;
    ADOQuery1: TADOQuery;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
        ADOQuery1.close;
        ADOQuery1.ClearFields;
        ADOQuery1.SQL.Add('select * from gzjl where JE like ''%'+edit1.Text+'%''');
        ADOQuery1.Open;
        edit1.Text:='';
        edit1.SetFocus;
end;AAA如下:
program AAA;uses
  Forms,
  AAA1 in 'D:\洪宇工作记录\AAA.pas' {Form1};{$R *.res}begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end;

解决方案 »

  1.   

    文件 AAA
      "end." 不是"end;"(句号,不是分号)
      检查文件的结尾。
      

  2.   

    你在单元的最后少了一个"end."
    就是单元的结束标志 ,
    你随便找个建个空窗体 看看就知道了
      

  3.   

    没更改分号,错误是这样地:[Error] AAA1.pas(48): Declaration expected but end of file found
    [Fatal Error] AAA.dpr(5): Could not compile used unit 'D:\洪宇工作记录\AAA1.pas'将分号改成点。显示如下错误:[Error] AAA1.pas(41): ';' expected but '.' found
    [Error] AAA1.pas(48): Declaration expected but end of file found
    [Fatal Error] AAA.dpr(5): Could not compile used unit 'D:\洪宇工作记录\AAA1.pas'
      

  4.   

    program AAA;uses
      Forms;
      AAA1 in 'D:\洪宇工作记录\;       {$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.改成这样吗。不管怎么改。都提示
    [Error] AAA.dpr(5): Declaration expected but identifier 'Form1' found
    [Error] AAA.dpr(11): Undeclared identifier: 'TForm1'
      

  5.   

    unit AAA1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DB, ADODB, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids;type
      TForm1 = class(TForm)
        ADOConnection1: TADOConnection;
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        DBNavigator1: TDBNavigator;
        Button1: TButton;
        Edit1: TEdit;
        ADODataSet1: TADODataSet;
        ADOQuery1: TADOQuery;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
            ADOQuery1.close;
            ADOQuery1.ClearFields;
            ADOQuery1.SQL.Add('select * from gzjl where JE like ''%'+edit1.Text+'%''');
            ADOQuery1.Open;
            edit1.Text:='';
            edit1.SetFocus;
    end;end.//AAA如下:
    program AAA;uses
      Forms,
      AAA1 in 'D:\洪宇工作记录\AAA.pas' {Form1};{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end;
    end.///
      

  6.   

    如楼上所做的那样。
    提示:
    [Error] AAA.dpr(5): Declaration expected but identifier 'AAA1' found
    [Error] AAA.dpr(11): Undeclared identifier: 'TForm1'
    [Error] AAA.dpr(13): '.' expected but ';' found该怎么解决啊。就是运行不了。
      

  7.   

    AAA如下:
    program AAA;  //工程名不能和工程内的单元相同uses
      Forms,
      AAA1 in 'D:\洪宇工作记录\AAA.pas' {Form1};   //这里,AAA1和'D:\洪宇工作记录\AAA.pas'有问题,记住,如果你保存的为AAA.pas, AAA1就必须改为AAA.就是说这两个要一样.
    {$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end; //删除这行
    end.你改成这样再看看:
    program AAA;uses
      Forms,
      AAA1 in 'D:\洪宇工作记录\AAA1.pas' {Form1};   //AAA.pas变成AAA1.pas,因为看你的unit为AAA1{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
      //这里删除了"end;"
    end.
      

  8.   

    i 服 了 you, LZ找本入门书看看先,
      

  9.   

    工程文件里只要一个没有过程的话,END.
    单元文件里 本身过程要一个BEGIN END; 结束要一个END.