144 lines
5.3 KiB
C#
144 lines
5.3 KiB
C#
using FastReport;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using System.Data;
|
||
using System.Drawing;
|
||
using System.Linq;
|
||
using System.Net;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using System.Windows.Forms;
|
||
using ZXing;
|
||
using ZXing.Common;
|
||
|
||
namespace dccdc.hstmdy
|
||
{
|
||
public partial class Main : Form
|
||
{
|
||
public static FastReport.EnvironmentSettings eSet = new EnvironmentSettings();
|
||
|
||
public Main()
|
||
{
|
||
InitializeComponent();
|
||
}
|
||
|
||
private void btn_yl_Click(object sender, EventArgs e)
|
||
{
|
||
if (!check())
|
||
{
|
||
return;
|
||
}
|
||
/*
|
||
var b = BarcodeWriter.CreateBarcode("HS" + txt_cyglx.Text + "IN1" + int.Parse(txt_b.Text).ToString().PadLeft(int.Parse(txt_tmyxws.Text)), BarcodeEncoding.Code128);
|
||
b= b.AddBarcodeValueTextBelowBarcode();
|
||
var tp= b.ToWindowsBitmapStream();
|
||
pic_yl.Image = new Bitmap(tp);
|
||
*/
|
||
EncodingOptions encodeOption = new EncodingOptions();
|
||
encodeOption.Height = 60; // 必须制定高度、宽度
|
||
encodeOption.Width = 180;
|
||
|
||
// 2.生成条形码图片并保存
|
||
ZXing.BarcodeWriter wr = new BarcodeWriter();
|
||
wr.Options = encodeOption;
|
||
|
||
wr.Format = BarcodeFormat.CODE_128; // 条形码规格:EAN13规格:12(无校验位)或13位数字 //把Barcode128 字体设置成null,就没有下面的文字了。
|
||
encodeOption.PureBarcode = false; // 是否是纯码,如果为 false,则会在图片下方显示数字
|
||
//System.Threading.Thread.Sleep(100); //间隔
|
||
string data = "HS" + txt_cyglx.Text + "IN1" + int.Parse(txt_b.Text).ToString().PadLeft(int.Parse(txt_tmyxws.Text), '0');
|
||
Bitmap img = wr.Write(data); // 生成图片
|
||
pic_yl.Image = img;
|
||
}
|
||
|
||
private bool check()
|
||
{
|
||
int itemp;
|
||
int ib;
|
||
int ie;
|
||
if (!int.TryParse(txt_cyglx.Text, out itemp))
|
||
{
|
||
MessageBox.Show("采样管类型必须是数字");
|
||
return false;
|
||
}
|
||
if (!int.TryParse(txt_tmyxws.Text, out itemp))
|
||
{
|
||
MessageBox.Show("条码有有效位数必须是数字");
|
||
return false;
|
||
}
|
||
if (!int.TryParse(txt_b.Text, out ib))
|
||
{
|
||
MessageBox.Show("条码开始编号必须是数字");
|
||
return false;
|
||
}
|
||
if (!int.TryParse(txt_e.Text, out ie))
|
||
{
|
||
MessageBox.Show("条码结束编号必须是数字");
|
||
return false;
|
||
}
|
||
if (ie < ib)
|
||
{
|
||
MessageBox.Show("结束编号必须大于开始编号");
|
||
return false;
|
||
}
|
||
//throw new NotImplementedException();
|
||
return true;
|
||
}
|
||
|
||
List<zprint> ps = new List<zprint>();
|
||
private void Main_Load(object sender, EventArgs e)
|
||
{
|
||
eSet.ReportSettings.ShowProgress = false;
|
||
ps.Add(new zprint { name = "默认打印机", value = "" });
|
||
foreach (string p in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
|
||
{
|
||
ps.Add(new zprint { name = p, value = p });
|
||
}
|
||
comb_dyj.DataSource = ps;
|
||
comb_dyj.SelectedValue = "";
|
||
}
|
||
class zprint
|
||
{
|
||
public string name { get; set; }
|
||
public string value { get; set; }
|
||
}
|
||
class OperationResult
|
||
{
|
||
public int state { get; set; }
|
||
public string msg { get; set; }
|
||
public string tag { get; set; }
|
||
}
|
||
private void btn_dy_Click(object sender, EventArgs e)
|
||
{
|
||
if (!check())
|
||
{
|
||
return;
|
||
}
|
||
WebClient wc = new WebClient();
|
||
wc.Encoding = System.Text.Encoding.UTF8;
|
||
int c = 0;
|
||
for (int i = int.Parse(txt_b.Text); i <= int.Parse(txt_e.Text); i++)
|
||
{
|
||
string result = wc.DownloadString(System.Configuration.ConfigurationManager.AppSettings["uploadurl"] + "?barcode=" + "HS" + txt_cyglx.Text + "IN1" + i.ToString().PadLeft(int.Parse(txt_tmyxws.Text), '0'));
|
||
OperationResult op = Newtonsoft.Json.JsonConvert.DeserializeObject<OperationResult>(result);
|
||
if(op.state==1)
|
||
{
|
||
c++;
|
||
DataTable dt = new DataTable();
|
||
dt.Columns.Add("tm");
|
||
DataRow dr = dt.NewRow();
|
||
dr["tm"] = "HS" + txt_cyglx.Text + "IN1" + i.ToString().PadLeft(int.Parse(txt_tmyxws.Text),'0');
|
||
dt.Rows.Add(dr);
|
||
FastReport.Report re = new FastReport.Report();
|
||
re.Load(Application.StartupPath + "\\report\\tm.frx");
|
||
re.RegisterData(dt, "dt");
|
||
re.PrintSettings.Printer = comb_dyj.SelectedValue.ToString();
|
||
re.PrintSettings.ShowDialog = false;
|
||
re.Print();
|
||
}
|
||
}
|
||
MessageBox.Show("一共成功生成"+c+"个条码");
|
||
}
|
||
}
|
||
}
|