using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class barcode : System.Web.UI.Page
{
public static readonly string connectionString = ConfigurationManager.ConnectionStrings["SalesDWDBConnectionString"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
//Response.Write("編碼得到" + "<br>");
//Response.Write("123456789"+"<br>");
//Response.Write(bar_code("*123456789*",1,1,99));
//Response.Write("<br>");
//Response.Write("<br>");
//Response.Write("9780789498731" + "<br>");
//Response.Write(bar_code("*9780789498731*", 10, 1, 99));
string sql = "SELECT distinct TOP 32 cInvoiceID AS InvoiceID FROM FactInvoiceInfo WHERE (cInvoiceID LIKE 'INV%') order by cInvoiceID";
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
//SqlDataAdapter da = new SqlDataAdapter(cmd);
//DataSet ds = new DataSet();
//da.Fill(ds);
//GridView2.DataSource = ds.Tables[0];
//GridView2.DataBind();
SqlDataReader read = cmd.ExecuteReader();
int i=1;
Response.Write("<table width='80%' style='font-size:12px;'>");
Response.Write("<tr><td>條形碼測試</td></tr>");
while (read.Read())
{
string ID = read["InvoiceID"].ToString();
Response.Write("<tr'><td width='25%>");
Response.Write(" " + bar_code("*"+ID+"*", 20, 1, 99) + "<br>" + ID + " ");
Response.Write("</td>");
if (i % 3 == 0)
{
Response.Write("</tr>");
}
i++;
}
int n = 3 - (i-1) % 3;
if ((i-1)%3 != 0)
{
for (int m=1; m <= n; m++)
{
Response.Write("<td width='25%'>Blank</td>");
}
Response.Write("</tr>");
}
Response.Write("</table>");
//Response.Write(i);
read.Close();
}
#region C#條形碼
public string bar_code(object str, int ch, int cw, int type_code)
{
string strTmp = str.ToString();
string code = strTmp;
strTmp = strTmp.ToLower();
int height = ch;
int width = cw;
strTmp = strTmp.Replace("0", "_|_|__||_||_|"); ;
strTmp = strTmp.Replace("1", "_||_|__|_|_||");
strTmp = strTmp.Replace("2", "_|_||__|_|_||");
strTmp = strTmp.Replace("3", "_||_||__|_|_|");
strTmp = strTmp.Replace("4", "_|_|__||_|_||");
strTmp = strTmp.Replace("5", "_||_|__||_|_|");
strTmp = strTmp.Replace("7", "_|_|__|_||_||");
strTmp = strTmp.Replace("6", "_|_||__||_|_|");
strTmp = strTmp.Replace("8", "_||_|__|_||_|");
strTmp = strTmp.Replace("9", "_|_||__|_||_|");
strTmp = strTmp.Replace("a", "_||_|_|__|_||");
strTmp = strTmp.Replace("b", "_|_||_|__|_||");
strTmp = strTmp.Replace("c", "_||_||_|__|_|");
strTmp = strTmp.Replace("d", "_|_|_||__|_||");
strTmp = strTmp.Replace("e", "_||_|_||__|_|");
strTmp = strTmp.Replace("f", "_|_||_||__|_|");
strTmp = strTmp.Replace("g", "_|_|_|__||_||");
strTmp = strTmp.Replace("h", "_||_|_|__||_|");
strTmp = strTmp.Replace("i", "_|_||_|__||_|");
strTmp = strTmp.Replace("j", "_|_|_||__||_|");
strTmp = strTmp.Replace("k", "_||_|_|_|__||");
strTmp = strTmp.Replace("l", "_|_||_|_|__||");
strTmp = strTmp.Replace("m", "_||_||_|_|__|");
strTmp = strTmp.Replace("n", "_|_|_||_|__||");
strTmp = strTmp.Replace("o", "_||_|_||_|__|");
strTmp = strTmp.Replace("p", "_|_||_||_|__|");
strTmp = strTmp.Replace("r", "_||_|_|_||__|");
strTmp = strTmp.Replace("q", "_|_|_|_||__||");
strTmp = strTmp.Replace("s", "_|_||_|_||__|");
strTmp = strTmp.Replace("t", "_|_|_||_||__|");
strTmp = strTmp.Replace("u", "_||__|_|_|_||");
strTmp = strTmp.Replace("v", "_|__||_|_|_||");
strTmp = strTmp.Replace("w", "_||__||_|_|_|");
strTmp = strTmp.Replace("x", "_|__|_||_|_||");
strTmp = strTmp.Replace("y", "_||__|_||_|_|");
strTmp = strTmp.Replace("z", "_|__||_||_|_|");
strTmp = strTmp.Replace("-", "_|__|_|_||_||");
strTmp = strTmp.Replace("*", "_|__|_||_||_|");
strTmp = strTmp.Replace("/", "_|__|__|_|__|");
strTmp = strTmp.Replace("%", "_|_|__|__|__|");
strTmp = strTmp.Replace("+", "_|__|_|__|__|");
strTmp = strTmp.Replace(".", "_||__|_|_||_|");
strTmp = strTmp.Replace("_", "<span style='height:" + height + ";width:" + width + ";background:#FFFFFF;'></span>");
strTmp = strTmp.Replace("|", "<span style='height:" + height + ";width:" + width + ";background:#000000;'></span>");
if (type_code == 1)
{
return strTmp + "<BR>" + code;
}
else
{
return strTmp;
}
}
#endregion
}