我的程序有一个主窗体(unit1)和一个子窗体(unit2),请问在子窗体(unit2)中如何调用主窗体(unit1)的函数或方法、过程?

zhbruce 2003-09-25 12:53:51
我的程序有一个主窗体(unit1)和一个子窗体(unit2),请问在子窗体(unit2)中如何调用主窗体(unit1)的函数或方法、过程?
不用全局变量可以做到吗?
...全文
27 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
proman2003 2003-09-25
  • 打赏
  • 举报
回复
up
mxk19791116 2003-09-25
  • 打赏
  • 举报
回复
你在unit2这个窗口中这样写

uses from1;

下面在调用unit1 中的内容时,
from1.要用的东东,就可以了。
mingyeh 2003-09-25
  • 打赏
  • 举报
回复
use form2;

form2.DoSth;
SunKinXing 2003-09-25
  • 打赏
  • 举报
回复
同意一楼的
疯狂低调 2003-09-25
  • 打赏
  • 举报
回复
同意楼上的楼上
47522341 2003-09-25
  • 打赏
  • 举报
回复
^_^,
看看类封装性的定义就知道了
FrameSniper 2003-09-25
  • 打赏
  • 举报
回复
首先主窗体单元的Uses语句中要引用子窗体Unit2

然后你才可以通过窗体对象变量进行访问

在访问的时候可以加单元约束,也可以不加,假设你Unit2有一个全局变量Form2,要在Form1(主窗体)的单元中进行引用,在保证Unit1的Uses语句包含Unit2的情况下,可以这样写

Unit2.Form2....也可以不加单元约束而直接写Form2

-------------------------------------------------------------------------------
你要引用无非就是要引用其他单元的内容,这个内容也无非就是对象或变量、常量、类型等等,如果是对象、变量这些东西,我想必要用到全局变量
又一个delphi键盘钩用法及代码,可以截获几乎所有键值,例如:shift ?,ctrl ?,alt ?,F1~F12,shift或者ctrl或者alt F1~F12,单独的 shift、ctrl、alt 键值,特殊键ins、del、caps lock、num lock、小键盘数字 等等,你只要稍作修改,也可以截获 ctrl alt ?等键值,没有截获不到的键值,本程序不使用dll方式,使用常规方式,方便你编译调试修改,支持xp、vista、win7,是最强悍的键盘钩控件, 在delphi7下通过。   myshiftchar:string;//返回shift状态 例如 ctrl   mypresschar:string;//返回整个键值 例如 ctrl g   dulictrl:string;//返回 ctrl 和 alt 单独状态, =ctrl or =alt   安装方法:   本控件的核心源代码在 unit2   首先 创建调用,假定是form1,在form1上放一个 memo控件(必须),然后创建一个新单元 如unit2,把我的unit2 单元的源代码全部复制过去,做以下修改,首先确保form1使用 新单元 如unit2,并且unit2也使用form1。   在新单元unit2 ,找到 函数 function KeyBHkHandle 过程,在其找到以下两条语句:    // 在这里根据自己的情况修改    form1.Memo1.Lines.Add(mypresschar);   // 在这里根据自己的情况修改    if mypresschar'' then form1.Memo1.Lines.Add(mypresschar);   如果你的调用就叫form1,则不用修改,否则把这两条语句的form1修改为你的调用的名字。   在 memo编辑框的onChange事件编写自己的 键盘消息接受控制过程,其 字符串mypresschar 返回总键值,它跟memo编辑框显示值是一样的 ,例如 g、shift g、ctrl 2、F9、alt F9、 等等,其 字符串shiftstr 返回 控制键 shift ctrl alt 的状态,例如按下ctrl,则 shiftstr=‘ctrl’ ,否则=''。   最后不要忘记在程序退出时卸载键盘钩
本书以Delphi语言为载,通过讨论程序设计的一般过程方法,重点讲述程序设计基础、算法与结构化程序设计、面向对象程序设计、Windows程序设计和数据库程序设计的知识,并涉及计算机科学基础、数据和控制、程序设计理论、软件工程等四大知识领域。本书同时详细分析Delphi作为通用程序设计语言的本质特征和语法规则,并以大量Delphi程序实例演示应用程序的设计过程,介绍流的思想方法,培养读者的代码编写能力。 本书内容深入浅出,覆盖面广,图文并茂,独具特色。既有丰富的理论知识,也有大量的实战范例,更提供了精心设计的课后练习。本书适合作为计算机及其相关专业本科教学用书,也可用作其他专业的计算机公共课基础教材。对于自学程序设计的计算机爱好者以及从事软件开发和应用的科技人员,本书也是极佳的参考。本书特点: 面向Delphi初学者的程序设计入门和实践读物; 汇集一线教师教学经验的大学计算机程序设计课程教材; 结合国内计算机教学改革成果与世界一流课程系CC2004同步的计算机教材; 参照美国ACM和IEEE/CS颁布的Computing Curricula 2004最新课程系规范编写。 前言第1章 绪论 11.1 程序程序设计 11.1.1 程序与计算机 11.1.2 算法与数据结构 31.1.3 程序设计过程 61.2 程序设计语言 71.2.1 发展历史 81.2.2 语言的类型 81.2.3 高级语言的分类 91.3 Delphi语言介绍 91.3.1 Delphi是什么 91.3.2 Delphi的发展历史 111.3.3 Delphi程序的编写、编译和运行111.4 本章小结 161.5 本章习题 17第2章 程序设计基础 192.1 数据和数据处理 192.1.1 计算机的结构 192.1.2 数据的表示 202.1.3 数据的处理 222.2 数据类型 222.2.1 常量和变量 232.2.2 简单数据类型 242.2.3 复杂数据类型 282.2.4 类型关系* 322.3 程序 342.3.1 一个简单的Delphi程序342.3.2 Delphi语言要素 372.3.3 撰写规范的程序代码 402.4 本章小结 432.5 本章习题 45第3章 运算与流程控制 493.1 表达式 493.2 运算符 493.2.1 赋值运算符 493.2.2 逻辑运算符 503.2.3 算术运算符 503.2.4 位运算符 513.2.5 增减运算符 513.3 运算符的优先级 523.4 流程控制 533.4.1 顺序结构 533.4.2 选择结构 543.4.3 循环结构 603.5 本章小结 663.6 本章习题 67第4章 过程函数 714.1 过程函数的编写 714.1.1 过程 714.1.2 函数 724.1.3 指示字* 734.1.4 程序型类型* 754.2 参数 784.2.1 参数类型 794.2.2 无类型参数* 814.2.3 缺省参数 824.3 过程函数的使用 824.3.1 调用过程函数 824.3.2 过程函数的重载 834.4 本章小结 854.5 本章习题 86第5章 算法与数据结构 895.1 算法 895.1.1 算法的描述 905.1.2 常用算法 945.1.3 算法复杂性分析* 985.2 集合 1005.2.1 关系运算 1015.2.2 增删元素 1015.2.3 交集运算 1015.3 数组 1015.3.1 静态数组 1015.3.2 动态数组 1035.3.3 排序 1045.3.4 查找 1065.3.5 数组参数 1085.4 抽象数据类型* 1105.4.1 数据类型的层次结构 1105.4.2 链表 1125.4.3 栈 1155.4.4 队列 1185.5 本章小结 1185.6 本章习题 120第6章 程序结构与结构化设计 1236.1 Delphi程序结构分析 1236.1.1 Program—程序 1236.1.2 Unit—单元 1256.1.3 单元的引用 1276.1.4 标识符的作用范围 1296.2 结构化程序设计基础 1296.2.1 结构化设计的特征 1306.2.2 构造结构化程序的规则1316.2.3 结构化程序设计方法 1316.3 结构化设计应用举例 1326.3.1 问题及分析 1326.3.2 结构化设计 1326.3.3 范例程序的实现 1346.4 本章小结 1466.5 本章习题 147第7章 面向对象与对象模型 1517.1 面向对象的概念 1517.1.1 面向对象的基本原理 1517.1.2 建立面向对象的思维 1527.1.3 UML和对象建模 1547.2 类 1577.2.1 类的概念 1577.2.2 类成员 1587.2.3 类成员的可见性 1597.3 方法和属性 1607.3.1 什么是方法 1607.3.2 方法的绑定 1627.3.3 属性 1647.4 本章小结 1667.5 本章习题 167第8章 面向对象程序设计 1718.1 对象 1718.1.1 理解对象 1718.1.2 使用对象 1728.1.3 对象之间的关系 1798.2 继承 1838.2.1 使用继承 1848.2.2 继承与合成 1918.3 多态 1938.3.1 多态与动态绑定 1938.3.2 方法的覆盖、隐藏和重载1968.4 接口 1988.4.1 接口的概念 1988.4.2 Delphi对象接口 1998.4.3 接口应用实例 2038.5 本章小结 2118.6 本章习题 213第9章 开发过程程序调试 2219.1 软件开发过程概述 2219.1.1 软件生命周期 2219.1.2 软件开发过程 2229.2 调试与测试 2269.2.1 程序调试 2269.2.2 软件质量与测试 2309.3 异常与异常处理 2329.3.1 异常与Delphi的异常类2329.3.2 异常保护与处理机制 2359.3.3 利用异常处理编程 2389.4 本章小结 2409.5 本章习题 241第10章 设计Windows应用程序24510.1 可视化程序设计 24510.1.1 图形用户界面 24510.1.2 可视化组件 24710.2 Windows 24910.2.1 应用程序 25010.2.2 添加其他 25210.2.3 动态创建 25210.3 菜单和工具栏 25410.3.1 设计菜单 25410.3.2 设计工具栏 25710.3.3 设计动作 25810.4 使用控件 25910.4.1 控件的属性和布局 25910.4.2 事件处理模型 26410.4.3 示例程序:EditPad 26610.5 本章小结 27110.6 本章习题 272第11章 设计数据库应用程序 27511.1 数据库和数据库系统 27511.1.1 数据库管理系统 27511.1.2 数据库应用程序 27711.1.3 数据库安全 27711.2 Delphi数据库系结构 27811.2.1 本地数据库和远程数据库27811.2.2 选择合适的系结构 27811.2.3 连接数据库服务器 28011.2.4 Delphi数据库组件介绍28111.3 基于ADO的数据库应用程序28111.3.1 ADO概述 28211.3.2 连接ADO数据库 28211.3.3 ADO数据集 28511.3.4 设计用户界面 28611.3.5 示例程序:图书管理系统 28711.4 SQL数据库编程 29811.4.1 SQL语言简介 29811.4.2 使用SQL编程 30011.4.3 示例程序:SQL查询30411.5 本章小结 30911.6 本章习题 310附录A ASCII码 313附录B Unicode码 317全部代码版权归著作人刘艺等人所有,作者网站:http://www.liu-yi.net
目录 : 第0章 认识Delphi 0-1 前言 0-2 Delphi简介 0-3 进入Delphi7 0-4 退出Delphi 第1章 常用的口工具 1-1 (Form) 1-2 代码编辑器(Code Editor) 1-3 代码浏览器(Code Explorer) 1-4 组件面板(Componet Palette) 1-5 对象检视器(Object Inspector) 1-6 快捷工具栏(Speed Menu) 1-7 项目管理器(Project Manager) 1-8 桌面工具栏(Desktops Tollbar) 1-9 图像编辑器(Image Editor) 1-10 对象浏览器(Object TreeView) 1-11 关联选项卡(Digram Page) 第2章 常用的菜单 2-1 File菜单 2-2 Edit菜单 2-3 Search菜单 2-4 View菜单 2-5 Project菜单 2-6 Run菜单 2-7 Tools菜单 2-8 Windows菜单 第3章 集成开发环境的改变 3-1 Delphi集成开民环境介绍 3-2 操作菜单方面的改进 3-2-1 外面方面的改变 3-2-2 内容方面的改变 3-3 对象检视器方面的改进 3-4 组件面板的改进 3-5 代码编辑器的改进 3-6 设计陈列室的改进 3-7 编译信息的显示 3-8 调试器方面的改进 3-8-1 Watch List改进 3-8-2 Debugger选项的改进 3-8-3 Run Parameters对话框的改进 第4章 Delphi Object Pascal的初步印象 4-1 面向对象程序概论 4-1-1 类 4-1-2 对象 4-1-3 继承 4-1-4 封装 4-1-5 信息 4-2 Delphi项目结构及的建立 4-2-1 GUI模式的项目 4-2-2 Console模式的项目 4-3 Object Pascal程序结构 4-3-1 项目程序(Program)的结构 4-3-2 单元程序Unit)的结构 4-4 如何完成一个简单的程序 第5章 简单的常用指令介绍 5-1 TLabel类对象 5-1-1 Caption属性 5-2 TButton类对象 5-2-1 Caption属笥 5-2-2 OnClick事件 5-3 TEdit类对象 5-4 TCanvas类对象 5-5 Showmessage函数 5-6 InputBox函数 5-7 MessageDlg函灵敏 第6章 Delphi与Object Pascal程序的基本概念 6-1 Object Pascal Program程序结构与Delphi项目结构的关系 6-1-1 标头(Heading) 6-1-2 Uses句 6-1-3 编译指令(Compiler directive) 6-1-4 源代码区(begin end) 6-2 Unit程序结构与的关系 6-2-1 Unit代码结构 6-2-2 语句(Statement) 6-2-3 Unit间Use的状况 6-3 数据类型与定义变量 6-3-1 数据类型概论 6-3-2 不需要使用type声明的数据类型 6-3-3 必须使用type声明的数据类型 6-3-4 定义变量 6-3-5 变量的作用域 6-3-6 定义常量 6-3-7 变量的类型转换(Typecast) 6-4 Object Pascal的运算符(Operator) 6-4-1 设置运算符(assign Operator) 6-4-2 算数运算符(Arithmetic Operator) 6-4-3 关系运算符(Relational Operator) 6-4-4 布尔运算符 6-4-5 集合运算符 6-4-6 字符串运算符 6-4-7 位逻辑运算符 6-4-8 运算符优先级 6-5 流程控制 6-5-1 语句的基本概念 6-5-2 表达式语句(Expression-Statement) 6-5-3 流程控制语句 6-5-4 可视化程序与嵌套程序 6-6 数组与指针 6-6-1 数组类型 6-6-2 指针类型 6-6-3 浅谈指针与数据结构 6-7 程序函数(Procedures and Functions) 6-7-1 函数的意义与优点 6-7-2 函数的分类与效用 6-7-3 自定义函数使用方法概述 6-7-4 函数的声明、定义及其实现 6-7-5 参数传递方式 6-7-6 声明修饰字 6-7-7 常用的内建函数 第7章 Object Pascal面向对象设计 7-1 类和对象 7-1-1 类(Class)与对象(Object)的基本概念 7-1-2 对象的构造与类的关系 7-2 类的声明与对象的定义 7-2-1 类的声明与对象的实现 7-2-2 对象的构造与析构 7-3 类成员的封装等级与可见度 7-3-1 封装的意义 7-3-2 Object Pascal类成员的封装等级 7-3-3 以实例说明类成员封装等级的可见度 7-3-4 开头不加保留字的类成员 7-3-5 成员封装等级的变更法则 7-4 类成员的定义与实现 7-4-1 字段(Field)与对象引用(Object Reference)的实现 7-4-2 方法(Method) 7-4-3 属性(Property) 7-5 类的继承 7-5-1 继承的意义与优点 7-5-2 类成员的存在方式 7-6 成员函数的Override及 Overload 7-6-1 Override 适用的情况——Virtual与 Dynamic的成员函数 7-6-2 Override成员函数的定义语法 7-6-3 Virtual成员函数与动态绑定(Dynamic Binding) 7-6-4 覆盖(Overriding)与隐藏(Hiding)的差别 7-6-5 Override与OVerload的差别 7-7 Abstract成员函数与多态(Polymorphic) 7-7-1 一般纯虚函数的多态实现概念 7-7-2 纯虚函数的定义语法及实现 7-8 Self、AS、is、Sender、Parent、owner、inerited 7-8-1 Self变量 7-8-2 AS运算符 7-8-3 is运算符 7-8-4 Sender 7-8-5 Parent 7-8-6 owner 7-8-7 inerited保留字 7-9 静态成员方法——Class Methods 第8章 异常处理 8-1 异常处理存在的目的 8-2 Object Pascal异常的种类 8-2-1 Delphi内建的异常类 8-2-2 自定义异常类 8-3 触发异常的方法 8-3-1 由程序系统自动触发 8-3-2 使用Raise指令触发 8-4 处理异常情况 8-4-1 try…finally…end语法说明 8-4-2 ty…except…end语法说明 第9章 Delphi用户接口设计详述 9-1 基本概念 9-2 TForm的属性 9-2-1 由TComponent继承而来的属性 9-2-2 由TControl继承而来的属性 9-2-3 由TWinControl继承而来的属性 9-2-4 由TScrollingWindControl继承而来的属性 9-2-5 由TCustomForm继承而来的属性 9-3 TForm的方法 9-3-1 由TObject继承而来的属性 9-3-2 由TPersistent继承而来的属性 9-3-3 由TComponent继承而来的属性 9-3-4 由TControl继承而来的属性 9-3-5 由WinControl继承而来的属性 9-3-6 由TScrollingWinControl继承而来的属性 9-3-7 由TCustomForm继承而来的属性 9-3-8 由TForm继承而来的属性 9-4 TForm的事件 9-4-1 由TControl继承而来的属性 9-4-2 由TWinControl继承而来的属性 9-4-3 由TCustomForm继承而来的属性 9-5 TLabel的类成员 9-5-1 TLabel的属性 9-5-2 TLabel的方法 第10章 标准组件介绍及实作范例 10-1 Frames组件 10-2 MainMenu组件 10-3 PopuMenu组件 10-4 Label组件 10-5 Edit组件 10-6 Memo组件 10-7 Button组件 10-8 CheckBox组件 10-9 RadioButton组件 10-10 ListBox组件 10-11 ComboBox组件 10-12 ScrollBar组件 10-13 GroupBox组件 10-14 RadioGroup组件 10-15 Panel组件 10-16 ActionList组件 第11章 TApplication与TScreen类介绍及应用 11-1 TApplication类 11-1-1 TApplication类对象常用的属性 11-1-2 TApplication类对象常用的方法 11-2 TScreen类 第12章 高级组件介绍 12-1 Additional选项卡的常用组件 12-1-1 TBitBtn组件 12-1-2 TMaskEdit组件 12-1-3 TImage组件 12-1-4 TShape组件 12-2 Win32选项卡的常用组件 12-2-1 TPageControl组件 12-2-2 TImageList组件 12-2-3 TRichEdit组件 12-2-4 TDateTimePicker组件 12-2-5 TStatusBar组件 12-3 System选项卡的常用组件 12-3-1 TTimer组件 12-4 Dialogs选项卡的常用组件 12-4-1 TOpenDialog组件 12-4-2 FTontDialog组件 12-4-3 TColorDialog组件 第13章 封装Delphi7开发的应用程序 13-1 安装Borland的InstallShiled程序 13-2 利用InstallShield封装 Delphi7开发的程序 13-2-1 InstallShield环境界面简介 13-2-2 封装一个简单的Delphi项目 第14章 数据库概念及SQL指令介绍 14-1 数据库基本概念 14-1-1 数据库结构 14-1-2 开放数据库连接协议(ODBC) 14-1-3 SQL Explorer 14-2 结构化查询语言SQL 14-2-1 CREATE语句 14-2-2 ALTER TABLE语句 14-2-3 DROP语句 14-2-4 SELECT语句 14-2-5 INSERT、UPDATE语句 14-2-6 DELETE语句 14-3 SQL指令高级使用 14-3-1 UNION运算 14-3-2 JOIN运算 14-3-3 特殊运算符 14-3-4 查询(Sub Query) 第15章 Delphi数据库程序基础 15-1 Delphi各种数据库连接设置 15-1-1 建立dBase、Paradox连接 15-1-2 建立Access连接 15-1-3 建立MSSQL连接 15-1-4 建立MySQL连接 15-2 Delphi的Database Desktop使用方法 15-2-1 字段定义 15-2-2 输入数据 15-2-3 设置BDE数据库别名与连接数据库 第16章 Delphi数据库程序设计——使用BDE组件 16-1 TDataSet组件 16-1-1 TDataSet组件常用的属性 16-1-2 TDataSet组件常用的方法 16-1-3 TDataSet组件常用的事件 16-2 TTable组件 16-2-1 TTable组件常用的属性 16-2-2 TTable组件常用的方法 16-3 TQuery组件 16-3-1 TQuery组件常用的属性 16-3-2 TQuery组件常用的方法 16-4 TDataModule组件 16-5 TDatabase组件 16-5-1 TDatabase组件常用的属性 16-5-2 TDatabase组件常用的方法 16-5-3 TDatabase组件常用的事件 16-6 综合范例 16-6-1 员工管理系统——使用TTable组件 16-6-2 员工管理系统——使用TQuery组件 16-6-3 订单管理系统——使用TTable组件 16-6-4 订单系统——使用TQuery组件 第17章 数据程序设计——使用Delphi组件 17-1 TADOConnection组件 17-1-1 TADOConnection组件常用的属性 17-1-2 TADOConnection组件常用的方法 17-1-3 TADOConnection组件常用的事件 17-2 TADOCommand组件 17-2-1 TADOCommand组件常用的属性 17-2-2 TADOCommand组件常用的方法 17-3 TADODataSet组件 17-3-1 TADODataSet组件常用的属性 17-3-2 TADODataSet组件常用的方法 17-3-3 TADODataSet组件常用的事件 17-4 TADOTable组件 17-4-1 TADOTable组件常用的属性 17-4-2 TADOTable组件常用的方法 17-5 TADOQuery组件 17-6 综合范例 17-6-1 客户管理系统——使用TADODataSet组件 17-6-2 客户管理系统——使用TADOTable组件 17-6-3 客户管理系统——使用TADOQuery组件 17-6-4 订单管理系统——使用TADOTable组件 17-6-5 订单系统——使用TADOQuery组件 第18章 数据感知组件 18-1 TDBText组件 18-2 TDBEdit组件 18-3 TDBMemo组件 18-4 TDBImage组件 18-5 TDBListBox组件 18-6 TDBComboBox组件 18-7 TDBLookupListBox与TDBLookupComboBox组件 18-8 TDBNavigator组件 18-9 TDBGrid组件 第19章 设计Delphi数据库报表 19-1 设计报表的基本观念 19-1-1 报表的组成 19-1-2 报表的组件——TquickRep 19-1-3 建立第一个报表程序 19-2 QuickReport可打印出组件 19-2-1 TQR系列组件介绍 19-2-2 TQRDB系列组件介绍 19-3 综合范例 19-3-1 一般表达报表范例 19-3-2 标签式报表范例 19-3-3 /明细报表范例 19-3-4 一般表达式附图片报表范例 19-3-5 分组式报表范例——打印多色报表 19-3-6 报表输出及输出范例

5,402

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧