30. 11.
如何给新建控件取名字
就如下,当然下面的效率不高也不好看。
FNewButton.Name:=FNewButton.ClassName+IntToStr(TMyPageControl(Component).PageCount+1);
自己写的控件取名字?
mark
如果是自定义控件的话,系统会自动取名字;
如果是动态创建控件的话,没必要取名字.
如果你使用CreateComponent的话,系统会自动起名字的。
呵呵,我还没自定义过控件过,学习了!
取个名还要好看?
自定义孔件的话
系统会自动起名的
Study
一般都是控件的缩写再加上功能名,比如要为一个Button命名,就可以这样btnOK
30. 11.
我在窗体上做一个查询程序,放置一个Edit控件,通过两个按钮来选择查询的两个字段,一个是代号dh(数值型),另一个是姓名缩写PY(字符型),按代号查询通过,按缩写查询时提示错误,是不是数据类型不对,请问应怎么做?
我没用ADOQuery,一种方法是用Adotable的filter属性过滤,今天看了其他资料想改用findkey试一试。
如果用ADOQuery连接access数据库总是出现数据库登陆窗口,我还不知道怎么取消掉,挺烦的。
filter:= 'py = ' + QuotedStr(Edit1.Text);
是不是用adoconnection了?那就把 ADOConnection1.LoginPrompt:= False;
30. 11.
就像QQ的系统消息一样
在窗体的右下角出现提示,最好出现5分钟后自动消失
嘿嘿,
其实可以有两种方式来实现
一种是被动式,即由QQ的服务端通过网络广播消息到客户端,客户端收到广播就显示.
另一种是被动方式,由客户端定时查询服务端的消息标志,有新信息就提取显示.
上面说错了是
一种是被动式,即由QQ的服务端通过网络广播消息到客户端,客户端收到广播就显示.
另一种是主动方式,由客户端定时查询服务端的消息标志,有新信息就提取显示.
30. 11.
以前曾经将窗体上的内容整体拷贝下来,存在delphi中,当需要的时候可将其粘贴到其他窗体上,现在忘了怎么弄了。
平常那样复制,然后粘贴在代码框就行
需要用到其他窗体,把代码复制,直接粘贴在其他窗体
把它存为一个模板!
在file–>new–>other中找到它不就可以
ctrl+A
和平时复制其他东西一样。
全选,复制就可以了
CTRL+A
可以,另存为模板啊。
29. 11.
定义ExcelApp,MyWorkBook,EWorksheet:Variant;来操作excel
在保存时,现在用的是:MyWorkBook.saveas('c:a.xls')
但用excel2007时.想保存成2003的格式就不行了.
导出的文件名是a.xls,但实际的格式还是2007的.我从网上查了半天,只查到这么一句:
MyWorkBook.SaveAs(SavePath,xlNormal,'','',False,False);
但我编译的时候报错:workbook类的saveas方法无效.
请问保存格式的参数应该如何加?
2003没问题,没试过2007,帮顶
建议保存为低版本的吧,你的这种方法取决于本机excel的版本,老控件又没提供转2007的接口,所以建议你使用第三方的控件去把数据存为excel吧,比如dxdbgrid,cell,formulaone
我就是想存为低版本的啊.只是不知道怎么存.
没人理了.还是改代码吧.唉….
顶3楼的
感谢各位,郁闷了我两天,终于搞定了.
把excel2007的默认保存格式设置为*.xls,用savecopyas('c:a.xls')就可以了.
29. 11.
有谁知道delphi中如何形成曲线图并导出到execl中?急需!
曲线也要导出吗?
还是在Excel里面画曲线!
delphi里面可以用TeeChart或者其它控件
谢谢byteh,是在excel里面画曲线,请各位务必帮忙。
留下你的QQ或者mail,发给你个东西,需要你自己研究了!
抓紧时间,马上要走了!
zhouqing347056@163.com,谢谢!
这个例程不是画曲线的,但是肯定能画!
你自己参考一下其它的资料!
已经发送
29. 11.
请大家赐教下,一个cxGrid如何同时显示两个表的内容?
结构一样?
可以用 TdxMemData,手动的把数据Append进去。
结构不一样,那cxGrid创建不同的View,连接不同的表。
cxgrid下有demo的
你可以建立两个view来实现
路过
可以用view来实现这个功能,cxgrid的功能十分强大。
我想在cxGrid的同一个VIEW中显示两个表的内容
结构一样么?
用TdxMemData。
如果結束一樣,可以用SQL關聯起來顯示.
选中Grid,RootLevelOptions中DetailTabsPosition设置为dtpTop
右下角Grid,右击选中Add Level,让Grid下有两个Level,选中Level,设置它的Caption
Level上右击,Create View,选DB Table View,每个Level都创建一个DB Table View
选中View,DataControler-DataSource设置好,打开绑定的数据集,在View上右击Create All Columns
这样cxGrid就同时显示两个表了,可以用顶部的Tab进行切换。
如果两个表有关系,两个表关联以后,在同一个CXGRID 中显示。
我自己找到答案了,就是ADOQUERY调用SQL语句,同时从多个表中提取数据,组成一个临时表,这样就可以在cxGrid上显示了.
只能说我高估楼主了。。。
不知道你说的是主子表的两个信息,还是建立多个TReeView?
同意。。。
29. 11.
delphi中,设置断点后,如何查看断点的内容?其中每个栏的意义是什么?
不好意思,我分不够了,先欠着,我水平高了连本带利都还你!!
…肯定会被扣分的~
在那个端点的圆点上点右键,选择
breakpoint properties…
断点属性:
condition: 满足条件时中断,默认是空值,即只要执行的这个断点就中断。
pass count: 跳过次数,默认为0,即从第0次开始,每次经过该断点就中断。
Group: 没用过
你们用的是哪个版本的DELPHI?
编译后的程序运行时? 还是程序编译时?
编译后就可以设置断点,编译后的程序运行时可以通过断点调试阿
也可以用ctrl+f7试试
不明LZ在说什么
好像没那么简单,呵呵.
28. 11.
输入两个日期,把这两个日期之间的所有日期取出来
如果是:2008-11-01至2008-11-30(同为一个月)
则为:2008-11-01,2008-11-02,2008-11-03。。。2008-11-30
—-
如果是:2008-12-10至2009-01-02(不同的月,有31号的月份)
则为:2008-12-10,2008-12-30,2008-12-31,2009-01-01,2009-01-02
—-
之间的日期一定要正确
谢谢!
为什么提示:undeclared identifier incDay啊
这种情况用delphi帮助
Unit
DateUtils
呵呵,忘记交代了我对于pascal的语法,dephi的应用还不熟悉,只是因为工作才刚接触了两天,所以希望各位尽量帮忙,最好能给个可执行的例子,不胜感激
汗,上面不是给代码了吗?
那个提示有错误啊,主要是我现在dephi一窍不通,各位拜托了
代码不错,可惜k没用
需要加dateutils
谢了,1楼
看得仔细啊,当时想用循环,后来发现多余了。28. 11.
如题:
用ShowWindow(Application.Handle,SW_HIDE);
和
SetWindowLong(Application.Handle,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
方法均失效了。
编译环境:XP+Delphi2007
以上方法对BorderStyle为bsNone的窗体无效,求解决方法。
{$ifdef ver180}
Application.MainFormOnTaskbar := True;
{$else}
SetWindowLong(Application.Handle, GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
{$endif}
测试了下,采用楼上两位的代码均未解决问题。
继续询问中……
你最好帖下代码,光凭你这2句谁判断的出问题啊
方法一(对Delphi2007有效)
procedure TMain.FormShow(Sender: TObject);
begin
ShowWindow(Application.Handle,SW_HIDE);
end;
方法二(对Delphi2007无效)
procedure TMain.FormCreate(Sender: TObject);
begin
//在任务条隐藏应用程序
SetWindowLong(Application.Handle,GWL_EXSTYLE,
GetWindowLong(Application.Handle,GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
end;
以上两种方法对Delphi2007的BorderStyle为bsNone的窗体无效!
注意关键词是:Delphi2007!
还望高手指点一下。最好在测试Delphi2007测试下。
谢谢。
procedure TForm1.FormShow(Sender: TObject);
begin
SetWindowLong(Self.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
end;
这样试试,看看是不是你要的~
SetWindowLong(Self.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
和
SetWindowLong(Application.Handle,GWL_EXSTYLE,
GetWindowLong(Application.Handle,GWL_EXSTYLE) or WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
肯定不行的。在Delphi2007下任务栏上普通窗口都隐藏不了。
继续咨询……
试试
begin
Application.Initialize;
SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);
Application.CreateForm(TForm1, Form1);
SetParent(Application.Handle,form1.Handle);
Application.Run;
end.
问题自己解决了!
1.在dpr文件中设置
Application.MainFormOnTaskbar := False;
2.在主窗口pas文件中设置
procedure TMain.FormShow(Sender: TObject);
begin
ShowWindow(Application.Handle,SW_HIDE);
end;