程序如下:
unit untMain;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, ComCtrls, AppEvnts, ImgList, ActnList,
StdActns, ExtActns, ToolWin;type
TfrmMain = class(TForm)
ActionList1: TActionList;
MainMenu1: TMainMenu;
PopupMenu1: TPopupMenu;
ImageList1: TImageList;
ApplicationEvents1: TApplicationEvents;
StatusBar1: TStatusBar;
File1: TMenuItem;
Edit1: TMenuItem;
Search1: TMenuItem;
Window1: TMenuItem;
Help1: TMenuItem;
EditCut1: TEditCut;
EditCopy1: TEditCopy;
EditPaste1: TEditPaste;
EditSelectAll1: TEditSelectAll;
EditUndo1: TEditUndo;
EditDelete1: TEditDelete;
RichEditBold1: TRichEditBold;
RichEditItalic1: TRichEditItalic;
RichEditUnderline1: TRichEditUnderline;
RichEditStrikeOut1: TRichEditStrikeOut;
RichEditBullets1: TRichEditBullets;
RichEditAlignLeft1: TRichEditAlignLeft;
RichEditAlignRight1: TRichEditAlignRight;
RichEditAlignCenter1: TRichEditAlignCenter;
WindowClose1: TWindowClose;
WindowCascade1: TWindowCascade;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowTileVertical1: TWindowTileVertical;
WindowMinimizeAll1: TWindowMinimizeAll;
WindowArrange1: TWindowArrange;
FileOpen1: TFileOpen;
FileSaveAs1: TFileSaveAs;
FilePrintSetup1: TFilePrintSetup;
FileExit1: TFileExit;
SearchFind1: TSearchFind;
SearchFindNext1: TSearchFindNext;
SearchReplace1: TSearchReplace;
SearchFindFirst1: TSearchFindFirst;
FileNew1: TAction;
FileSave1: TAction;
FilePrintDlg1: TAction;
HelpAbout1: TAction;
Open1: TMenuItem;
SaveAs1: TMenuItem;
PrintSetup1: TMenuItem;
Exit1: TMenuItem;
New1: TMenuItem;
Save1: TMenuItem;
Print1: TMenuItem;
Cut1: TMenuItem;
Copy1: TMenuItem;
Delete1: TMenuItem;
SelectAll1: TMenuItem;
Undo1: TMenuItem;
Delete2: TMenuItem;
Bold1: TMenuItem;
Italic1: TMenuItem;
Underline1: TMenuItem;
Strikeout1: TMenuItem;
Bullets1: TMenuItem;
AlignLeft1: TMenuItem;
AlignRight1: TMenuItem;
Center1: TMenuItem;
Find1: TMenuItem;
FindNext1: TMenuItem;
Replace1: TMenuItem;
FindFirst1: TMenuItem;
Close1: TMenuItem;
Cascade1: TMenuItem;
ileHorizontally1: TMenuItem;
ileVertically1: TMenuItem;
MinimizeAll1: TMenuItem;
Arrange1: TMenuItem;
Help2: TMenuItem;
About1: TMenuItem;
ControlBar1: TControlBar;
ToolBar1: TToolBar;
ToolBar2: TToolBar;
ToolBar3: TToolBar;
ToolBar4: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
ToolButton13: TToolButton;
ToolButton14: TToolButton;
ToolButton15: TToolButton;
ToolButton16: TToolButton;
ToolButton17: TToolButton;
ToolButton18: TToolButton;
ToolButton19: TToolButton;
ToolButton20: TToolButton;
ToolButton21: TToolButton;
ToolButton22: TToolButton;
ToolButton23: TToolButton;
ToolButton24: TToolButton;
ToolButton25: TToolButton;
ToolButton26: TToolButton;
procedure FormCreate(Sender: TObject);
procedure ApplicationEvents1Hint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure UpdateStatusBar;
end;var
frmMain: TfrmMain;implementationuses untChild;{$R *.dfm}procedure TfrmMain.FormCreate(Sender: TObject);
begin
FileSaveAs1.Dialog.InitialDir:=ExtractFilePath(Application.ExeName)+'Files\';
FileOpen1.Dialog.InitialDir:=ExtractFilePath(Application.ExeName)+'Files\';
end;procedure TfrmMain.ApplicationEvents1Hint(Sender: TObject);
begin
StatusBar1.Panels[0].Text:=GetLongHint(Application.Hint);
end;
procedure TfrmMain.UpdateStatusBar;
begin
if ActiveMDIChild<>nil then begin
StatusBar1.Panels[1].Text:=IntToStr((ActiveMDIChild as TfrmChild).RichEdit1.CaretPos.Y+1)+':'+IntToStr((ActiveMDIChild as TfrmChild).RichEdit1.Caretpos.X+1);
if(ActiveMDIChild as TfrmChild).IsModified then
StatusBar1.Panels[2].Text:='Modified.';
else
StatusBar1.Panels[2].Text:='Not Modified.';
end;
end;
end.unit untChild;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;type
TfrmChild = class(TForm)
RichEdit1: TRichEdit;
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
procedure SetFileName(const Value:string);
procedure SetIsModified(const Value:Boolean);
procedure SetIsNamed(const Value:Boolean);
public
{ Public declarations }
{ 属性 }
property IsModified:Boolean read FIsModified write SetIsModified; //说明文件是否被修改
property IsNamed:Boolean read FIsNamed write SetIsNamed; //说明文件是否被命名
property FileName:string read FFileName write SetFileName; //读写文件名
{ 方法 }
constructor Create(AOwner:TComponent);override;
procedure LoadFromFile(AFileName:string);
procedure SaveFile(AFileName:string);
end;
var
frmChild: TfrmChild;implementation{$R *.dfm}procedure TfrmChild.SetFileName(const Value:string);
begin
FFileName:=Value;
Caption:=Value;
end;
procedure TfrmChild.SetIsModified(const Value:Boolean);
begin
FIsModified:=Value;
end;
procedure TfrmChild.SetIsNamed(const Value:Boolean);
begin
FIsNamed:=Value;
end;
constructor TfrmChild.Create (AOwner:TComponent);override;
begin
inherited;
IsModified:=False;
IsNamed:=False;
FileName:='';
FileName:='未命名';
end;
procedure TfrmChild.LoadFromFile(AFileName:string);
begin
RichEdit1.Lines.loadFile(AFileName);
IsNamed:=True;
FileName:=AFileName;
Caption:=AFileName;
IsModified:=False;
end;
procedure TfrmChild.SaveFile(AFileName:string);
begin
IsNamed:=True;
FileName:=AFileName;
RichEdit1.Lines.SaveToFile(AFileName);
IsModified:=False;
Caption:=AFileName;
end;
end.问题如下:
Build
[Error] untChild.pas(21): Field or method identifier expected
[Error] untChild.pas(22): Field or method identifier expected
[Error] untChild.pas(23): Field or method identifier expected
[Error] untChild.pas(38): Undeclared identifier: 'FFileName'
[Error] untChild.pas(43): Undeclared identifier: 'FIsModified'
[Error] untChild.pas(47): Undeclared identifier: 'FIsNamed'
[Error] untChild.pas(49): Unknown directive: 'override'
[Error] untChild.pas(59): Undeclared identifier: 'loadFile'
[Error] untChild.pas(12): Unsatisfied forward or external declaration: 'TfrmChild.FormActivate'
[Fatal Error] untMain.pas(134): Could not compile used unit 'untChild.pas'
unit untMain;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ExtCtrls, ComCtrls, AppEvnts, ImgList, ActnList,
StdActns, ExtActns, ToolWin;type
TfrmMain = class(TForm)
ActionList1: TActionList;
MainMenu1: TMainMenu;
PopupMenu1: TPopupMenu;
ImageList1: TImageList;
ApplicationEvents1: TApplicationEvents;
StatusBar1: TStatusBar;
File1: TMenuItem;
Edit1: TMenuItem;
Search1: TMenuItem;
Window1: TMenuItem;
Help1: TMenuItem;
EditCut1: TEditCut;
EditCopy1: TEditCopy;
EditPaste1: TEditPaste;
EditSelectAll1: TEditSelectAll;
EditUndo1: TEditUndo;
EditDelete1: TEditDelete;
RichEditBold1: TRichEditBold;
RichEditItalic1: TRichEditItalic;
RichEditUnderline1: TRichEditUnderline;
RichEditStrikeOut1: TRichEditStrikeOut;
RichEditBullets1: TRichEditBullets;
RichEditAlignLeft1: TRichEditAlignLeft;
RichEditAlignRight1: TRichEditAlignRight;
RichEditAlignCenter1: TRichEditAlignCenter;
WindowClose1: TWindowClose;
WindowCascade1: TWindowCascade;
WindowTileHorizontal1: TWindowTileHorizontal;
WindowTileVertical1: TWindowTileVertical;
WindowMinimizeAll1: TWindowMinimizeAll;
WindowArrange1: TWindowArrange;
FileOpen1: TFileOpen;
FileSaveAs1: TFileSaveAs;
FilePrintSetup1: TFilePrintSetup;
FileExit1: TFileExit;
SearchFind1: TSearchFind;
SearchFindNext1: TSearchFindNext;
SearchReplace1: TSearchReplace;
SearchFindFirst1: TSearchFindFirst;
FileNew1: TAction;
FileSave1: TAction;
FilePrintDlg1: TAction;
HelpAbout1: TAction;
Open1: TMenuItem;
SaveAs1: TMenuItem;
PrintSetup1: TMenuItem;
Exit1: TMenuItem;
New1: TMenuItem;
Save1: TMenuItem;
Print1: TMenuItem;
Cut1: TMenuItem;
Copy1: TMenuItem;
Delete1: TMenuItem;
SelectAll1: TMenuItem;
Undo1: TMenuItem;
Delete2: TMenuItem;
Bold1: TMenuItem;
Italic1: TMenuItem;
Underline1: TMenuItem;
Strikeout1: TMenuItem;
Bullets1: TMenuItem;
AlignLeft1: TMenuItem;
AlignRight1: TMenuItem;
Center1: TMenuItem;
Find1: TMenuItem;
FindNext1: TMenuItem;
Replace1: TMenuItem;
FindFirst1: TMenuItem;
Close1: TMenuItem;
Cascade1: TMenuItem;
ileHorizontally1: TMenuItem;
ileVertically1: TMenuItem;
MinimizeAll1: TMenuItem;
Arrange1: TMenuItem;
Help2: TMenuItem;
About1: TMenuItem;
ControlBar1: TControlBar;
ToolBar1: TToolBar;
ToolBar2: TToolBar;
ToolBar3: TToolBar;
ToolBar4: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ToolButton11: TToolButton;
ToolButton12: TToolButton;
ToolButton13: TToolButton;
ToolButton14: TToolButton;
ToolButton15: TToolButton;
ToolButton16: TToolButton;
ToolButton17: TToolButton;
ToolButton18: TToolButton;
ToolButton19: TToolButton;
ToolButton20: TToolButton;
ToolButton21: TToolButton;
ToolButton22: TToolButton;
ToolButton23: TToolButton;
ToolButton24: TToolButton;
ToolButton25: TToolButton;
ToolButton26: TToolButton;
procedure FormCreate(Sender: TObject);
procedure ApplicationEvents1Hint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure UpdateStatusBar;
end;var
frmMain: TfrmMain;implementationuses untChild;{$R *.dfm}procedure TfrmMain.FormCreate(Sender: TObject);
begin
FileSaveAs1.Dialog.InitialDir:=ExtractFilePath(Application.ExeName)+'Files\';
FileOpen1.Dialog.InitialDir:=ExtractFilePath(Application.ExeName)+'Files\';
end;procedure TfrmMain.ApplicationEvents1Hint(Sender: TObject);
begin
StatusBar1.Panels[0].Text:=GetLongHint(Application.Hint);
end;
procedure TfrmMain.UpdateStatusBar;
begin
if ActiveMDIChild<>nil then begin
StatusBar1.Panels[1].Text:=IntToStr((ActiveMDIChild as TfrmChild).RichEdit1.CaretPos.Y+1)+':'+IntToStr((ActiveMDIChild as TfrmChild).RichEdit1.Caretpos.X+1);
if(ActiveMDIChild as TfrmChild).IsModified then
StatusBar1.Panels[2].Text:='Modified.';
else
StatusBar1.Panels[2].Text:='Not Modified.';
end;
end;
end.unit untChild;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;type
TfrmChild = class(TForm)
RichEdit1: TRichEdit;
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
procedure SetFileName(const Value:string);
procedure SetIsModified(const Value:Boolean);
procedure SetIsNamed(const Value:Boolean);
public
{ Public declarations }
{ 属性 }
property IsModified:Boolean read FIsModified write SetIsModified; //说明文件是否被修改
property IsNamed:Boolean read FIsNamed write SetIsNamed; //说明文件是否被命名
property FileName:string read FFileName write SetFileName; //读写文件名
{ 方法 }
constructor Create(AOwner:TComponent);override;
procedure LoadFromFile(AFileName:string);
procedure SaveFile(AFileName:string);
end;
var
frmChild: TfrmChild;implementation{$R *.dfm}procedure TfrmChild.SetFileName(const Value:string);
begin
FFileName:=Value;
Caption:=Value;
end;
procedure TfrmChild.SetIsModified(const Value:Boolean);
begin
FIsModified:=Value;
end;
procedure TfrmChild.SetIsNamed(const Value:Boolean);
begin
FIsNamed:=Value;
end;
constructor TfrmChild.Create (AOwner:TComponent);override;
begin
inherited;
IsModified:=False;
IsNamed:=False;
FileName:='';
FileName:='未命名';
end;
procedure TfrmChild.LoadFromFile(AFileName:string);
begin
RichEdit1.Lines.loadFile(AFileName);
IsNamed:=True;
FileName:=AFileName;
Caption:=AFileName;
IsModified:=False;
end;
procedure TfrmChild.SaveFile(AFileName:string);
begin
IsNamed:=True;
FileName:=AFileName;
RichEdit1.Lines.SaveToFile(AFileName);
IsModified:=False;
Caption:=AFileName;
end;
end.问题如下:
Build
[Error] untChild.pas(21): Field or method identifier expected
[Error] untChild.pas(22): Field or method identifier expected
[Error] untChild.pas(23): Field or method identifier expected
[Error] untChild.pas(38): Undeclared identifier: 'FFileName'
[Error] untChild.pas(43): Undeclared identifier: 'FIsModified'
[Error] untChild.pas(47): Undeclared identifier: 'FIsNamed'
[Error] untChild.pas(49): Unknown directive: 'override'
[Error] untChild.pas(59): Undeclared identifier: 'loadFile'
[Error] untChild.pas(12): Unsatisfied forward or external declaration: 'TfrmChild.FormActivate'
[Fatal Error] untMain.pas(134): Could not compile used unit 'untChild.pas'
解决方案 »
- 求Delphi调用数畅或者银江等数据接口的方法。
- 如何在SQL语言中动态查询需要的数据表??感谢赐教。
- 继承TCustomEdit控件时,如何在设计期就去掉Ctl3d属性
- 按下Esc 使得光标从DBGrid1到DBGrid2,???
- 如何在TForm中获知焦点在哪个控间上?
- 请教各位大虾,如何用ADOTable实现象TTable的setkey,gottokey 这样的定位的
- win2000 cdralw2k是什么服务程序?关系小弟命运的问题,今日受阁下滴水之恩,明日定当涌!
- 使用COM创建一个接口,调用时报“RPC服务器启动失败”
- 有关SQL的查询问题:是SQL的先天不足,还是?罢了,君子到此,鄙人尽力上一杯茶水。
- RasDial的参数如何配置,急!急!急!!!
- lea内嵌汇编问题
- 如何让程序不受显示桌面影响?
1.
private
{ Private declarations }
FIsModified, FIsNamed: Boolean;
FFileName: string;
procedure SetFileName(const value: string);
红色的是要增加的部分。2. 把这后面的“override;”去掉:
constructor TfrmChild.Create (AOwner:TComponent);override;3. 把loadFile改成LoadFromFile。4. 把鼠标放在“procedure FormActivate(Sender: TObject);”所在行,然后Ctrl+Shift+C,并实现FormActivate。它响应窗体的OnActivate事件。
出现一个对话框内容是:
Project Project1.exe raised exception class ELisError with message ‘List index out of bounds【1】’。Process stopped。Use Step or Run to continue。