pb实现打印中人民币大写

合集下载

PB中实现数据窗口打印预览通用方法

PB中实现数据窗口打印预览通用方法

PB中实现数据窗口打印预览通用方法我们在文字处理过程中,常常在打印前要预览,以便控制打印效果,特别在数据打印中要有选择地打印页面,更需要预览。

PB提供了程序开发过程中的数据打印预览,下面介绍在程序应用中实现打印预览通用方法。

主窗口示意图如下:打印预览窗口预览尺寸自定义30% 50% 100% 200% 标尺一、上述W_preview窗口中各控件说明:1. 命令按钮控件(CommandButton)Cb_1: 用于数据窗口翻至首页。

Cb_2: 用于数据窗口向上翻页。

Cb_3: 用于数据窗口向下翻页。

Cb_4: 用于数据窗口翻至尾页。

Cb_5: 用于关闭打印预览数据窗口。

2.复选框控件(CheckBox)Cbx_1:用于为预览数据窗口添加显示标尺。

3.掩码编辑器控件(EditMask)Em_1:用于显示和改变打印预览的相对比例。

4.成组框控件(GroupBox)Gb_1:用于显示一组控件的共同属性信息。

5.收音机按钮控件(RadioButton)Rb_1:用于用户自定义打印预览显示比例。

Rb_2:用于用户设置打印预览显示比例为30%。

Rb_3:用于用户设置打印预览显示比例为50%。

Rb_4:用于用户设置打印预览显示比例为100%。

Rb_5:用于用户设置打印预览显示比例为200%。

6.数据窗口控件(DataWindow)dw_1:用于显示打印预览结果。

二、下面讲述创建上述窗口的实现过程:1.创建一个新窗口W_preview,设置该窗口的类型(WindowType)为Response,设置窗口的标题(Title)为“打印预览窗口"。

2.在主窗口中按示意图放置各个控件,为掩码编辑器(Em_1)定义属性,在General页中定义Text为“100”,在Mask页中为Mask定义为“###”,选中Spin Control, 设置Spin Increment 为“1”,设置Spin Range的Min为“1”、Max为“200”。

商贸宝打印常见问题

商贸宝打印常见问题

1、单据打印时是否可以选择打印机和打印页数?【原因分析】可以选择,需要在显示打印设置中进行设置。

【解决方案】(1)打开一个单据,打开右下角打印——打印管理器,将显示打印设置打勾;如图2-1所示:图2-1【打印管理器】对话框(2)打印时会跳出一个提示界面,再次可以选择打印机、打印页数已经是打印页范围等。

如图2-2所示:图2-2【打印设置】对话框2、T1商贸宝中单据或者报表打印的时候能够设置每页打印固定的行数吗?【原因分析】可以通过打印报表设计来设置。

【解决方案】以销售单为例:打开打印报表设计,双击细项数据,在弹出的对话框中,“每页打印行数”默认为0(0代表没有行数限制,根据选择的纸张能打多少行就打多上行),把它改成需要的打印行数即可。

如果还需要在不足打印行数的时候增加空行,则可将“自动追加空行”选上。

如图2-3所示:图2-3【设置每页打印行数】对话框3、单据打印设计中如何设置金额大写?【解决方案】(1)选中单元格右键,在单元格类型中选择插入汇总框;选中单元格右键属性,弹出对象查看器,将“转换成大写”设置为True即可,如图2-4所示:图2-4【打印报表设计-转换成大写】对话框(2)也可以用函数转换成大写金额,双击要转换成大写金额的单元格,弹出文本编辑器,点Fx表达式,出现表达式编辑器,如图2-5-1所示:图2-5-1【打印报表设计-函数-转换成金额大写】对话框选择fx函数,在表达式编辑器中选择CurrToBigNum函数,如图2-5-2所示:图2-5-2【打印报表设计-函数——转换成金额大写】对话框选择继续,如图2-5-3所示:图2-5-3【打印报表设计-函数——转换成金额大写】对话框点,如图2-6-1所示:图2-6-1【打印报表设计-函数-表达式设置】对话框最终的设置公式:CurrToBigNum([细项数据."金额"]),如图2-6-2所示:图2-6-2【打印报表设计-函数-表达式确认】对话框选择对应的项,确认即可完成大写的转换。

象过河进销存仓库管理软件如何实现打印金额大写

象过河进销存仓库管理软件如何实现打印金额大写

象过河进销存仓库管理软件如何实现打印
金额大写?
象过河软件打印时,合计金额有时候需要打印大写的效果出来,具体需要如何设置这个功能呢?先看下图效果34-01
这个设置不复杂,【打印样式】- 【设计】,选择您要设计的样式,然后进入设计界面,选择要大写的那个字段,然后点击右键,选择【显示格式】,会跳出一个设置框,选择【数字】,然后在【格式字串】中输入小写的字母z ,如下图34-02( 然后点击确定,退出后点击保存,最后预览即可实现了)
关于象过河进销存财务管理软件的更多研究请进入象过河进销存软件网站: 象过河官方网站:。

Ireport实现金额大写

Ireport实现金额大写

Ireport实现金额大写●第一步:打开ireport,新建一个报表。

●第二步:在“Scriptlet”选项卡里选择“Use ireport internal scriptlet support”,报表名称定义为“B”,然后点击“ok”按钮。

●第三步:此时ireport已经使用了一个内部定义好的脚本,该脚本是个空壳子,没有实现任何功能。

我们也可以编辑该脚本类,如下操作:点“预览-> Scriptlet 编辑器”,此时会弹出一个编辑脚本类的窗口写入转化金额大写函数如下:static String HanDigiStr[] = new String[] {"零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"};static String HanDiviStr[] = new String[] {"", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿","拾", "佰", "仟", "万", "拾", "佰", "仟", "亿","拾", "佰", "仟", "万", "拾", "佰", "仟"};static String PositiveIntegerToHanStr(String NumStr) { // 输入字符串必须正整数,只允许前导空格(必须右对齐),不宜有前导零String RMBStr = "";boolean lastzero = false;boolean hasvalue = false; // 亿、万进位前有数值标记int len, n;len = NumStr.length();if (len > 15) {return "数值过大!";}for (int i = len - 1; i >= 0; i--) {if (NumStr.charAt(len - i - 1) == ' ') {continue;}n = NumStr.charAt(len - i - 1) - '0';if (n < 0 || n > 9) {return "输入含非数字字符!";}if (n != 0) {if (lastzero) {RMBStr += HanDigiStr[0]; // 若干零后若跟非零值,只显示一个零// 除了亿万前的零不带到后面//if( !( n==1 && (i%4)==1 && (lastzero || i==len-1) ) ) // 如十进位前有零也不发壹音用此行}if (! (n == 1 && (i % 4) == 1 && i == len - 1)) { // 十进位处于第一位不发壹音RMBStr += HanDigiStr[n];}RMBStr += HanDiviStr[i]; // 非零值后加进位,个位为空hasvalue = true; // 置万进位前有值标记}else {if ( (i % 8) == 0 || ( (i % 8) == 4 && hasvalue)) { // 亿万之间必须有非零值方显示万RMBStr += HanDiviStr[i]; // “亿”或“万”}}if (i % 8 == 0) {hasvalue = false; // 万进位前有值标记逢亿复位}lastzero = (n == 0) && (i % 4 != 0);}if (RMBStr.length() == 0) {return HanDigiStr[0]; // 输入空字符或"0",返回"零"}return RMBStr;}public static String toRMB(Double val) {String SignStr = "";String TailStr = "";long fraction, integer;int jiao, fen;if (val < 0) {val = -val;SignStr = "负";}if (val > 99999999999999.999 || val < -99999999999999.999) {return "数值位数过大!";}// 四舍五入到分long temp = Math.round(val * 100);integer = temp / 100;fraction = temp % 100;jiao = (int) fraction / 10;fen = (int) fraction % 10;if (jiao == 0 && fen == 0) {TailStr = "整";}else {TailStr = HanDigiStr[jiao];if (jiao != 0) {TailStr += "角";}if (integer == 0 && jiao == 0) { // 零元后不写零几分TailStr = "";}if (fen != 0) {TailStr += HanDigiStr[fen] + "分";}}// 下一行可用于非正规金融场合,0.03只显示“叁分”而不是“零元叁分”// if( !integer ) return SignStr+TailStr;return "¥" + SignStr + PositiveIntegerToHanStr(String.valueOf(integer)) +"元" + TailStr + "整";}然后点Save保存,即创建了一个脚本,并再保存报表文件,此时你可以到报表文件目录找到一个BScriptlet的java文件,这就是ireport自动生成的脚本类文件(脚本类名= 报表名+Scriptlet)。

PB中打印设置

PB中打印设置

PB中一个类Word打印对话框的实现发送到手机 | 收藏全屏阅读模式字体:小 | 大Powerbuilder数据窗口可用于生成各种复杂的报表,但如何让用户在使用时控制打印份数、打印范围等信息呢?我们在开发我局MIS系统时,经过对我局报表打印需求的分析,提出了如下的功能要求:1.必须能够控制象打印份数、打印(页码)范围等信息,这是基本的要求。

2.我们系统中装有多台打印机,必须能让用户根据自己需要选择使用哪台打印机,必要时能对所选打印机进行配置。

3.在设计时,对每一个报表需要什么样的纸张,要多大的边距合适,都已确定,所以使用时不需要页面的设置。

但由于不同的报表使用不同的纸张,必须在使用时给出提示,以便用有机会换上合适的纸张(或换用合适的打印机)。

根据以上要求,我们设计了如下图所示的对话框。

下面把设计过程以及用到的技术介绍一下。

首先使用窗口画板画出窗口,名字为w_printdlg,窗口类型为respons。

“打印机”组框中的“名称”文本控制的名字为st_printname,“设置”按钮的名字为cb_printsetup。

“页面范围”组框中的无线按钮组名字分别为rb_pagearrangeall,、rb_pagearrangecurrent、rb_pagearrange,单行编辑框名字为sle_pagearrange,其enable属性为false。

“副本”组框中的编辑域名字为em_copies。

“打印”旁边的下拉列表框名字为ddlb_printwhat,列表有三项,分别为所选页面、偶数页、奇数页。

“纸张”组框中的下拉列表框名字为ddlb_paper,列表内容为Poerbuiler 定义的43种纸张类型,分别用0-42的数字来表示。

“纵向”无线按钮的名字为rb_portrait,“ 横向”无线按钮的名字为rb_landscape。

表示纵向和横向的图片框分别为p_portrait和p_landscape。

自动生成大写

自动生成大写

EXCEL中,如何在一个单元格中输入数值,另一个单元格中自动给出大写用Excel函数将货币数值由阿拉伯数字自动生成为中文大写格式>我们在会计数据处理中经常需要将货币数值由阿拉伯数字转换为中文大写格式,特别是批量或经常性业务中通过输入阿拉伯数字金额而自动生成中文大写尤显必要。

下面以自编支票套打工具为例说明如何实现这种格式的转换。

如图是全部用Excel函数自编农业银行转帐支票套打工具,图中内容是需要打印到转帐支票上内容,其中A-D列为支票存根部分,我们利用Excel函数对要填写大部分内容建立公式后,只要输入支票存根部分的三项基本信息(A6-A8单元格):收款单位、金额、用途,其他内容全部自动生成。

图中输入阿拉伯数字格式金额的是支票存根中A7单元格,要自动生成中文大写金额的是H3单元格,我们按照支票中的金额中文大写格式的特殊的要求,利用Excel函数对H3进行公式设置。

在H3单元格输入:=IF((A7-INT(A7))=0,TEXT(A7,"[DBNUM2]")&"元整",IF(INT(A7*10)-A7*10=0,TEXT(INT(A7),"[DBNUM2]")&"元"&TEXT((INT(A7*10)-INT(A7)*10),"[DBNUM2]")&"角整",TEXT(INT(A7),"[DBNUM2]")&"元"&IF(INT(A7*10)-INT(A7)*10=0,"零",TEXT(INT(A7*10)-INT(A7)*10,"[DBNUM2]")&"角")&TEXT(RIGHT(A7,1),"[DBNUM2]")&"分"))。

excel表格中数字自动变成人民币大写的函数

excel表格中数字自动变成人民币大写的函数

标题:excel表格中数字自动变成人民币大写的函数在许多日常工作中,我们经常会用到Microsoft Excel这一办公软件来处理数据和表格。

在处理涉及人民币金额的时候,通常需要将数字自动转换成人民币大写的形式,这不仅方便了数据的阅读和理解,也符合财务报表的要求。

下面介绍一种在Excel中实现这一功能的方法,希望对大家有所帮助。

1. 准备工作在使用Excel表格处理人民币金额时,首先需要保证表格中含有人民币金额的数字列。

假设我们要将A列的数字自动转换成人民币大写,我们可以将转换后的结果显示在B列。

2. 编写函数在B列的第一个单元格中,输入以下函数来实现将数字自动转换成人民币大写的功能:=人民币(A1)其中,A1代表了要转换的人民币金额所在的单元格,人民币()为自定义的转换函数名称,可以根据个人喜好进行修改。

3. 自定义函数在Excel中,默认并没有内置的函数来实现将数字转换成人民币大写的功能,因此需要通过自定义宏来实现。

以下是一个示例的自定义函数,供大家参考:Function 人民币(ByVal MyNumber) As StringDim Dollars, Cents, TempDim DecimalPlace, CountReDim place(9) As Stringplace(2) = " Thousand "place(3) = " Million "place(4) = " Billion "place(5) = " Trillion "' String representation of amount.MyNumber = Trim(Str(MyNumber))' Position of decimal place 0 if none.DecimalPlace = InStr(MyNumber, ".")' Convert cents and set MyNumber to dollar amount.If DecimalPlace > 0 ThenCents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) _ "00", 2))MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))End IfCount = 1Do While MyNumber <> ""Temp = GetHundreds(Right(MyNumber, 3))If Temp <> "" Then Dollars = Temp place(Count) Dollars If Len(MyNumber) > 3 ThenMyNumber = Left(MyNumber, Len(MyNumber) - 3)ElseMyNumber = ""End IfCount = Count + 1LoopSelect Case DollarsCase ""Dollars = "No Dollars"Case "One"Dollars = "One Dollar"Case ElseDollars = Dollars " 元"End SelectSelect Case CentsCase ""Cents = " and No Cents"Case "One"Cents = " and One Cent"Case ElseCents = " and " Cents " 分"End Select人民币 = Dollars CentsEnd FunctionFunction GetHundreds(ByVal MyNumber)Dim Result As StringIf Val(MyNumber) = 0 Then Exit FunctionMyNumber = Right("000" MyNumber, 3)If Mid(MyNumber, 1, 1) <> "0" ThenResult = GetDigit(Mid(MyNumber, 1, 1)) " 百"End IfIf Mid(MyNumber, 2, 1) <> "0" ThenResult = Result GetDigit(Mid(MyNumber, 2, 1)) " 十"ElseIf Mid(MyNumber, 1, 1) <> "0" And Mid(MyNumber, 2, 1) = "0" ThenResult = Result " 零"End IfEnd IfIf Mid(MyNumber, 3, 1) <> "0" ThenResult = Result GetDigit(Mid(MyNumber, 3, 1))End IfGetHundreds = ResultEnd FunctionFunction GetTens(TensText)Dim Result As StringResult = "" ' Null out the temporary function value. If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19... Select Case Val(TensText)Case 10: Result = "十"Case 11: Result = "十一"Case 12: Result = "十二"Case 13: Result = "十三"Case 14: Result = "十四"Case 15: Result = "十五"Case 16: Result = "十六"Case 17: Result = "十七"Case 18: Result = "十八"Case 19: Result = "十九"Case ElseEnd SelectElse ' If value between 20-99...Select Case Val(Left(TensText, 1))Case 2: Result = "二十 "Case 3: Result = "三十 "Case 4: Result = "四十 "Case 5: Result = "五十 "Case 6: Result = "六十 "Case 7: Result = "七十 "Case 8: Result = "八十 "Case 9: Result = "九十 "Case ElseEnd SelectResult = Result GetDigit _(Right(TensText, 1)) ' Retrieve ones place. End IfGetTens = ResultEnd FunctionFunction GetDigit(Digit)Select Case Val(Digit)Case 1: GetDigit = "一"Case 2: GetDigit = "二"Case 3: GetDigit = "三"Case 4: GetDigit = "四"Case 5: GetDigit = "五"Case 6: GetDigit = "六"Case 7: GetDigit = "七"Case 8: GetDigit = "八"Case 9: GetDigit = "九"Case Else: GetDigit = ""End SelectEnd Function4. 使用自定义函数在完成自定义函数的编写后,我们可以在B列的第一个单元格中输入=人民币(A1),然后按下Enter键,即可看到A1单元格中的人民币金额被自动转换成人民币大写的形式,并显示在B1单元格中。

pb大小写转换的存储过程

pb大小写转换的存储过程
*****W_Mdi的Close事件代码:
destroy inv_WallPaper
ulong iul_hbitmap
ulong iul_hmdi
ulong iul_dcmdi
ulong iul_hDCMem
s_bitmap istr_Bitmap
boolean ib_center = FALSE
long bmwidth
long bmheight
long bmwidthbytes
Event Name:ue_Paint()
Return Type:None
//代码:
if IsValid(inv_WallPaper) then
inv_WallPaper.event post ue_Paint()
long bmplanes
long bmbitspixel
blob bmbits
inv_wallpaper.of_SetBitmap ( 'Maps\Dataauditing.bmp' ) //图片路径和图片名
inv_WallPaper.of_SetWallPaper(true)
*定义第二个用户自定义事件:Ue_paint()
FUNCTION ulong CreateCompatibleDC(ulong hDC) LIBRARY "Gdi32.dll"
FUNCTION ulong GetDC(ulong handle) LIBRARY "User32.dll"
FUNCTION ulong SelectObject(ulong hDC, ulong hGDIObj) LIBRARY "Gdi32.dll"
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

pb实现打印中人民币大写
根据我国的财务票据的当前特点,仍需要财务票据中人民币有大写一项。

现在本人用PB编写了一个人民币大写的函数。

您只要将您数据窗口中的人民币小写项数据值取出,利用这个函数将其转换成大写方式,然后再赋到数据窗口的某项中即可。

string jet,dxs,xxs,jew1,jew2,jew,jeq,jeb,jes,jeg,jej,jef
long ls,lss
string jedx
jet=string(yjk)
ls=len(jet)
lss=10 - ls
jet=space(lss)+jet
dxs='零壹贰叁肆伍陆柒捌玖/'
xxs='0123456789 '
jew2=mid(jet,1,1)
jew1=mid(jet,2,1)
jew=mid(jet,3,1)
jeq=mid(jet,4,1)
jeb=mid(jet,5,1)
jes=mid(jet,6,1)
jeg=mid(jet,7,1)
jej=mid(jet,9,1)
jef=mid(jet,10,1)
jew2=mid(dxs,pos(xxs,jew2)*2 - 1,2)+"佰"
jew1=mid(dxs,pos(xxs,jew1)*2 - 1,2)+"拾"
jew=mid(dxs,pos(xxs,jew)*2 - 1,2)+"万"
jeq=mid(dxs,pos(xxs,jeq)*2 - 1,2)+"仟"
jeb=mid(dxs,pos(xxs,jeb)*2 - 1,2)+"佰"
jes=mid(dxs,pos(xxs,jes)*2 - 1,2)+"拾"
jeg=mid(dxs,pos(xxs,jeg)*2 - 1,2)+"元"
jej=mid(dxs,pos(xxs,jej)*2 - 1,2)+"角"
jef=mid(dxs,pos(xxs,jef)*2 - 1,2)+"分"
jedx=jew1+jew+jeq+jeb+jes+jeg+jej+jef
return jedx。

相关文档
最新文档