每天都很菜......

blueplusplus 2007-04-30 03:35:35
第一个问题,
我在窗体中放了一个DateTimePicker组件,但是每次打开页面的时候它显示的都是我第一次加入这个组件的日期为2007-04-23,,,我想让它运行时显示的都是当天的日期,然后我就在FormShow中加入了DateTimePicker1.Date:=Date;这条语句,当然是我自己乱写的,运行后依然显示的是2007-04-23,没变,我找书了,没找到解决的办法,所以请大家帮忙改一下,
第二个问题,
项目中的A,B二个窗体,按下A窗体中的按钮能弹出B窗体,按下B窗体中的按钮也能弹出A窗体,,现在的问题是,我在A窗体弹出B窗体后,再按B窗体的按钮,又弹出一个A窗体,页面上就有两个一样的A窗体了,我想在B窗体按按钮时,如果现在页面上已经有A窗体的时候,就不再弹出一个一样的了,而是将直接使已存在的窗体提到最前面来,这个又怎么实现呢,
...全文
301 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoukuan0905 2007-05-08
  • 打赏
  • 举报
回复
第一个问题应该是DateTimePicker1.Data
blueplusplus 2007-05-08
  • 打赏
  • 举报
回复
我都在这菜了快一个月了,丢人啊,
wubanganke 2007-05-08
  • 打赏
  • 举报
回复
谁有好点的delphi群啊~~
wubanganke 2007-05-08
  • 打赏
  • 举报
回复
我也很笨啊~~我刚学这个
wubanganke 2007-05-08
  • 打赏
  • 举报
回复
对,我刚这么试了,你在窗体2中把按钮设成返回,按钮事件里把这个窗体关了就可以了
blueplusplus 2007-05-08
  • 打赏
  • 举报
回复
我的神啊,我怎么这么笨啊,,,,,
wubanganke 2007-05-08
  • 打赏
  • 举报
回复
在按钮事件里在show窗体的同时把原窗体关掉不可以吗
blueplusplus 2007-05-05
  • 打赏
  • 举报
回复
还有,由于我没试成功,,所以我又给改回原来的样子,结果,再弹出同样一个窗体时,窗体也显示,但同时又出现一个错误对话框"Cannot make a visible window modal"我都要郁闷死了,咋一天不是这错就是那错呢,,,极度郁闷中,,,,,,,,,,,,,
blueplusplus 2007-05-05
  • 打赏
  • 举报
回复
procedure TCustAnaForm1.ToolButton3Click(Sender: TObject);
if findwindow('TCustAnaForm2','CustAnaForm2')=0 then
begin
Application.CreateForm(TCustAnaForm2,CustAnaForm2);
CustAnaForm2.ShowModal;
CustAnaForm2.Free;
end;

我改成这样了,结果
if findwindow('TCustAnaForm2','CustAnaForm2')=0 then这行就变红了,出错了,
应该怎么改呢,请指教啊,,,
b43ok 2007-05-01
  • 打赏
  • 举报
回复
Application.CreateForm(T*****,*****);
*****.ShowModal;
*****.Free;

你又建了一个窗口,当然就有两个一样的了,可以判断一下再建立啊
比如:
if findwindow('TForm1','Form1')=0 then//看窗口在不在
begin
Application.CreateForm(TForm1,Form1);
Form1.ShowModal;
Form1.Free;
end;
我就不信这样还会出两个相同的来
dongzii 2007-04-30
  • 打赏
  • 举报
回复
接分
blueplusplus 2007-04-30
  • 打赏
  • 举报
回复
还有,我把每个showmodal都换成show后,就不能弹出窗口了,
chenzhuo 2007-04-30
  • 打赏
  • 举报
回复
你重新建一个项目,就放一个DateTimePicker
然后就写一句
DateTImePicker1.DateTime := Now;看有没有问题?
blueplusplus 2007-04-30
  • 打赏
  • 举报
回复
1,系统时间是当天的日期
2,是不是把每个showmodal都换成show呢?
  • 打赏
  • 举报
回复
1、检查你的计算机时间是不是当天的日期。
2、....,这个问题不知道怎么和你说好,你这种写法很“诡异”,这样写每次都回生成新的窗口实例的,如果你一直点下去,会出现无数个form1和form2,直到耗尽所有系统资源。楼上的说得对,可以用show而不要用showmodal(这是模态显示,需要强制响应),但if Not Assigned(Form2) then Form2 := TForm2.Create(niL)这样无法判断form2是否已经实例化,因为声明它的时候已经分配了vmt。
chenzhuo 2007-04-30
  • 打赏
  • 举报
回复
我都没你说的问题!
blueplusplus 2007-04-30
  • 打赏
  • 举报
回复
procedure TCustAnaForm1.FormShow(Sender: TObject);
begin
CustAnaDM.DigitCustAnalyAQ.Open;
DateTimePicker1.DateTime:=Now;
end;

是不是你的系统日期有问题啊!

不能啊
zwh202342 2007-04-30
  • 打赏
  • 举报
回复
上面的也可以解决你的问题,如果真需要这样做可以用互斥量来解决。
chenzhuo 2007-04-30
  • 打赏
  • 举报
回复
procedure TCustAnaForm1.FormShow(Sender: TObject);
begin
CustAnaDM.DigitCustAnalyAQ.Open;
DateTimePicker1.DateTime:=Now;
end;

是不是你的系统日期有问题啊!

两个窗体要互换的话就不要用ShowModal;了,用Show
if Not Assigned(Form2) then Form2 := TForm2.Create(niL);
Form2.Show
blueplusplus 2007-04-30
  • 打赏
  • 举报
回复
procedure TCustAnaForm1.FormShow(Sender: TObject);
begin
CustAnaDM.DigitCustAnalyAQ.Open;
DateTimePicker1.DateTime:=Now;
end;
我改成这样了,可显示的还不是当天的日期啊,


还有,我是在这两个按钮里都用了
Application.CreateForm(T*****,*****);
*****.ShowModal;
*****.Free;

*****是要弹出窗体的名字,是不是问题出在这儿了啊,那应该怎么改呢?

加载更多回复(1)

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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