社区
Delphi
帖子详情
如何将一个窗体中得到的值传给另一个窗体的变量?
marf_cn
2002-09-13 10:05:02
比如:
我在Form1中的Edit1中输入数据,按Button后如何将Edit1.Text的值传给Form2中定义的变量?
多谢了!
...全文
522
21
打赏
收藏
如何将一个窗体中得到的值传给另一个窗体的变量?
比如: 我在Form1中的Edit1中输入数据,按Button后如何将Edit1.Text的值传给Form2中定义的变量? 多谢了!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
marf_cn
2002-09-16
打赏
举报
回复
我最后决定把这两个变量存入数据库,这样问题就解决了。
多谢各位了!!
marf_cn
2002-09-13
打赏
举报
回复
各位的方法我都试了,还是有些问题请教。
我说详细一些:
做一个财务软件。
--------------------
1.DataModule中的qryJob中有一个房基金的计算字段Fjj。
2.房基金字段的计算公式中有两个变量(因为房基金每年都要变)s(系数 定义为Currency类型)、per(百分比 定义为single)。
3.此计算字段的公式在DataModule单元的OnCalcFields过程中计算。
4.数据显示在frmTable窗体中。
5.另想设计一个改变房基金变量的窗体frmFjj,edtS和edtPer分别输入这两个变量。
-----------------------
问题:
如果在DM中将变量初始化,即使改变,每次执行后还是原来的初始值。
如果不初始化,只是将edt的text传给变量,程序开始运行edt是空的,变量得不到值。
---------再帮帮忙,再加100分。
timelyraining
2002-09-13
打赏
举报
回复
最好新建一个专门放置变量的单元:unit_global;
定义变量
var
s1:string;
unit_global.s1:form2.edit1.text;
在form2中调用就可以了。
这样做最好。
强烈建议用此规范。特别是大的系统。
SayForever
2002-09-13
打赏
举报
回复
Form2中定義一個全局變量 A﹐在Form1中來一句﹕
Form2.A:=Edit1.Text;
jiaxianglei
2002-09-13
打赏
举报
回复
up
ptpa
2002-09-13
打赏
举报
回复
这样可以吗?应该可以
如果不可以
定义一个全局变量
些个小函数,在FORM2中调用这个函数,就可以了
上海老李
2002-09-13
打赏
举报
回复
up,被你先说了!
njjiangzj
2002-09-13
打赏
举报
回复
在form2中先use form1单元名,则form2中的变量=form1.edit1.text
王集鹄
2002-09-13
打赏
举报
回复
DM.s := {Form1.}edtS.Text;
DM.per := {Form1.}edtPer.Text;
marf_cn
2002-09-13
打赏
举报
回复
全都理解错了!edtS和edtPer是两个TEdit文本框的名字!
我想在这两个TEdit中写入值然后传到DM中的两个变量s和per中。
s和per是在public中定义的,也可以运行,但有没有想过这是有语义错误的。如果你在DM中初始化变量后,另一窗体传来的值这次会变,但关闭程序下次再打开时又会初始化为原来的值。我要的是一直受Tedit控制的值。
ilang
2002-09-13
打赏
举报
回复
试一下数据传递的方法
unit1
var
ds: TCopyDataStruct;
hd: THandle;
begin
ds.cbData := Length(Edit1.Text) + 1;
GetMem(ds.lpData, ds.cbData ); { 为传递的数据区分配内存 }
StrCopy(ds.lpData, PChar(Edit1.Text));
Hd := FindWindow(nil, 'Form2'); { 获得接受窗口的句柄 }
if Hd <> 0 then
SendMessage(Hd, WM_COPYDATA, Handle, Cardinal(@ds)) { 发送WM_COPYDATA消息 }
else
ShowMessage('目标窗口没找到!');
FreeMem(ds.lpData); { 释放资源 }
end;
unit2
public
procedure WMCopyData(var S: TWmCopyData); message WM_COPYDATA;
procedure TForm2.WMCopyData(var S: TWmCopyData);
begin
edtS := StrPas(S.CopyDataStruct^.lpData);
end;
xdf_hubei
2002-09-13
打赏
举报
回复
看这里
//窗体1代码
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
private
{ Private declarations }
public
{ Public declarations }
hehe:integer; //这个变量
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
end.
//窗体2代码
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm2 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.DFM}
procedure TForm2.FormCreate(Sender: TObject);
begin
form1.hehe:=1; //这里就用了窗体1的变量hehe
end;
end.
这下总该满意了吧,刚开始学DELPHI吧?是有些费劲的,过一段时间就好了
:)
ocool
2002-09-13
打赏
举报
回复
up
zhjing70
2002-09-13
打赏
举报
回复
我看你这段描述都快疯了!
首先,你有一个数据模块:DataModule(简称DM)。
其次,在这个DM中你定义了两个变量:edtS和edtPer
再者,你想将窗体中,用户出入的变量值传递到DM中,是吗?
解答:
1.在DM中将变量初始化
2.在出入变量值窗体中先use DM
3.再将 DM.edts := ......
xdf_hubei
2002-09-13
打赏
举报
回复
在工程里定义全局变量不就行了????
ybbob
2002-09-13
打赏
举报
回复
i:=form1.edit1.text;
marf_cn
2002-09-13
打赏
举报
回复
up!
有没有人帮我一下!!!我疯了!
swtju94_2
2002-09-13
打赏
举报
回复
在定义Form1的地方定义一个变量,然后把值付给它,在Form2中,uses Form1的单元,然后就可以用了
marf_cn
2002-09-13
打赏
举报
回复
up!!!!
$150 give you!!!
only you give me a hand!!!
zhxzhx
2002-09-13
打赏
举报
回复
你可以在窗体创建时在做一次初始化的动作那就可以正确地把这个值传到dm里去了,要耗些时间
加载更多回复(1)
C#
中
在
一个
窗体
里调用另
一个
窗体
的方法
C#
中
在
一个
窗体
里调用另
一个
窗体
的方法;C#不同
窗体
方法调用
c# WinForm
窗体
之间传
值
的几种方式(小结)
小编最近维护
一个
Winfrom
窗体
,是项目
中
CS端的主
窗体
,很多子
窗体
需要从主
窗体
获取
值
,同时子
窗体
还需要给主
窗体
回传
值
,下面来给大家介绍一下。 正文 本文
中
以主
窗体
为frmMain,子
窗体
为frmGroup ,两
窗体
之间的...
Python Tkinter
窗体
讲解
Python作为自立门户的语言,除了学习它的基础编程之外,它还提供了
窗体
的学习,这样相对来说,它就完整了,如果大家学习过C#
窗体
实现或者Java,MFC等等吧,再学习它就会简单的多。当然大家也不用担心,即使没学过,...
C# 使用Usercontrol与主
窗体
进行消息传递
C# 使用Usercontrol与主
窗体
进行消息传递,利用Usercontrol里面的控件控制主
窗体
上的控件;利用主
窗体
的控件改变Usercontrol里面控件的属性
C++ qt5 电子版教程
1.3 第
一个
程序 Hello World 7 第二章
窗体
应用 1.1
窗体
基类说明 12 1.2 控制
窗体
大小 13 1.3
窗体
初始位置及背景色 13 1.4 修改标题栏图标 14 1.5 移动无边框
窗体
16 1.6 去掉标题栏
中
最大化、最小化按钮 17 1.7 ...
Delphi
5,392
社区成员
262,731
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章