开发经验技巧宝典pdf.docx
- 文档编号:28625797
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:16
- 大小:22.04KB
开发经验技巧宝典pdf.docx
《开发经验技巧宝典pdf.docx》由会员分享,可在线阅读,更多相关《开发经验技巧宝典pdf.docx(16页珍藏版)》请在冰豆网上搜索。
开发经验技巧宝典pdf
开发经验技巧宝典pdf
篇一:
c#开发经验技巧宝典_5
5.1数字处理技巧
本实例主要介绍如何对计算结果四舍五入。
本实例主要是通过math类的Pow方法来实现的。
运行程序,在文本框中输入数字,单击“确定”按钮四舍五入文本框中的数字。
主要代码如下:
publicstaticdoubleRound(doubled,inti)
{
if(d>=0)
{
d+=5*math.Pow(10,-(i+1));//
}
else
{
d+=-5*math.Pow(10,-(i+1));
}
stringstr=d.ToString();
string[]strs=str.Split('.');
intidot=str.indexof('.');
stringprestr=strs[0];
stringpoststr=strs[1];
if(poststr.Length>i)
{
poststr=str.Substring(idot+1,i);//截取需要位数
}
if(poststr.Length{
poststr=poststr+"0";
}
stringstrd=prestr+"."+poststr;
d=double.Parse(strd);//将字符串转换为双精度实数
returnd;
}
参数d表示要四舍五入的数;i表示要保留的小数点后的位数。
本实例主要介绍如何将商品金额小写转换成大写。
运行程序,在文本框中输入小写金额,单击【确定】按钮执行转换。
主要代码如下:
privatevoidbutton1_click(objectsender,Eventargse)
{
String[]Scale={"分","角","元","拾","佰","仟","万","拾","佰","仟","亿","拾","佰","仟","兆","拾","佰","仟"};
String[]Base={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
StringTemp=textBox1.Text.ToString();
Stringinfo=null;
intindex=Temp.indexof(".",0,Temp.Length);//判断是否有小数点
if(index!
=-1)
{
Temp=Temp.Remove(Temp.indexof("."),1);
for(inti=Temp.Length;i>0;i--)
{
intdata=convert.Toint16(Temp[Temp.Length-i]);
info+=Base[data-48];
info+=Scale[i-1];
}
}
else
{
for(inti=Temp.Length;i>0;i--)
{
intdata=convert.Toint16(Temp[Temp.Length-i]);
info+=Base[data-48];
info+=Scale[i+1];
}
}
textBox2.Text=info;
}
本实例主要介绍如何根据生日自动计算员工年龄。
通常的方法是,先从员工的生日字符中取出年份,然后用当前的日期年份减去员工出生年份,得到的整数就是员工实际年龄。
主要代码如下:
stringm_Str="1984-04-04";
intm_Y1=dateTime.Parse(m_Str).Year;
intm_Y2=dateTime.now.Year;
intm_age=m_Y2-m_Y1;
本实例主要介绍如何设置货币数值中使用的小数位数。
主要是使用numberFormatinfo类的currencydecimaldigits属性来设置在货币值中使用的小数位数,使用cultureinfo类的numberFormat属性来指定字符串的域区样。
语法格式如下:
publicintcurrencydecimaldigits{get;set;}
属性值:
要在货币值中使用的小数位数。
invariantinfo的默认值为2。
cultureinfo类提供有关特定区域性的信息(如区域性的名称、书写系统和使用的日历)以及如何设置日期和排序字符串的格式。
此类有多种重载形式,本实例使用的重载形式如下:
publiccultureinfo(intculture,booluseUseroverride)
参数说明
lculture:
预定义的cultureinfo标识符、现有cultureinfo对象的Lcid属性或仅windows区域性标识符。
lUseUseroverride:
一个布尔值,指示是使用用户选定的区域性设置(True),还是使用默认区域性设置(False)。
numberFormat属性获取或设置numberFormatinfo,它定义适合区域性的、显示数字、货币和百分比的格式。
其语法格式如下:
publicvirtualnumberFormatinfonumberFormat{get;set;}
属性值:
一个numberFormatinfo,它定义适合区域性的、显示数字、货币和百分比的格式。
主要代码如下:
System.Globalization.numberFormatinfoGn=newSystem.Globalization.cultureinfo("zh-cn",false).numberFormat;
int64myint=12345;
privatevoidbutton2_click(objectsender,Eventargse)
{
Gn.currencydecimaldigits=2;
messageBox.Show(myint.ToString("c",Gn),"保留两位小数");
}
privatevoidbutton4_click(objectsender,Eventargse)
{
Gn.currencydecimaldigits=3;
messageBox.Show(myint.ToString("c",Gn),"保留三位小数");
}
本实例主要介绍如何自定义货币值中的小数点,主要是使用numberFormatinfo类的currencydecimalSeparator属性来完成的。
运行程序,效果如图5.1和图5.2所示。
图5.1自定义$符图5.2自定义*符
currencydecimalSeparator属性获取或设置要在货币值中用做小数点分隔符的字符串。
其语法格式如下:
publicstringcurrencydecimalSeparator{get;set;}
属性值:
要在货币值中用做小数点分隔符的字符串,默认值为“.”。
主要代码如下:
System.Globalization.numberFormatinfoGn=newSystem.Globalization.cultureinfo("zh-cn",false).numberFormat;
int64myint=123456789;
privatevoidbutton1_click(objectsender,Eventargse)
{
Gn.currencydecimalSeparator="$";
messageBox.Show("定义前:
"+myint.ToString("c")+"\n"+"定义后:
"+myint.ToString("c",Gn),"自定义小数点为$符");
}
privatevoidbutton2_click(objectsender,Eventargse)
{
Gn.currencydecimalSeparator="*";
messageBox.Show("定义前:
"+myint.ToString("c")+"\n"+"定义后:
"+myint.ToString("c",Gn),"自定义小数点为*符");
}
篇二:
PdF在线阅读开发经验
PdF在线阅读开发经验
(FlexPaper+SwFTools+SaveasPdFandXPS)20XX年10月13日/nick发表于flash,flex,java/尚无评论
1、使用SaveasPdFandXPS将office文档转换成PdF/downloads/details.aspx?
Familyid=4d951911-3e7e-4ae6-b059-a2e79ed87(:
开发经验技巧宝典pdf)041&displaylang=en
微软原计划让office20XX直接支持保存为PdF格式,但引起了adobe的不满,并被指责为垄断,最终被迫放弃,改为以插件的形式予以支持,插件大家都知道怎么回事儿,默认不装,要用你的自己找来装上。
不过微软针对这件事情也做出了一个回应:
发布XPS,XPS则是微软自己利用XmL技术开发的新型文档格式。
该插件支持office20XX的8个组件,包括word、Excel、access、PowerPoint、infoPath、onenote、Publisher和Visio。
安装插件后,用户即可在上述组件中将相应文档存储为PdF格式或XPS格式,还可以方便地将文档保存为PdF/XPS格式的E-mail附件。
2、下载SwFToolsSwFTools是一组用来处理Flash的swf文件的工具包,包括:
1.合并工具swfcombine
2.抽取工具swfextract
3.PdF/JPEG/PnG/aVi/TTF/waV到SwF的转换工具:
pdf2swf,jpeg2swf,png2swf,avi2swf,font2swf,andwav2swf|
4.文本解析工具swfstrings
5.SwF解析器swfdump
6.SwF读写库rfxswflib
其中把pdf转成swf的工具就是pdf2swf了。
在命令行中运行pdf2swfsrc.pdfdes.swf一般能满足需求。
而命令行参数可以通过pdf2swf-f得到:
-h,–helpPrintshorthelpmessageandexit打印帮助信息-V,–versionPrintversioninfoandexit打印版本号
-o,–outputfile.swfdirectoutputtofile.swf.iffile.swfcontains‘13568621′(file13568630.swf),theneachpage指定输出的swf文件名-p,–pagesrangeconvertonlypagesinrangewithrangee.g.1-20or1,4,6,9-11or
指定转换的页面范围,使用的页码描述方法与打印机打印文件时候的选页一样
-P,–passwordpasswordUsepasswordfordecipheringthepdf.指定打开pdf的密码
-v,–verboseBeverbose.Usemorethanone-vforgreatereffect.转换时输出详细的内容
-z,–zlibUseFlash6(mX)zlibcompression.使用Flash6的zlib压缩机制
-i,–ignoreallowspdf2swftochangethedraworderofthepdf.Thismaymakethegenerated允许程序修改pdf的绘制顺序,可能会导致结果与原来有差异
-j,–jpegqualityqualitySetqualityofembeddedjpegpicturestoquality.0isworst(small),100isbest(big).(default:
85)设置转换其中的jpeg图片的质量,从0到100,默认值是85。
-s,–setparam=valueSetaSwFencoderspecificparameter.Seepdf2swf-shelpformoreinformation.设置SwF转码时候的参数,具体参数可以用pdf2swf-shelp获取
-w,–samewindowwhenconvertingpdfhyperlinks,don’tmakethelinksopenanewwindow.设置转换后的swf打开原pdf中的连接时使用相同的窗口-t,–stopinsertastop()commandineachpage.在每页结尾添加一个stop()命令
-T,–flashversionnumSetFlashVersionintheSwFheadertonum.设置SwF所使用的flash版本号
-F,–fontdirdirectoryadddirectorytothefontsearchpath.指定字体文件所在路径
-b,–defaultviewerLinkastandardviewertotheswffile.指定默认的swf导航文件,用来翻页、放大缩小等等
-l,–defaultloaderLinkastandardpreloadertotheswffilewhichwillbedisplayedwhilethemainswfisloading.指定默认的swf加载文件,用来显示加载进程效果
-B,–viewerfilenameLinkviewerfilenametotheswffile.指定swf导航文件,作用同-b
-L,–preloaderfilenameLinkpreloaderfilenametotheswffile.指定swf加载文件,作用同-l
-q,–quietSuppressnormalmessages.Use-qqtosuppresswarnings,also.不打印普通信息,用-qq就不打印警告信息。
-S,–shapesdon’tuseSwFFonts,butstoreeverythingasshape.不使用字体,所有都转为形状。
-f,–fontsStorefullfontsinSwF.(don’treducetousedcharacters).在swf中保存全部字体。
-G,–flattenRemoveasmanycliplayersfromfileaspossible.在文件中尽量去除影片层,合并它们
-i,–infodon’tdoactualconversion,justdisplayalistofallpagesinthePdF.不做实际转换,仅显示PdF的信息。
-Q,–maxtimenabortconversionafternseconds.onlyavailableonUnix.如果运行时间超时则退出。
3、java程序,实现上传PdF自动转换成SwF文件
java
//ajax方法,先解密传过来的文件名,根据判断生成SwF文件后跳转至FLaSH页面//ajax方法,先解密传过来的文件名,根据判断生成SwF文件后跳转至FLaSH页面if(ajaxaction.equals("exeflash"))//把PdF成SwF
{
Stringfn=
decodeUtil.decrypt(StringUtil.null2String(request.getParameter("fn")).trim()).toLowercase();
try{
if(!
"".equals(fn)&&fn.indexof("/")>-1&&fn.indexof(".pdf")>-1){
mapwebfileupmap=(map)
Globals.SYS_UPLoad_conFiG.get("webfile");
Stringwebfilepath=
StringUtil.null2String(webfileupmap.get("path")).replace("\\","\\\\");
fn=fn.substring(fn.lastindexof("/")+
1);//aa.pdf
webfilepath=webfilepath+fn;
Filef=newFile(webfilepath);
if(!
f.exists()){
return"error";
//如果PdF文件不存在则退出
}
mapwebupmap=(map)
Globals.SYS_UPLoad_conFiG.get("web");
Stringwebpath=
StringUtil.null2String(webupmap.get("path")).replace("\\","\\\\");
Stringurlpath=
StringUtil.null2String(webupmap.get("urlpath"));
Stringwname=fn.substring(0,fn.indexof("."))+".swf";
webpath=webpath+wname;
Stringwurl=urlpath+wname;
booleanissc=false;
Filef2=newFile(webpath);
if(!
f2.exists()){
issc=true;
//如果文件不存在则生成
}
if(issc){
Stringcmd="c:
\\SwFTools\\pdf2swf"+webfilepath+"-o"+webpath+"-T9";
if(StringUtil.executecmdFlash(cmd)==false){
return"error";
}
System.out.println("cmd:
:
:
:
:
:
"+cmd);}
Filef1=newFile(webpath);
if(f1.exists()){
ajaxstr=decodeUtil.Encrypt(wurl);}
}else{
return"error";
}
}catch(Exceptione){
Globals.Logger("发生错误:
"+e,2);
}
注意:
Stringcmd=“c:
\\SwFTools\\pdf2swf”+webfilepath+”-o”+webpath+”-T9″;
加“-T9”参数,设置输出版本为flash9,解决PdF文件只有一页,生成的swf不能播放的问题。
另外,若PdF内表格元素过多,在转换时会抛出一堆异常错误。
似乎还没有好的解决办法?
java
//java调用cmd命令行方法/**
*运行可执行文件
*
*@paramcmd
*@returnString
*/publicstaticsynchronizedbooleanexecutecmdFlash(Stringcmd){
try{
finalProcessprocess=
Runtime.getRuntime().exec(cmd);
Runtime.getRuntime().addShutdownHook(newThread(){publicvoidrun(){
process.destroy();
}
});
inputStreamReaderinputstreamreader=new
inputStreamReader(process.getinputStream());
charc=(char)inputstreamreader.read();
if(c!
='\uFFFF')
stdout.append(c);
while(c!
='\uFFFF'){
if(!
inputstreamreader.ready()){
System.out.println(stdout);
try{
process.exitValue();
break;
}
catch(illegalThreadStateException_ex){try{
Thread.sleep(100L);
}
catch(interruptedException_ex2){}
}
}else{
c=(char)inputstreamreader.read();stdout.append(c);
}
}
try{
inputstreamreader.close();
}
catch(ioExceptionioexception2){
System.err.println("Runcmd:
ErrorclosinginputStream"+ioexception2);
returnfalse;
}
篇三:
目录c#开发经验技巧宝典
第1章开发环境1
1.1VisualStudio开发环境安装与配置2
0001安装VisualStudio20XX开发环境须知2
0002配置合适的VisualStudio20XX开发环境2
0003设置程序代码行序号3
0004开发环境全屏显示3
0005设置窗口的自动隐藏功能3
0006根据需要创建所需解决方案4
0007如何使用“验证的目标架构”功能4
1.2VisualStudio开发环境的使用4
0008为程序设置版本和帮助信息4
0009设置windows应用程序启动窗体5
0010设置web应用程序起始页5
0011如何设置程序的出错窗口5
0012如何进行程序调试6
0013如何结束不能正常运行的程序6
0014如何锁定窗体中的控件6
0015统一窗体中控件的字体设置7
0016通过“格式”菜单布局窗体7
0017起始页中的“VisualStudio开发人员新闻”7
1.3mSdn帮助的使用8
0018有效利用VisualStudio20XX附带程序8
0019有效使用mSdn帮助9
0020如何设置mSdn帮助9
1.4其他10
0021如何添加项目引用10
0022如何添加web引用10
0023如何添加引用第3方控件11
0024如何生成dLL文件11
0025如何使用不安全代码11
第2章语言基础13
2.1注释14
0026如何对代码进行注释14
0027#region、#endregion关键字的使用技巧14
0028“///”符号的使用技巧14
0029使用注释取消程序语句的执行15
2.2语句15
0030跳转语句GoTo的使用15
0031continue语句的使用16
0032Break语句的使用16
0033Return语句的使用17
0034如何实现无限循
0047有效使用base关键字23
0048typeof表达式的使用23
0049params关键字可以指定多参数24
0050using关键字的用法24
0051变量的作用域25
2.5其他26
0052有效使用this对象26
0053如何声明变量26
0054如何声明相同类型的多个变量26
0055利用object变量传递参数27
0056强行改变运算符的运算顺序27
第3章程序算法29
3.1数据结构30
0057如何实现单向链表30
0058如何实现双向链表35
0059如何实现堆栈41
0060队列的实现43
0061树的实现44
3.2排序48
0062如何实现选择排序算法48
0063如何实现冒泡排序算法49
0064如何实现快速排序算法50
0065如何实现插入排序算法50
0066如何实现希尔排序算法51
3.3常见算法的实际应用52
0067计算1+22+33+44+……+nn的值52
0068计算10!
的值52
0069求最大公约数52
0070求最小公倍数53
0071判断素数的算法53
0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 开发 经验 技巧 宝典 pdf