Blog信息 |
blog名称:注册会计师(注会)练习软件 日志总数:398 评论数量:116 留言数量:27 访问次数:3266726 建立时间:2005年6月6日 |

| |
[delpih编程]fastreport 报表从程序中传变量值到报表中 软件技术
吕向阳 发表于 2009/6/29 14:03:55 |
fastreport 报表从程序中传变量值到报表中
1.在frxreport编辑状态下进入报表的report菜单下的variables子菜 单,add几个,并edit改名,最后按确定,不确定不生效,确定是一个对 勾状按钮有OK标识。假定加了个了名为myvar1的变量
2.进入程序中选frxreport报表,进入其getvalue事件编辑 if varName = 'myvar1' then Value := '这里填变量的值';
就成了
|
|
[delpih编程]BusinessSkinForm使用 软件技术
吕向阳 发表于 2009/6/29 9:22:06 |
BusinessSkinForm使用
1、先放bsBusinessSkinForm、bsSkinData、bsStoredSkin各一个到窗 体上 2、修改bsBusinessSkinForm的SkinData属性为bsSkinData1 3、修改bsSkinData1的StoredSkin属性为bsStoredSkin1 4、修改bsStoredSkin1的filename属性,指向一个皮肤文件,例如我的 55套皮肤包是放在C:\Program Files\Borland\Delphi7\BSF-Skins \Skins文件夹里,我就修改 bsStoredSkin1的filename属性为C:\Program Files\Borland\Delphi7 \BSF-Skins\Skins\Animate\skin.ini 5、在delphi设计窗口中按下F9
|
|
[delpih编程]自修改的SplitString完成字符串分割,结果返回到一个stringlist列表 软件技术
吕向阳 发表于 2009/6/29 6:53:10 |
自修改的SplitString完成字符串分割,结果返回到一个stringlist列 表
绝大部分范例实际中用分割符为一个字符,而不是一个字符串,使用范 围很窄。下例中ch可以是多个字符的字符窜。 function SplitString(const Source, ch: string): TStringList; var temp: string; i: Integer; len1: integer; begin Result := TStringList.Create; if Source = '' then exit; temp := Source; len1 := length(ch); i := pos(ch, Source); while i <> 0 do begin Result.add(copy(temp, 0, i - 1)); Delete(temp, 1, i + len1 - 1); i := pos(ch, temp); end; Result.add(temp); end;
|
|
[delpih编程]抓取表达式中的所有括号对正则表达式 软件技术
吕向阳 发表于 2009/6/29 6:49:05 |
sub get_() { my $epr=shift; #传递进来的表达式 my @a=(); my @b=(); my $b=0; push (@a,$b++) while (0<=($b=index ($epr,'(',$b))); push (@b,$b++) while (0<($b=index ($epr,')',$b))); if (@b==@a) { for(my $y=0;$y<=$#b;$y++) { for(my $x=$#a;$x>=0;$x--) { if ($b[$y]>$a[$x]) { print substr($epr,$a[$x]+1,$b[$y]-$a[$x]- 1),"\n"; splice (@a,$x,1); last ; } } } } else { print "括号不成对!\n"; } }
|
|
[delpih编程]WebBrowser下载完成一个页触发两次onDocumentComplete事件【转】 软件技术
吕向阳 发表于 2009/6/29 6:46:14 |
WebBrowser下载完成一个页触发两次onDocumentComplete事件收藏 因为你浏览的页面可能有框架,每个单独的框架都可能会触发 DocumentComplete事件。 框架集页面会最后触发DocumentComplete事件。 发送事件的对象可以通过DocumentComplete事件的第一个参数访问
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); var CurWebrowser: IWebBrowser; TopWebBrowser: IWebBrowser; Document: OleVariant; WindowName: string; begin CurWebrowser := pDisp as IWebBrowser; TopWebBrowser := (Sender as TWebBrowser).DefaultInterface; if CurWebrowser = TopWebBrowser then ShowMessage('Complete document was loaded') else begin Document := CurWebrowser.Document; WindowName := Document.ParentWindow.Name; ShowMessage(Format('Frame "%s" was loaded', [WindowName])); end; end;
本文来自CSDN博客,转载请标明出处: http://blog.csdn.net/zjhnwlh/articles/1040338.aspx
|
|
[delpih编程]delphi 调用进度条窗体 软件技术
吕向阳 发表于 2009/6/29 6:38:21 |
先做一个窗体文件(FORM),在窗体中加入一个进度条件progressbar.
然后是主程序中按如下方法调用
先把调用进度条的窗体禁用:Form1.Enabled:=false; 然后调用进度条窗体,直接show,不要设为模式状态
begin Enabled:=false; //此处禁用主窗体 try frmProgress:=TfrmProgress.Create(self); try frmProgress.Show; frmProgress.Update;
for i:=0 to n do begin ... //你的事务处理代码 frmProgress.Progress.Positon: =frmProgress.Progress.Positon+1; //进度增加 Application.ProcessMessages; //此处别漏了,让系统处 理进度条变化 end; finally FreeAndNil(frmProgress); end; finally Enabled:=true; end; end;
还可参考以下两例
一):
begin Enabled:=false; //此处禁用主窗体 try frmProgress:=TfrmProgress.Create(self); try frmProgress.Show; frmProgress.Update;
for i:=0 to n do begin ... //你的事务处理代码 frmProgress.Progress.Positon: =frmProgress.Progress.Positon+1; //进度增加 Application.ProcessMessages; //此处别漏了,让系统处 理进度条变化 end; finally FreeAndNil(frmProgress); end; finally Enabled:=true; end; end;
二):
Delphi(Pascal) code
Self.Enabled :=False ; //禁止窗体操作 //初始化进度条 initProgressBar(Fra_Preview1.Marcs.Count, '批量自动验收') |
|
|