这是个什么萌妹子变声器手机版软件,ios的

在FastReport中,是双击frxReport控件,再用里面的barcode控件来进行条形码的设置,这样可以说是静态的生成条形码并可以对条码的是属性进行设置。
但现在需要动态的创建Barcode控件,并对条形码可以进行动态设置。如:在一个窗口中的edit中分别设置条形码的类型,条形码的值,条形码的长与宽等一些属性,点击打印即可以得到所设置属性的条形码。
这里我之前写的动态创建barcode的部分代码是:
&&ShowBarcode:TfrBarcodeV
&&ShowBarcode:=TfrBarcodeView.Create&;
但是运行提示的错误时undeclared&identifier:'TfrBarcodeView'。
回复讨论(解决方案)
&&ShowBarcode:TfrxBarCodeO
等待。。。。
'TfrBarcodeView'&这个窗体的单元包含进来了没有?
但是运行提示的错误时undeclared&identifier:'TfrBarcodeView'。这个问题解决了,原因是写错了,少了个字母,正确的是TfrxBarcodeView。
这里还有个问题是如何动态创建多个Barcode,并且可以对barcode的条码类型BarType用代码进行设置,而不是点击Barcode进入后进行设置。
1.动态创建条形码,需要在FastReport中写脚本,我写的脚本附在后面。
2.需要定义条形码点击事件,以便用户点出设置条形码的属性
3.定义进行条形码设置的对话窗,把需要设置的属性定义在对话窗中。
&&具体步骤:FastReport中右击Page1(页面1)-&New&Dialog,在其中加入需要设置属性的编辑框,工具栏里基本都有。将DialogPage1的Visible属性设置为False,否则预览即显示对话。
&&在Page1的OnBeforePrint事件中,添加代码-&动态创建BarCode
procedure&Page1OnBeforePrint(Sender:&TfrxComponent);
var&barCode:TFrxBarCodeV&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
begin&&&&&&&&&&&&
&&tt:=&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&barCode:=&TFrxBarCodeView.Create(Page1);
&&barCode.width:=200;
&&BarCode.Height:=60;
&&BarCode.Parent:=Page1;
&&barCOde.Left:=18;
&&BarCode.Top:=12;
&&barCode.OnPreviewCLick:=&'BarCodeClick';&
procedure&BarCodeClick(Sender:&TfrxV&Button:&TMouseB
&&Shift:&I&var&Modified:&Boolean);
&&DialogPage1.ShowM
&&with&dialogpage1&do
&&&&if&ModalResult&=&mrOK&then
&&&&&&//showmessage(edit1.Text+#13+edit2.Text+#13+Edit3.Text);&
&&&&&&//此处加入条形码属性修改代码&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&
忘了说明了,我用的FastReport版本是4.10,DelphiXE测试通过
last_wolf1860
你的方法是条码的属性是从FastReport的Page1中建立的Dialog的edit中设置的,
那如何让条码的属性的属性是通过主窗体Form中的edit中获取呢?
变量传递,在FastReport中创建自义变量test,在OnGetValue中赋值
&&if&varName&=&'test'&then
&&&&Value&=&...
我个人做法,喜欢用一个Variant类型的数组(不需要考虑数据类型),使用VarArrayCreate后,赋值,打印前传入FastReport.
&&再根据规则,设置动态打印的BarCode属性,这么说能听懂吗?
我接触delphi不久,不太懂,能像上面一样写些代码及一些说明吗?谢谢!
楼主要打的条码是一种样式打所有的,还是一个条码一种样式?
等我把ArcEngine10装完了,我写个Demo你去下载罢。(要下载分哦:)
条码的各种属性都可以通过对话框进行设置,也包括条码样式
你还没讲是一种样式打印所有的条码还是一个条码一种样式?
一种样式打印所以的
下载链接:http://download.csdn.net/source/3091723
结贴&散分!~本帖子已过去太久远了,不再提供回复功能。得到的1、将明细表增加图片字段privatevo;//纵向显示Path=Application.S;.Text=&[IIf([D.&quo;式//dataBandD1.stringPDSt;{stringfile=GetReportFie;
得到的 1、将明细表增加图片字段private void AddScheduleImage(DataTable detail){//if (detail.Columns.Contains(&ScheduleImage&))detail.Columns.Add(&ScheduleImage&, typeof(byte[]));int FinishState = 0;foreach (DataRow R in detail.Rows){FinishState = ConvertEx.ToInt(R[&WoolFinishState&]);//毛料完成状态if (FinishState == 2)R[&ScheduleImage&] = CImageLibrary.GetImageBytes(Globals.LoadImage(&xiao.bmp&));if (FinishState == 1)R[&ScheduleImage&] = CImageLibrary.GetImageBytes(Globals.LoadImage(&redflah.bmp&));}detail.AcceptChanges();}--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------2、FsatReport报表将一个txtObject列转换成pictureObjectprivate void InitializeReport(Report report){DataSet dS = _bllsys_PNCache.LoadReportConfig(txtReportConfig.EditValue.ToString());if (dS == null || dS.Tables.Count &= 0)DataTable dtS = dS.Tables[0];DataTable dtSS = dS.Tables[1];if (dtS == null || dtS.Rows.Count &= 0)dtS.Columns.Add(&Caption&, typeof(string));//foreach (DataRow dr in dtS.Rows)//{//
string fieldName = dr[&FieldName&].ToString();//
DataRow[] drs = _dtDGVColumns.Select(string.Format(&FieldName='{0}'&, fieldName));//
if (drs != null && drs.Length & 0)//
dr[&Caption&] = drs[0][&Caption&].ToString();//}dtSS.Columns.Add(&Caption&, typeof(string));foreach (DataRow dr in dtSS.Rows){string fieldName = dr[&FieldName&].ToString();DataRow[] drs = _dtDGVColumns.Select(string.Format(&FieldName='{0}'&, fieldName));if (drs != null && drs.Length & 0){//if (fieldName == &ScheduleImage&||fieldName == &WoolFinishState& )// {//
dr[&Caption&] = &毛料完成状态&;// }dr[&Caption&] = drs[0][&Caption&].ToString();}}DataTable dt = _dtD//笑脸红旗转换if (dt == null)AddScheduleImage(dt);dt.TableName = &D&;string Path = string.Eif (dtS.Rows.Count & 13) //横向显示Path = Application.StartupPath + @&\Reports\rpt_HorAutoGroup.frx&;else
//纵向显示Path = Application.StartupPath + @&\Reports\rpt_VerAutoGroup.frx&;report.Load(Path);//加载报表模板文件TextObject txtT = report.FindObject(&txtTitle&) as TextOtxtT.Text = txtReportConfig.Text.Trim();for (int i = 1; i &= dtS.Rows.C i++){string fieldName = dtS.Rows[i - 1][&FieldName&].ToString();DataRow[] drs = _dtDGVColumns.Select(string.Format(&FieldName='{0}'&, fieldName));if (drs != null && drs.Length & 0)dtS.Rows[i - 1][&Caption&] = drs[0][&Caption&].ToString();if (i & 19)TextObject txtC = report.FindObject(&txt_Column& + i.ToString().PadLeft(2, '0')) as TextOtxtC.Text = dtS.Rows[i - 1][&Caption&].ToString();txtC.Visible =if (fieldName == &Customer&) fieldName = &CustomerName&;if (fieldName == &Sales&) fieldName = &SalesName&;TextObject txtD = report.FindObject(&txt_Data& + i.ToString().PadLeft(2, '0')) as TextOif (fieldName == &WoolFinishState& || fieldName == &ScheduleImage&){txtC.Text = &毛料完成状态&;fieldName = &ScheduleImage&;PictureObject po = new PictureObject();po.Width = txtD.Width-2;po.Top = txtD.Top+2;po.Height = txtD.Height-2;po.Left = txtD.Left-2;po.DataColumn = String.Format(&D.{0}&,fieldName);(report.FindObject(&Data1&) as DataBand).AddChild(po);//TextObject to = new TextObject();//to.Width = txtD.Width - 2;//to.Top = txtD.Top - 2;//to.Height = txtD.Height - 2;//to.Left = txtD.Left - 2;//to.Text = &gs&;////(report.FindObject(&Data1&) as DataBand).ChildObjects.Add(to);//(report.FindObject(&Data1&) as DataBand).AddChild(to);//to.Visible =txtD.Visible =}else{//txtD.Text = &[D.& + dtS.Rows[i - 1][&FieldName&].ToString() + &]&;txtD.Text = &[D.& + fieldName + &]&;txtD.Visible =}foreach (DataColumn dc in dt.Columns){if (pareTo(dtS.Rows[i - 1][&FieldName&].ToString()) == 0){
if (dc.DataType == typeof(System.DateTime)){txtD
.Text = &[IIf([D.&+dtS.Rows[i - 1][&FieldName&].ToString()+&]==DateTime.MinValue,\&\&,[D.&+dtS.Rows[i - 1][&FieldName&].ToString()+&])]&;CustomFormat f = new CustomFormat();f.Format = &MM月dd日&;txtD.Format =}if (dc.DataType == typeof(System.Int32) || dc.DataType == typeof(System.Decimal)){TextObject txtDT = report.FindObject(&txt_DataT& + i.ToString().PadLeft(2, '0')) as TextOtxtDT.Visible =//txtDT.Text = &[T_DataT& + i.ToString().PadLeft(2, '0') + &]&;FastReport.Data.Total total = report.Dictionary.FindByName(&T_DataT& + i.ToString().PadLeft(2,'0')) as FastReport.Data.Ttotal.Expression = &[D.& + dtS.Rows[i - 1][&FieldName&].ToString() + &]&;
}}}}report.Parameters.FindByName(&pPrintUser&).Value = Loginer.CurrentUser.AccountNreport.Parameters.FindByName(&pPrintString&).Value = CommonData.GetPrintString();report.RegisterData(dt, &D&);//注册数据源//给DataBand(明细数据)绑定数据源DataBand detailBand1 = report.FindObject(&Data1&) as DataBdetailBand1.DataSource = report.GetDataSource(&D&);}--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------3 、FastReport打印前处理字体与背景颜色public void DoPrint(object sender, EventArgs e){//OtherRptOptiontb =tb1 =DataTable dt = (gc_Summary.DataSource as DataTable).Copy();//获取数据源dt.DefaultView.RowFilter = &Flag='Y'&;//过滤数据源只取字段 &Flag='Y'的数据if (combSelectReport.SelectedIndex == 0&&dt.Rows.Count&0){RptCommonSimple.Instance.ShowReport(dt.DefaultView.ToTable().Rows.Count == 0 ? dt : dt.DefaultView.ToTable(), this, &rpt_ZJPDforPNs.frx&, this.RptOption);}else{Msg.Warning(&请选择条件查询后打印报表!!&);}}private void RptOption(FastReport.Report rpt){DataBand dataBandD1 = rpt.FindObject(&Data1&) as DataBdataBandD1.BeforePrint += dataBandD1_BeforeP//打印前处理字体与背景颜色格
式//dataBandD1.string PDStatus = ConvertEx.ToString(txt_PDStatus.Text);rpt.Parameters.FindByName(&PDStatus&).Value = PDS}string CurrentFlag = string.ETextOTextObject tb1;void dataBandD1_BeforePrint(object sender, EventArgs e){CurrentFlag = ConvertEx.ToString(((sender as DataBand).DataSource.CurrentRow as DataRow)[&DeFultFlag&]);string RequestData = ConvertEx.ToString(((sender as DataBand).DataSource.CurrentRow as DataRow)[&RequestData&]);tb1 = ((sender as DataBand).Parent.FindObject(&txtRequestDate&) as TextObject);if (RequestData == null) tb1.Text = &&;if (tb == null)tb = ((sender as DataBand).Parent.FindObject(&txtTimeZhi&) as TextObject);tb.Font = CurrentFlag == &Y& ? new Font(tb.Font, FontStyle.Strikeout | FontStyle.Italic) : new Font(tb.Font, FontStyle.Regular);tb.FillColor = CurrentFlag == &Y& ? Color.FromArgb(0xFF, 0x66, 0x66) : Color.E}--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------4、将列的值拼成字符串CREATE TABLE #CenterLoomInfo([CenterID] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL,[GType] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL,[TotalNum] [int] NULL,[AvailableNum] [int] NULL,[TotalNumS] VARCHAR(2000) NULL,[AvailableNumS] VARCHAR(2000) NULL)SELECT
DISTINCT GType,SUM(ISNULL(AvailableNum,0)) AS AvailableNum,SUM(ISNULL(TotalNum,0)) AS TotalNum INTO #GType
FROM dbo.tb_CenterLoomInfo WHERE CenterID IN (SELECT * FROM dbo.ufn_SplitEx(@CenterS,',',1)) AND ISNULL(GType,'')&&'' GROUP BY GTypeDECLARE @GType VARCHAR(200),@TotalNumS VARCHAR(2000),@AvailableNumS VARCHAR(2000)SET @GType=(SELECT
distinct (select cast (GType as varchar(200))+' / ' FROM #GType for xml path('') ) as a FROM #GType)SET @TotalNumS=(SELECT
distinct (select cast (TotalNum as varchar(200))+' / ' FROM #GType for xml path('') ) as a FROM #GType)SET @AvailableNumS=(SELECT
DISTINCT (select cast (AvailableNum as varchar(200))+' / ' FROM #GType for xml path('') ) as a FROM #GType)SET @GType=SUBSTRING(@GType,1,LEN(@GType)-1)SET @AvailableNumS=SUBSTRING(@AvailableNumS,1,LEN(@AvailableNumS)-1)SET @TotalNumS=SUBSTRING(@TotalNumS,1,LEN(@TotalNumS)-1)--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------5 、FastReport 处理报表列动态的当某列数据需要特殊处理时
如某列需要精确小数点四位 等public Report GetRpt()
{string file = GetReportField();Report rpt = new Report();rpt.Load(file);AddList(rpt);//加载列表int i = 0;foreach (GridColumn col in _lstFile){string display = col.Cstring fieldname = col.N_Title[i].Text = col.C_Title[i].Visible =_Data[i].Text = string.Format(&[D.{0}]&, col.FieldName);_Data[i].Visible =if (fieldname.Contains(&FN153&)){FastReport.Format.CurrencyFormat ss=new FastReport.Format.CurrencyFormat();ss.CurrencySymbol = &&;ss.GroupSeparator = &&;ss.NegativePattern = 1;ss.DecimalDigits = 0;ss.UseLocale =_Data[i].Format =}//by zgl 增加提成比例列的字符优化,精确到小数点以后四位if (fieldname.Contains(&FN160&)){FastReport.Format.CurrencyFormat ss = new FastReport.Format.CurrencyFormat();ss.CurrencySymbol = &&;ss.GroupSeparator = &&;ss.NegativePattern = 1;ss.DecimalDigits =4;ss.UseLocale =_Data[i].Format =}//增加合计Total total = new Total();total.Name = col.FieldNtotal.Expression = string.Format(&[D.{0}]&, col.FieldName);total.Evaluator = rpt.FindObject(&Data1&) as DataBtotal.PrintOn = rpt.FindObject(&DataFooter1&) as BandBtotal.TotalType = TotalType.Srpt.Dictionary.AddChild(total);// if (fieldname == &FN001& || fieldname == &FN002&)_Foot[i].Text = string.Format(&[{0}]&, col.FieldName);_Foot[i].Visible =i++;}_Title[i].Text = &签名&;_Title[i].Width = _NameW_Title[i].Visible =_Data[i].Visible =_Data[i].Width = _NameW_Foot[i].Visible =_Foot[i].Width = _NameW}6、C#判断一个表的某列是否选择了相同的数据DataTable dt = _bllItem._Dforeach(DataRow dr in dt.Rows){string source = ConvertEx.ToString(dr[tb_CounterItemDetail.DataSourceType]);DataTable dt2 = new DataTable();if (dt.Select(string.Format(& DataSourceType&&'{0}'&, source)).Length & 1)else{
三亿文库包含各类专业文献、各类资格考试、高等教育、应用写作文书、中学教育、专业论文、C# 开发笔记fastreport控件学习15等内容。 
 于是许多 Delphi 高手相继推出了不少优 秀的报表控件(模块) ,作为 QuickReport...笔者在开发一个药品治理系统时,用 FastReport2.51 成功制作出了和药品验收单、...

我要回帖

更多关于 萌妹子变声器手机版 的文章

 

随机推荐