delphi中编程序出现两个错误,改不出来,求高手指教。

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Mask, DB, DBTables;

type
TForm1 = class(TForm)
Table_student: TTable;
DataSource1: TDataSource;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit1: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBCheckBox1: TDBCheckBox;
DBNavigator1: TDBNavigator;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;
var
Form:TForm1;
opened:Boolean;

implementation
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
s:String;
begin
if not opened then
begin
s:=Application.ExeName;
Table_student.DatabaseName:=ExtractFilePath(s);
Table_student.Active:=True;
opened:=True;
end;

procedure TForm1.Button1Click(Sender:TObject);
begin
Table_student.Append;
end;

procedure TForm1.Button2Click(Sender:TObject);
begin
Table_student.Delete;
end;

procedure TForm1.Button3Click(Sender:TObject);
begin
Table_student.Cancel;
end;

procedure TForm1.Button4Click(Sender:TObject);
var
m_id:String;

begin
m_id:=InputBox('查询关键字','查询学号:','');
if not Table_student.FindKey([m_id]) then
ShowMessage('学号:'+m_id+'不存在!');
end;

procedure TForm1.Button5Click(Sender:TObject);
begin
Table_student.Edit;
Table_student.Post;
Table_student.Active:=False;
Application.Terminate;
end;

end.
program Project2;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

上面这段代码这里还有个错误
[Error] Project2.dpr(11): Undeclared identifier: 'Form1'
请问是怎么样声明啊?

把出错的提示信息贴上来.找错先看提示信息不是看代码 - -!

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1); //这里Form1改为Form就可以了,或者改以下的地方
Application.Run;
end.

var
Form:TForm1; //这里Form改为Form1
opened:Boolean;
错误原因: 应该是误操作把Form1改为了Form了吧,因这这是个变量,你在工程文件中使用了这个变量 错误的意思是变量Form1未定义
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-18
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, StdCtrls;

type
TForm1 = class(TForm)
Table_student: TTable;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
opened : boolean;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
s:String;
begin
if not opened then
begin
s:=Application.ExeName;
Table_student.DatabaseName:=ExtractFilePath(s);
Table_student.Active:=True;
opened:=True;
end //<---------------------就在这儿加上
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Table_student.Append;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Table_student.Delete;
end;

procedure TForm1.Button3Click(Sender:TObject);
begin
Table_student.Cancel;
end;

procedure TForm1.Button4Click(Sender:TObject);
var
m_id:String;

begin
m_id:=InputBox('查询关键字','查询学号:','');
if not Table_student.FindKey([m_id]) then
ShowMessage('学号:'+m_id+'不存在!');
end;

procedure TForm1.Button5Click(Sender:TObject);
begin
Table_student.Edit;
Table_student.Post;
Table_student.Active:=False;
Application.Terminate;
end;

end.

第二个问题建议重建工程,.dpr文件基本上不用管本回答被网友采纳
第2个回答  2010-12-18
[Error] Project2.dpr(11): Undeclared identifier: 'Form1'
这个问题,应该改成下边
var
Form:TForm1; //这里改成Form1:TForm1;

procedure TForm1.FormCreate(Sender: TObject);
var
s:String;
begin
if not opened then
begin
s:=Application.ExeName;
Table_student.DatabaseName:=ExtractFilePath(s);
Table_student.Active:=True;
opened:=True;
end //<---------------------就在这儿加上(应该是end;)
end;
第3个回答  2010-12-18
if not opened then
begin

后面少了个end;
相似回答