分享实用代码段,顺便过年散分(1)
杯具了···最高只让俺发100分··过年回来继续……
引用萧伯纳一段话:“倘若你有一个苹果,我也有一个苹果,而我们彼此交换这些苹
果,那么你和我仍然是各有一个苹果。但是,倘若你有一种思想,我也有一种思想,而
我们彼此交换这些思想,那么,我们每人将有两种思想。”
合作·共享才能共赢。
欢迎大家在此分享各种代码,只要代码够精彩,另外开贴散分。
首先声明:以下代码段并非全是本人作品,部分引自网络。
先来一段,抛砖引玉!其它代码我会在回帖里面贴出来。
/// <summary>
/// C#读取文件时自动判断编码函数
/// </summary>
/// <param name="FILE_NAME">需要判断编码方式文件的物理路径
如"C:\file\file.txt"</param>
/// <returns></returns>
public static System.Text.Encoding GetType(string FILE_NAME)
{
FileStream fs = new FileStream(FILE_NAME, FileMode.Open,
FileAccess.Read);
System.Text.Encoding r = GetType(fs);
fs.Close();
return r;
}
public static System.Text.Encoding GetType(FileStream fs)
{
/*byte[] Unicode=new byte[]{0xFF,0xFE};
byte[] UnicodeBIG=new byte[]{0xFE,0xFF};
byte[] UTF8=new byte[]{0xEF,0xBB,0xBF};*/
BinaryReader r = new BinaryReader(fs,
System.Text.Encoding.Default);
byte[] ss = r.ReadBytes(4);
r.Close();
//编码类型 Coding=编码类型.ASCII;
if (ss[0] <= 0xEF)
{
if (ss[0] == 0xEF && ss[1] == 0xBB && ss[2] == 0xBF)
{
return System.Text.Encoding.UTF8;
}
else if (ss[0] == 0xFE && ss[1] == 0xFF)
{
return System.Text.Encoding.BigEndianUnicode;
}
else if (ss[0] == 0xFF && ss[1] == 0xFE)
{
return System.Text.Encoding.Unicode;
}
else
{
return System.Text.Encoding.Default;
}
}
else
{
return System.Text.Encoding.Default;
}
}
// 反转一个字符串
public static string Reverse(string s)
{
char[] c = s.ToCharArray();
System.Array.Reverse(c);
return new string(c);
}
DataBBS DB = new DataBBS();
protected string city=null;
protected void Page_Load(object sender, EventArgs e)
{
string wheres = " and fid=40", tables = "fsoo_topics";
string page = Request["page"];
if (PageValidate.IsDigit(Request, "city") != string.Empty)
{
wheres += " and typeid="+ Request["city"] +"";
city=Request["city"];
}
Page PageClass = new Page(tables, "tid,title,sortid", wheres, "tid", "1", "tid", "job.aspx?city="+ city +"&page=", 45, page, "");
PageClass.Get_Content2(newslist);
pagestring.Text = PageClass.Get_Page();
}
protected string Get_name(string typeid)
{
string Get_str = null;
if (typeid != null && typeid.Length != 0 && typeid.Trim()!="")
{
DataTable dt = DB.GetDataTable("caozuo 1,'fsoo_topicsclass','id,name','id in (" + typeid.Trim() + ")','typeid asc'");
for (int i = 0; i < dt.Rows.Count; i++)
{
Get_str += dt.Rows[i][1].ToString() + ",";
}
}
return Get_str;
}
/// <summary>
/// 将DataGirdView数据,导出EXCEL文件.
/// </summary>
/// <param name="dgv">DataGridView控件名称</param>
/// <param name="name">导出excel文件名称</param>
public static void ToExcel(DataGridView dgv, string name)
{
try
{
//总可见列数,总可见行数
int colCount = dgv.Columns.GetColumnCount(DataGridViewElementStates.Visible);
int rowCount = dgv.Rows.GetRowCount(DataGridViewElementStates.Visible);
//dataGridView 没有数据提示
if (dgv.Rows.Count == 0
[解决办法]
rowCount == 0)
{
MessageBox.Show("列表中没有数据无法导出!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
SaveFileDialog save = new SaveFileDialog();
save.Filter = "excel files(*.xls)
[解决办法]
*.xls";
save.Title = "请选择要导出数据的位置";
save.FileName = name + DateTime.Now.ToLongDateString();
save.InitialDirectory = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop);
if (save.ShowDialog() == DialogResult.OK)
{
XlsDocument xls = new XlsDocument();//创建空xls文档
xls.FileName = save.FileName;//保存路径,如果直接发送到客户端的话只需要名称 生成名称
Worksheet sheet = xls.Workbook.Worksheets.Add(name); //创建一个工作页为Dome
//设置文档列属性
ColumnInfo cinfo = new ColumnInfo(xls, sheet);//设置xls文档的指定工作页的列属性
cinfo.Collapsed = true;
//设置列的范围 如 0列-10列
cinfo.ColumnIndexStart = 0;//列开始
cinfo.ColumnIndexEnd = 10;//列结束
cinfo.Collapsed = true;
cinfo.Width = 90 * 60;//列宽度
sheet.AddColumnInfo(cinfo);
//设置文档列属性结束
//设置指定工作页跨行跨列
MergeArea ma = new MergeArea(1, 1, 1, dgv.ColumnCount);//从第1行跨到第二行,从第一列跨到第5列
sheet.AddMergeArea(ma);
//设置指定工作页跨行跨列结束
//创建列样式创建列时引用
XF cellXF = xls.NewXF();
cellXF.VerticalAlignment = VerticalAlignments.Centered;
cellXF.HorizontalAlignment = HorizontalAlignments.Centered;
cellXF.Font.Height = 24 * 12;
cellXF.Font.Bold = true;
cellXF.Pattern = 0;//设定单元格填充风格。如果设定为0,则是纯色填充
cellXF.PatternBackgroundColor = Colors.Black;//填充的背景底色
cellXF.PatternColor = Colors.Black;//设定填充线条的颜色
//创建列样式结束
//创建列
Cells cells = sheet.Cells; //获得指定工作页列集合
//列操作基本
Cell cell = cells.Add(1, 1, name, cellXF);//添加标题列返回一个列 参数:行 列 名称 样式对象
//设置XY居中
cell.HorizontalAlignment = HorizontalAlignments.Centered;
cell.VerticalAlignment = VerticalAlignments.Centered;
//设置字体
cell.Font.Bold = true;//设置粗体
cell.Font.ColorIndex = 0;//设置颜色码
cell.Font.FontFamily = FontFamilies.Roman;//设置字体 默认为宋体
//创建列结束
//生成字段名称
int k = 0;
for (int i = 0; i < dgv.ColumnCount; i++)
{
if (dgv.Columns[i].Visible) //不导出隐藏的列
{
Cell title = cells.Add(2, k + 1, dgv.Columns[i].HeaderText);
title.HorizontalAlignment = HorizontalAlignments.Centered;
title.VerticalAlignment = VerticalAlignments.Centered;
k++;
}
}
//填充数据
for (int i = 0; i < dgv.RowCount; i++)
{
k = 1;
for (int j = 0; j < dgv.ColumnCount; j++)
{
if (dgv.Columns[j].Visible) //不导出隐藏的列
{
if (dgv[j, i].ValueType == typeof(string))
{
cells.Add(i + 3, k, "" + dgv[j, i].Value.ToString());
}
else
{
string str = dgv[j, i].Value.ToString();
if (str == "True")
{
str = "是";
}
else if(str =="False")
{
str = "否";
}
cells.Add(i + 3, k, str);
}
}
k++;
}
}
xls.Save(true);//保存
MessageBox.Show("Excel文件导出成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception ce)
{
MessageBox.Show(ce.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
public static class FileInfoExtension {
public static System.Text.Encoding GetEncoding(this FileInfo fi) {
/*byte[] Unicode=new byte[]{0xFF,0xFE};
byte[] UnicodeBIG=new byte[]{0xFE,0xFF};
byte[] UTF8=new byte[]{0xEF,0xBB,0xBF};*/
BinaryReader r = new BinaryReader(fi.OpenRead(), System.Text.Encoding.Default);
byte[] ss = r.ReadBytes(4);
r.Close();
//编码类型 Coding=编码类型.ASCII;
if (ss[0] <= 0xEF) {
if (ss[0] == 0xEF && ss[1] == 0xBB && ss[2] == 0xBF) {
return System.Text.Encoding.UTF8;
}
else if (ss[0] == 0xFE && ss[1] == 0xFF) {
return System.Text.Encoding.BigEndianUnicode;
}
else if (ss[0] == 0xFF && ss[1] == 0xFE) {
return System.Text.Encoding.Unicode;
}
else {
return System.Text.Encoding.Default;
}
}
else {
return System.Text.Encoding.Default;
}
}
}
/// <summary>
/// 判断集合字符串是否包含某元素
/// </summary>
/// <param name="strSource">集合字符串</param>
/// <param name="strSplit">分隔符号</param>
/// <param name="strElement">元素字符串</param>
/// <returns></returns>
public static bool ContainElement(this string strSource, string strSplit, string strElement) {
if (string.IsNullOrEmpty(strSource)
[解决办法]
string.IsNullOrEmpty(strElement)
[解决办法]
strElement.Length > strSource.Length) {
return false;
}
return strSource.Split(new string[] { strSplit }, StringSplitOptions.RemoveEmptyEntries).Contains(strElement);
}
/// <param name="strMsg">要加密的数据</param>
/// <param name="strPublicKey">加密的公钥</param>
/// <returns>返回加密后的byte[]数据</returns>
public static byte[] AsymmetricEncryptRSAFunction(this string strMsg,string strPublicKey)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(strPublicKey);
byte[] buffers = Encoding.UTF8.GetBytes(strMsg);
byte[] encryBuffer;
try
{
encryBuffer = rsa.Encrypt(buffers, false);
}
catch
{
return null;
}
return encryBuffer;
}
#endregion
#region 非对称解密代码
/// <summary>
/// 非对称解密方法
/// </summary>
/// <param name="byteMsg">需要解密的byte[]类型数据</param>
/// <param name="strPrivateKey">解密的私钥</param>
/// <returns>解密后的数据string类型</returns>
public static string AsymmetricDecryptRSAFunction(this byte[] byteMsg,string strPrivateKey)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(strPrivateKey);
byte[] decryptBuffers;
try
{
decryptBuffers = rsa.Decrypt(byteMsg, false);
}
catch(Exception e)
{
return e.Message;
}
return Encoding.UTF8.GetString(decryptBuffers);
}
#endregion
}
#endregion
}
[解决办法]
收藏.
[解决办法]
namespace EncryptDLL
{
#region 对称加密类
/// <summary>
/// 对称加密解密类
/// </summary>
public static class SymmetricEncryptClass
{
#region 对称加密代码
/// <summary>
/// 对称加密方法
/// </summary>
/// <param name="strMsg">要加密的数据</param>
/// <param name="key">加密Key</param>
/// <param name="IV">加密向量</param>
/// <returns>返回加密后的数据,类型byte[]</returns>
public static byte[] SymmetricEncrptFunction(this string strMsg, string key, string IV)
{
TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
SHA1 sha1 = new SHA1CryptoServiceProvider();
//初始密钥的设定
string strNamePlusBirthday = key + IV;
string strKey = new string(strNamePlusBirthday.Reverse().ToArray());
if (sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).Length > tdes.Key.Length)
{
tdes.Key = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).ToString().Substring(0, tdes.Key.Length));
}
else if (sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).Length < tdes.Key.Length)
{
tdes.Key = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).ToString().PadRight(tdes.Key.Length, ' '));
}
//初始向量的设定
if (sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).Length > tdes.IV.Length)
{
tdes.IV = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).ToString().Substring(0, tdes.IV.Length));
}
else if (sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).Length < tdes.IV.Length)
{
tdes.IV = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).ToString().PadRight(tdes.IV.Length, ' '));
}
byte[] encryptBuffer = Encoding.Default.GetBytes(strMsg);
MemoryStream streamMemory = new MemoryStream();
CryptoStream cryStream = null;//加密流
byte[] readBuffer;//用来接受加密数据
try
{
cryStream = new CryptoStream(streamMemory, new TripleDESCryptoServiceProvider().CreateEncryptor(tdes.Key, tdes.IV), CryptoStreamMode.Write);
cryStream.Write(encryptBuffer, 0, encryptBuffer.Length);
cryStream.FlushFinalBlock();
}
catch
{
return null;
}
finally
{
readBuffer = streamMemory.ToArray();
cryStream.Close();
streamMemory.Close();
}
return readBuffer;
}
#endregion
#region 对称解密代码
/// <summary>
/// 对称解密方法
/// </summary>
/// <param name="bufMsg">需要解密的数据</param>
/// <param name="key">解密Key</param>
/// <param name="IV">解密向量</param>
/// <returns>解密后的数据</returns>
public static string SymmetricDecryptionFunction(this byte[] bufMsg, string key, string IV)
{
TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
SHA1 sha1 = new SHA1CryptoServiceProvider();
//初始密钥的设定
string strNamePlusBirthday = key + IV;
string strKey = new string(strNamePlusBirthday.Reverse().ToArray());
if (sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).Length > tdes.Key.Length)
{
tdes.Key = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).ToString().Substring(0, tdes.Key.Length));
}
else if (sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).Length < tdes.Key.Length)
{
tdes.Key = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strKey)).ToString().PadRight(tdes.Key.Length, ' '));
}
//初始向量的设定
if (sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).Length > tdes.IV.Length)
{
tdes.IV = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).ToString().Substring(0, tdes.IV.Length));
}
else if (sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).Length < tdes.IV.Length)
{
tdes.IV = Encoding.Default.GetBytes(sha1.ComputeHash(Encoding.Default.GetBytes(strNamePlusBirthday)).ToString().PadRight(tdes.IV.Length, ' '));
}
byte[] readBuffer = bufMsg;
MemoryStream streamRead = new MemoryStream(readBuffer);
CryptoStream deCryStream = null;
byte[] bufferReader;
try
{
deCryStream = new CryptoStream(streamRead, new TripleDESCryptoServiceProvider().CreateDecryptor(tdes.Key, tdes.IV), CryptoStreamMode.Read);
bufferReader = new byte[readBuffer.Length];
deCryStream.Read(bufferReader, 0, bufferReader.Length);
}
finally
{
deCryStream.Close();
streamRead.Close();
}
string deCryString = Encoding.Default.GetString(bufferReader);
return deCryString;
}
#endregion
}
#endregion
}
/// <summary>
/// 判断一个字符串内有多少个数字和字母
/// </summary>
/// <param name="ss">要判断的字符串</param>
private void ShowNumberAndCharCount(string ss)
{
int numCount = 0;
int charCount = 0;
foreach (char c in ss)
{
int value = (int)c;
if (c >= 48 && c <= 57)
{
numCount += 1;
}
if ((c >= 65 && c <= 90)
[解决办法]
(c >= 97 && c <= 122))
{
charCount += 1;
}
}
MessageBox.Show("数字个数:" + numCount.ToString() + ";字母个数:" + charCount.ToString());
}
package y2ssh.zhangcuishan.dao.jdbcimpl;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public abstract class BaseJdbcDAO {
private String dbUser = "sa";
private String dbPwd = "pwd";
private String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String url = "jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=epai";
protected Connection conn = null;
protected Statement stmt = null;
protected PreparedStatement pstmt = null;
protected ResultSet rs = null;
private Connection getConn() {
Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager
.getConnection(
url,
dbUser, dbPwd);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
protected void openConn() {
this.conn = getConn();
}
protected void closeAll() {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
[解决办法]
新年大家都快乐哈。
[解决办法]
happy new year!!!
[解决办法]
元旦快乐。
[解决办法]
元旦快乐。
[解决办法]
新年快乐,学习
[解决办法]
happy new year
[解决办法]
happy new year
[解决办法]
不错啊,正好可以学习学习啊!
[解决办法]
新年快乐!!!!!!!
[解决办法]
新年快乐,学习了
[解决办法]
新年好!!!
[解决办法]
给分 我喜欢 谢了收藏
[解决办法]
不错,很喜欢
[解决办法]
新年快乐····
[解决办法]
弱弱的问下,啥时候我的等级能变成两个三角?
元旦快乐!
[解决办法]
确实好贴
[解决办法]
元旦快乐!
[解决办法]
元旦快乐, 标记, 留用。
[解决办法]
新年快乐!!~~~~~~~~~~
学习了。。。。。
[解决办法]
在编程上,我还称不上是个菜鸟,学了三年啥都不会,代码都看不懂,真令人惭愧。
[解决办法]
学习了,新年快乐
[解决办法]
祝大家在新的一年里心想事成!
[解决办法]
分呢????
[解决办法]
MessageBox.Show("新年快乐!");
//图片加载并按比例缩小到合适大小
//<img src="" width="80" onload="DownImage(this,80,0,0);">
function DownImageWidth(ImgD,MaxWidth,alignX,alignY)
{
alignX=alignX
[解决办法]
1;
alignY=alignY
[解决办法]
1;
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0)
{
var rate = MaxWidth/image.width;
var wid=0;
var hid=0;
if(rate <= 1)
{
wid=ImgD.width=image.width*rate;
hid=ImgD.height=image.height*rate;
}
else
{
wid=ImgD.width=image.width;
hid=ImgD.height=image.height;
}
}
}
//......................................................................................
//该函数返回ajax需要的关键对象:xmlhttprequest
function getTransport(){
var versions=[
function(){
return new XMLHttpRequest();
},
function(){
return new ActiveXObject('Microsoft.XMLHTTP');
}
];
var request;
for(var i=0;i<versions.length;i++){
var lambda=versions[i];
try{
request=lambda();
}
catch(e){}
}
return request;
}
function ajaxRequest(url,options){
var request=getTransport();//创建ajax的关键对象xmlhttprequest
if(typeof(request)=='undefined'){//判断创建是否成功
throw new Error('你的浏览器不支持xmlhttprequest');
return ;
}
var url=url;//获取请求地址
//获取请求方式,如果为获取到,返回默认值POST
var method=(options.method
[解决办法]
'POST').toUpperCase();
if(method!='GET'&&method!='POST'){
method='POST';
}
//获取参数
var parameters=options.parameters
[解决办法]
null;
//获取请求头信息
var headers=options.headers
[解决办法]
{};
//创建处理事件函数
//加载,完成,成功,失败
var onLoadingEventHandler=options.onLoading
[解决办法]
function(){};
var onCompleteEventHandler=options.onComplete
[解决办法]
function(){};
var onSuccessEventHandler=options.onSuccess
[解决办法]
function(){};
var onFailureEventHandler=options.onFailure
[解决办法]
function(){};
//根据url和参数,把地址拼接完整,并且清空parameters对象
if(method=='GET'&¶meters!=null){
if(url.indexOf('?')>-1){
url+='&'+parameters;
}
else{
url+='?'+parameters;
}
parameters=null;
}
//初始化请求
request.open(method,url,true);
//设置请求头
request.setRequestHeader('contentType','application/x-www-form-rulencoded');
for(var name in headers){
request.setRequestHeader(name ,headers[name]);
}
//设置请求状态
request.onreadystatechange=function(){
if(request.readyState==1){
onLoadingEventHandler(request.readyState);//状态值为1,说明正在加载
}
if(request.readyState==4){
onCompleteEventHandler();//状态值为4,说明加载完成
if(request.status&&request.status>=200&&request.status<300){
onSuccessEventHandler(request);//返回值在200到300之间,说明加载成功
}
else{
onFailureEventHandler();//否则加载失败
}
}
}
request.send(parameters);//发送请求
}