private
procedure CreateMDIChild(const Name:string;const childtype:integer); var
MainForm: TMainForm;implementationuses TXT_browse, RTF_browse, Image_browse;
{$R *.dfm} procedure TMainForm.CreateMDIChild(const Name:string;const childtype:integer);
var Child:TForm;
begin
case childtype of
1:begin
Child:=Ttxt_MDIChild.Create(Application);
Child.Caption:=Name;
if FileExists(Name) then
Child as Ttxt_MDIChild.Memo1.Lines.LoadFormFile(Name);
end;
2:begin
Child:=TRichtxt_MDIChild.Create(Application);
Child.Caption:=Name;
if FileExists(Name) then
(Child as TRichtxt_MDIChild).Richedit1.Lines.LoadFormFile(Name);
end;
3:begin
Child:=TImage_MDIChild.Create(Application);
Child.Caption:=Name;
if FileExists(Name) then
(Child as TImage_MDIChild).image1.picture.LoadFormFile(Name);
end;
end;
procedure TMainForm.New_TXT_FileExecute(Sender: TObject);
begin
CreateMDIChild('新TXT文件'+IntToStr(MDIChildCount+1),1);
end;procedure TMainForm.New_RichTxt_FileExecute(Sender: TObject);
begin
CreateMDIChild('新RichTxt文件'+IntToStr(MDIChildCount+1),2);
end;procedure TMainForm.Open_TXT_FileExecute(Sender: TObject);
begin
OPenDialog.Filter:='TXT文件(*.TXT)|*.txt)';
if OpenDialog.Execute then
CreateMDIChild(OpenDialog.FileName,1);
end;procedure TMainForm.Open_RichTxt_FileExecute(Sender: TObject);
begin
OpenDialog.Filter:='RTF文件(*.RTF)|*.RTF';
if OpenDialog.Execute then
CreateMDIChild(OpenDialog.Filename,2);
end;procedure TMainForm.Open_Image_FileExecute(Sender: TObject);
begin
OpenDialog.Filter:=GraphicFilter(TGraphic);
if OpenDialog.Execute then
CreateMDIChild(OpenDialog.Filename,3);
end;procedure TMainForm.SaveExecute(Sender: TObject);
begin
if(self.ActiveMDIChild is Ttxt_MDIchild) then begin
savedialog1.Title:='TXT文件保存为...';
savedialog1.Filter:='TXT文件(*.TXT)|*.TXT';
savedialog1.FileName:=self.ActiveMDIChild.Caption;
if savedialog1.Execute then
(self.ActiveMDIChild as Ttxt_MDIchild.Caption).memo1.Lines.savetofile(savedialog1.FileName);
end else if(self.ActiveMDIChild is TRichtxt_MDIchild) then begin
savedialog1.Title:='RTF文件保存为...';
savedialog1.Filter:='RTF文件(*.RTF)|*.RTF';
savedialog1.FileName:=self.ActiveMDIChild.Caption;
if savedialog1.Execute then
(self.ActiveMDIChild as TRICHtxt_MDIchild).RichEdit1.Lines.savetofile(savedialog1.FileName);
end else if(self.ActiveMDIChild is TImage_MDIchild) then begin
savedialog1.Title:='图形文件保存为...';
savedialog1.FileName:=self.ActiveMDIChild.Caption;
if savedialog1.Execute then
(self.ActiveMDIChild as TImage_MDIchild).image1.picture.savetofile(savedialog1.FileName);
end;
end;procedure TMainForm.Save_asExecute(Sender: TObject);
begin
if(self.ActiveMDIChild is Ttxt_MDIchild) then begin
savedialog1.Title:='TXT文件保存为...';
savedialog1.Filter:='TXT文件(*.TXT)|*.TXT';
savedialog1.FileName:='';
if savedialog1.Execute then
(self.ActiveMDIChild as Ttxt_MDIchild).memo1.Lines.savetofile(savedialog1.FileName);
end else if(self.ActiveMDIChild is TRichtxt_MDIchild) then begin
savedialog1.Title:='RTF文件保存为...';
savedialog1.Filter:='RTF文件(*.RTF)|*.RTF';
savedialog1.FileName:='';
if savedialog1.Execute then
(self.ActiveMDIChild as TRICHtxt_MDIchild).RichEdit1.Lines.savetofile(savedialog1.FileName);
end else if(self.ActiveMDIChild is TImage_MDIchild) then begin
savedialog1.Title:='图形文件保存为...';
savedialog1.FileName:='';
if savedialog1.Execute then
(self.ActiveMDIChild as TImage_MDIchild).image1.picture.savetofile(savedialog1.FileName);
end;
end;procedure TMainForm.Close_winExecute(Sender: TObject);
begin
self.ActionMDIChild.close;
end;procedure TMainForm.Exit_systemExecute(Sender: TObject);
begin
close;
end;procedure TMainForm.Win_HExecute(Sender: TObject);
begin
TileMode:=tbHorizontal;
Tile;
end;procedure TMainForm.Win_VExecute(Sender: TObject);
begin
TileMode:=tbVertical;
Tile;
end;procedure TMainForm.Win_CExecute(Sender: TObject);
begin
cascade;
end;procedure TMainForm.AboutExecute(Sender: TObject);
begin
AboutBox.showModal;
end;procedure TMainForm.OnTimer(Sender: TObject);
begin
statusbar1.Panels[2].Text:=datetimetostr(now);
end;end.
---------------以下为错误------------------------------
[Error] browse.pas(108): Undeclared identifier: 'LoadFormFile'
[Error] browse.pas(108): Operator not applicable to this operand type
[Error] browse.pas(114): Operator not applicable to this operand type
[Error] browse.pas(114): Missing operator or semicolon
[Error] browse.pas(120): Operator not applicable to this operand type
[Error] browse.pas(120): Missing operator or semicolon
[Error] browse.pas(123): Statement expected but 'PROCEDURE' found
[Error] browse.pas(156): Operator not applicable to this operand type
[Error] browse.pas(157): Undeclared identifier: 'savedialog1'
[Error] browse.pas(157): Missing operator or semicolon
[Error] browse.pas(158): Missing operator or semicolon
[Error] browse.pas(159): Missing operator or semicolon
[Error] browse.pas(160): 'THEN' expected but identifier 'Execute' found
[Error] browse.pas(162): Operator not applicable to this operand type
[Error] browse.pas(163): Missing operator or semicolon
[Error] browse.pas(164): Missing operator or semicolon
[Error] browse.pas(165): Missing operator or semicolon
[Error] browse.pas(166): 'THEN' expected but identifier 'Execute' found
[Error] browse.pas(168): Operator not applicable to this operand type
[Error] browse.pas(169): Missing operator or semicolon
[Error] browse.pas(170): Missing operator or semicolon
[Error] browse.pas(171): 'THEN' expected but identifier 'Execute' found
[Error] browse.pas(178): Operator not applicable to this operand type
[Error] browse.pas(179): Missing operator or semicolon
[Error] browse.pas(180): Missing operator or semicolon
[Error] browse.pas(181): Missing operator or semicolon
[Error] browse.pas(182): 'THEN' expected but identifier 'Execute' found
[Error] browse.pas(184): Operator not applicable to this operand type
[Error] browse.pas(185): Missing operator or semicolon
[Error] browse.pas(186): Missing operator or semicolon
[Error] browse.pas(187): Missing operator or semicolon
[Error] browse.pas(188): 'THEN' expected but identifier 'Execute' found
[Error] browse.pas(190): Operator not applicable to this operand type
[Error] browse.pas(191): Missing operator or semicolon
[Error] browse.pas(192): Missing operator or semicolon
[Error] browse.pas(193): 'THEN' expected but identifier 'Execute' found
[Error] browse.pas(200): Undeclared identifier: 'ActionMDIChild'
[Error] browse.pas(200): Missing operator or semicolon
[Error] browse.pas(203): Statement expected but 'PROCEDURE' found
[Error] browse.pas(227): Undeclared identifier: 'AboutBox'
[Error] browse.pas(73): Unsatisfied forward or external declaration: 'TMainForm.Save_asExecute'
[Error] browse.pas(74): Unsatisfied forward or external declaration: 'TMainForm.Close_winExecute'
[Fatal Error] browse_Project1.dpr(9): Could not compile used unit 'browse.pas'
procedure CreateMDIChild(const Name:string;const childtype:integer); var
MainForm: TMainForm;implementationuses TXT_browse, RTF_browse, Image_browse;
{$R *.dfm} procedure TMainForm.CreateMDIChild(const Name:string;const childtype:integer);
var Child:TForm;
begin
case childtype of
1:begin
Child:=Ttxt_MDIChild.Create(Application);
Child.Caption:=Name;
if FileExists(Name) then
Child as Ttxt_MDIChild.Memo1.Lines.LoadFormFile(Name);
end;
2:begin
Child:=TRichtxt_MDIChild.Create(Application);
Child.Caption:=Name;
if FileExists(Name) then
(Child as TRichtxt_MDIChild).Richedit1.Lines.LoadFormFile(Name);
end;
3:begin
Child:=TImage_MDIChild.Create(Application);
Child.Caption:=Name;
if FileExists(Name) then
(Child as TImage_MDIChild).image1.picture.LoadFormFile(Name);
end;
end;
procedure TMainForm.New_TXT_FileExecute(Sender: TObject);
begin
CreateMDIChild('新TXT文件'+IntToStr(MDIChildCount+1),1);
end;procedure TMainForm.New_RichTxt_FileExecute(Sender: TObject);
begin
CreateMDIChild('新RichTxt文件'+IntToStr(MDIChildCount+1),2);
end;procedure TMainForm.Open_TXT_FileExecute(Sender: TObject);
begin
OPenDialog.Filter:='TXT文件(*.TXT)|*.txt)';
if OpenDialog.Execute then
CreateMDIChild(OpenDialog.FileName,1);
end;procedure TMainForm.Open_RichTxt_FileExecute(Sender: TObject);
begin
OpenDialog.Filter:='RTF文件(*.RTF)|*.RTF';
if OpenDialog.Execute then
CreateMDIChild(OpenDialog.Filename,2);
end;procedure TMainForm.Open_Image_FileExecute(Sender: TObject);
begin
OpenDialog.Filter:=GraphicFilter(TGraphic);
if OpenDialog.Execute then
CreateMDIChild(OpenDialog.Filename,3);
end;procedure TMainForm.SaveExecute(Sender: TObject);
begin
if(self.ActiveMDIChild is Ttxt_MDIchild) then begin
savedialog1.Title:='TXT文件保存为...';
savedialog1.Filter:='TXT文件(*.TXT)|*.TXT';
savedialog1.FileName:=self.ActiveMDIChild.Caption;
if savedialog1.Execute then
(self.ActiveMDIChild as Ttxt_MDIchild.Caption).memo1.Lines.savetofile(savedialog1.FileName);
end else if(self.ActiveMDIChild is TRichtxt_MDIchild) then begin
savedialog1.Title:='RTF文件保存为...';
savedialog1.Filter:='RTF文件(*.RTF)|*.RTF';
savedialog1.FileName:=self.ActiveMDIChild.Caption;
if savedialog1.Execute then
(self.ActiveMDIChild as TRICHtxt_MDIchild).RichEdit1.Lines.savetofile(savedialog1.FileName);
end else if(self.ActiveMDIChild is TImage_MDIchild) then begin
savedialog1.Title:='图形文件保存为...';
savedialog1.FileName:=self.ActiveMDIChild.Caption;
if savedialog1.Execute then
(self.ActiveMDIChild as TImage_MDIchild).image1.picture.savetofile(savedialog1.FileName);
end;
end;procedure TMainForm.Save_asExecute(Sender: TObject);
begin
if(self.ActiveMDIChild is Ttxt_MDIchild) then begin
savedialog1.Title:='TXT文件保存为...';
savedialog1.Filter:='TXT文件(*.TXT)|*.TXT';
savedialog1.FileName:='';
if savedialog1.Execute then
(self.ActiveMDIChild as Ttxt_MDIchild).memo1.Lines.savetofile(savedialog1.FileName);
end else if(self.ActiveMDIChild is TRichtxt_MDIchild) then begin
savedialog1.Title:='RTF文件保存为...';
savedialog1.Filter:='RTF文件(*.RTF)|*.RTF';
savedialog1.FileName:='';
if savedialog1.Execute then
(self.ActiveMDIChild as TRICHtxt_MDIchild).RichEdit1.Lines.savetofile(savedialog1.FileName);
end else if(self.ActiveMDIChild is TImage_MDIchild) then begin
savedialog1.Title:='图形文件保存为...';
savedialog1.FileName:='';
if savedialog1.Execute then
(self.ActiveMDIChild as TImage_MDIchild).image1.picture.savetofile(savedialog1.FileName);
end;
end;procedure TMainForm.Close_winExecute(Sender: TObject);
begin
self.ActionMDIChild.close;
end;procedure TMainForm.Exit_systemExecute(Sender: TObject);
begin
close;
end;procedure TMainForm.Win_HExecute(Sender: TObject);
begin
TileMode:=tbHorizontal;
Tile;
end;procedure TMainForm.Win_VExecute(Sender: TObject);
begin
TileMode:=tbVertical;
Tile;
end;procedure TMainForm.Win_CExecute(Sender: TObject);
begin
cascade;
end;procedure TMainForm.AboutExecute(Sender: TObject);
begin
AboutBox.showModal;
end;procedure TMainForm.OnTimer(Sender: TObject);
begin
statusbar1.Panels[2].Text:=datetimetostr(now);
end;end.
---------------以下为错误------------------------------
[Error] browse.pas(108): Undeclared identifier: 'LoadFormFile'
[Error] browse.pas(108): Operator not applicable to this operand type
[Error] browse.pas(114): Operator not applicable to this operand type
[Error] browse.pas(114): Missing operator or semicolon
[Error] browse.pas(120): Operator not applicable to this operand type
[Error] browse.pas(120): Missing operator or semicolon
[Error] browse.pas(123): Statement expected but 'PROCEDURE' found
[Error] browse.pas(156): Operator not applicable to this operand type
[Error] browse.pas(157): Undeclared identifier: 'savedialog1'
[Error] browse.pas(157): Missing operator or semicolon
[Error] browse.pas(158): Missing operator or semicolon
[Error] browse.pas(159): Missing operator or semicolon
[Error] browse.pas(160): 'THEN' expected but identifier 'Execute' found
[Error] browse.pas(162): Operator not applicable to this operand type
[Error] browse.pas(163): Missing operator or semicolon
[Error] browse.pas(164): Missing operator or semicolon
[Error] browse.pas(165): Missing operator or semicolon
[Error] browse.pas(166): 'THEN' expected but identifier 'Execute' found
[Error] browse.pas(168): Operator not applicable to this operand type
[Error] browse.pas(169): Missing operator or semicolon
[Error] browse.pas(170): Missing operator or semicolon
[Error] browse.pas(171): 'THEN' expected but identifier 'Execute' found
[Error] browse.pas(178): Operator not applicable to this operand type
[Error] browse.pas(179): Missing operator or semicolon
[Error] browse.pas(180): Missing operator or semicolon
[Error] browse.pas(181): Missing operator or semicolon
[Error] browse.pas(182): 'THEN' expected but identifier 'Execute' found
[Error] browse.pas(184): Operator not applicable to this operand type
[Error] browse.pas(185): Missing operator or semicolon
[Error] browse.pas(186): Missing operator or semicolon
[Error] browse.pas(187): Missing operator or semicolon
[Error] browse.pas(188): 'THEN' expected but identifier 'Execute' found
[Error] browse.pas(190): Operator not applicable to this operand type
[Error] browse.pas(191): Missing operator or semicolon
[Error] browse.pas(192): Missing operator or semicolon
[Error] browse.pas(193): 'THEN' expected but identifier 'Execute' found
[Error] browse.pas(200): Undeclared identifier: 'ActionMDIChild'
[Error] browse.pas(200): Missing operator or semicolon
[Error] browse.pas(203): Statement expected but 'PROCEDURE' found
[Error] browse.pas(227): Undeclared identifier: 'AboutBox'
[Error] browse.pas(73): Unsatisfied forward or external declaration: 'TMainForm.Save_asExecute'
[Error] browse.pas(74): Unsatisfied forward or external declaration: 'TMainForm.Close_winExecute'
[Fatal Error] browse_Project1.dpr(9): Could not compile used unit 'browse.pas'
解决方案 »
- spcomm接收不到数据问题!求指教
- 请高手解答
- 更新速度惊人的delphi blog http://hi.baidu.com/ababacc
- 求房间使用状态图的制作思路
- 帮我为这个程序添一条异常处理的语句.谢谢
- 数据保存问题(record not find or changed by )
- 急等,高手请进!!使用label定时显示数据闪烁问题
- 如何修改如下结构体和公用体:
- access 问题
- 调查:浙江范围内(杭州、宁波....) 使用DELPHI的编软件的单位多吗? 有谁是浙江里的! 我是一名浙江将毕业的学DELPHI的大学生, 希望大家指点社会道路, 同时调查一下DELPHI的势力
- 关于TreeView的问题
- 怎样判断字体的样式
1.[Error] browse.pas(108): Undeclared identifier: 'LoadFormFile'
呵呵 是LOADFROMFILE不是LOADFORMFILE。2.[Error] browse.pas(108): Operator not applicable to this operand type
类似于这样的:
(Child as TRichtxt_MDIChild).Richedit1.Lines.LoadFormFile(Name);
最好改成:
with chile as TRichtxt_MDIChild do
begin
Richedit1.Lines.LoadFormFile(Name);
end;
这样的错误还多,不再累述
3.[Error] browse.pas(114): Missing operator or semicolon
同上4。[Error] browse.pas(123): Statement expected but 'PROCEDURE' found
这样的错误是因为一个PROCEDURE没有完全地用BEGIN,END包括,却又开始了新的一个PROCEDURE。5。[Error] browse.pas(157): Undeclared identifier: 'savedialog1'
SAVEDIALOG1没有声明。也就是说可能你写错了DIALOG控件的名字6。[Error] browse.pas(160): 'THEN' expected but identifier 'Execute' found
在这一句 if savedialog1.Execute then 这里报错,可能也是因为没有这个叫SAVIEDIALOG1的控件的原因
7。[Error] browse.pas(200): Undeclared identifier: 'ActionMDIChild'
没有这个对象,ACTIONMDICHILD;8。[Error] browse.pas(227): Undeclared identifier: 'AboutBox'
ABOUTBOX没有声明;8。declaration: 'TMainForm.Save_asExecute'
你在开始声明了Save_asExecute这个过程,但是没有这个过程的实际内容。9。declaration: 'TMainForm.Close_winExecute'
同上,是这个过程Close_winExecute
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, Menus, StdCtrls, ToolWin, ImgList, ExtCtrls, StdActns,
ActnList;type
TMainForm = class(TForm)
StatusBar1: TStatusBar;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
XT2: TMenuItem;
RichTxt2: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
CtrlX1: TMenuItem;
CtrlC1: TMenuItem;
CtrlV1: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
RichTxt1: TMenuItem;
XTNCtrlN1: TMenuItem;
ImageList1: TImageList;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton_copy: TToolButton;
ToolButton_cut: TToolButton;
ToolButton_paster: TToolButton;
ToolButton2: TToolButton;
ToolButton_binlie: TToolButton;
ToolButton_chuezhi: TToolButton;
ToolButton_chengdie: TToolButton;
Timer1: TTimer;
OpenDialog: TOpenDialog;
SaveDialog: TSaveDialog;
ActionList1: TActionList;
New_TXT_File: TAction;
New_RichTxt_File: TAction;
Open_TXT_File: TAction;
Open_RichTxt_File: TAction;
Open_Image_File: TAction;
Save: TAction;
Save_as: TAction;
Close_win: TAction;
Exit_system: TAction;
Edit_Cut: TEditCut;
Edit_Copy: TEditCopy;
Edit_Paste: TEditPaste;
Win_H: TAction;
Win_V: TAction;
Win_C: TAction;
About: TAction;
procedure New_TXT_FileExecute(Sender: TObject);
procedure New_RichTxt_FileExecute(Sender: TObject);
procedure Open_TXT_FileExecute(Sender: TObject);
procedure Open_RichTxt_FileExecute(Sender: TObject);
procedure Open_Image_FileExecute(Sender: TObject);
procedure SaveExecute(Sender: TObject);
procedure Save_asExecute(Sender: TObject);
procedure Close_winExecute(Sender: TObject);
procedure Exit_systemExecute(Sender: TObject);
procedure Win_HExecute(Sender: TObject);
procedure Win_VExecute(Sender: TObject);
procedure Win_CExecute(Sender: TObject);
procedure AboutExecute(Sender: TObject);
procedure OnTimer(Sender: TObject);
Child:=Ttxt_MDIChild.Create(Application);
Child.Caption:=Name;
if FileExists(Name) then
Child as Ttxt_MDIChild.Memo1.Lines.LoadFormFile(Name);
end;
改成
1:begin
Child:=Ttxt_MDIChild.Create(Application);
Child.Caption:=Name;
if FileExists(Name) then
with child as Ttxt_MDIChild do
begin
Memo1.Lines.LoadFromFile(Name);
end;
还是报
[Error] browse.pas(108): Operator not applicable to this operand type
1:begin
Child:=Ttxt_MDIChild.Create(Application);
Child.Caption:=Name;
if FileExists(Name) then
Child.Memo1.Lines.LoadFromFile(Name);