-
C# 使用Graphics方法生成字符串的验证码图片
C# Graphics方法生成字符串的验证码图片,在C#的程序中生成一个随机生成器 ,然后随机生成字符,然后使用Graphics方法画图片的背景噪音线 定义颜色和字体,画图片的前景噪音点,画图片的边框线等。这是个比较简单的生成验证码的方法,验证码的使用率偏高,因此作为一个C#生成验证码的初级例子,本源码有必要学习研究。
- 2022-02-26 05:51:46下载
- 积分:1
-
ATK-ESP8266 WIFI模块资料
1、ATK-ESP8266 WIFI 模块简介 ATK-ESP8266 是 ALIENTEK 推出的一款高性能的 UART-WiFi(串口-无线)模块,ATK-ESP8266 板载ai-thinker公司的ESP8266模块,该模块通过 FCC,CE认证,可直接用于产品出口欧美地区。 ATK-ESP8266模块采用串口(LVTTL)与MCU(或其他串口设备)通信,内置 TCP/IP协议栈,能够实现串口与WIFI之间的转换。 通过 ATK-ESP8266 模块,传统的串口设备只是需要简单的串口配置,即可通过网络(WIFI)传输自己的数据。 ATK-ESP8266 模块支持 LVTTL串口,兼容3.3V和5V单片机系统,可以很方便的与你的产品进行连接。模块支持串口转 WIFI STA、串口转 AP 和WIFI STA+WIFI AP 的模式,从而快速构建串口-WIFI数据传输方案,方便你的设备使用互联网传输数据。 ATK-ESP8266 29mm*19mm 6 2.54mm
- 2022-08-13 08:01:09下载
- 积分:1
-
NOR FLASH烧写器
含PROTEL99 PCB资料,原理图资料,芯片资料和C语言源码。
- 2022-03-16 01:40:16下载
- 积分:1
-
C# 带农历 万年历 日历
Visual C#实现显示农历、星期、天干地支等信息的万年历,在这个万年历中,你可以学习到很多关于日期时间的获娶判断等操作:
int GetMonth (DateTime time)获取指定公历日期的农历月份
int GetDayOfMonth (DateTime time) 获取指定公历日期的农历天数,这个值根据大月或者小月取值是1到30或者1到29,
int GetSexagenaryYear (DateTime time) 获取指定公历日期的农历年份的干支纪年,从1到60,分别是甲子、乙丑、丙寅、….癸亥, 比如戊戌变法、辛亥革命就是按这个来命名的。当然算八字也少不了这个。
int GetTerrestrialBranch (int sexagenaryYear) ) 获取一个干支的地支,, 从1到12, 表示子、丑、寅、…今年是狗年
通过自定义函数,响应用户在日历上的操作,显示相关的日历提示信息:
if (e.Button == MouseButtons.Left)
{
Point myPosittion = Control.MousePosition;//获取当前鼠标的屏幕坐标
myPosittion.Offset(intX, intY);//重载当前鼠标的位置
this.DesktopLocation = myPosittion;//设置当前窗体在屏幕上的位置
}
- 2023-08-26 22:50:04下载
- 积分:1
-
C# SQL语句查询指定区间内的数据库内容
C# 查询数据库信息,具体到本例中,是查询第10到第20名的数据,这在平时的数据库运用中,十分实用,比如查询指定区间内的成绩、销售业绩等,将查询出的数据给予一定的等级,本程序查询到的数据将返回DataTable对象:
string P_Str_ConnectionStr = string.Format(//创建数据库连接字符串
@"server=WIN-GI7E47AND9RLS;database=db_TomeTwo;uid=sa;pwd=");
string P_Str_SqlStr = string.Format(//创建SQL查询字符串
@"SELECT TOP 10 * FROM (SELECT TOP 20 * FROM tb_Grade ORDER BY 总分 DESC) AS st ORDER BY 总分 ASC");
SqlDataAdapter P_SqlDataAdapter = new SqlDataAdapter(//创建数据适配器
P_Str_SqlStr, P_Str_ConnectionStr);
DataTable P_dt = new DataTable();//创建数据表
P_SqlDataAdapter.Fill(P_dt);//填充数据表
return P_dt;//返回数据表
- 2022-11-06 22:25:03下载
- 积分:1
-
C# 是行提交方式插入、删除、更新数据库记录
C# 是行提交方式插入、删除、更新数据库记录,本实例小程序主要演示了以行提交方式插入数据库记录、以行提交方式修改数据库记录、以行提交方式删除数据库记录、使用带有列值的Update()方法修改记录、使用带有列值的Delete()方法删除记录、使用带有列值的Insert()方法插入记录,对应的各个功能核心代码如下:
private void button2_Click(object sender, EventArgs e)
{//以行提交方式修改数据库记录(首先以添加新数据源方式新增NorthwindDataSet)
NorthwindDataSet.ShippersRow MyRow;
MyRow = this.northwindDataSet.Shippers.FindByShipperID(1);
MyRow.Phone = "13996060872";
this.shippersTableAdapter.Update(this.northwindDataSet.Shippers);
}
private void button4_Click(object sender, EventArgs e)
{//使用带有列值的Update()方法修改记录
NorthwindDataSetTableAdapters.ShippersTableAdapter MyAdapter =
new MyForm.NorthwindDataSetTableAdapters.ShippersTableAdapter();
MyAdapter.Update("Speedy Express", "13036371686", 1, "Speedy Express", "13996060872");
this.shippersTableAdapter.Fill(this.northwindDataSet.Shippers);
}
private void button3_Click(object sender, EventArgs e)
{//以行提交方式删除数据库记录(首先以添加新数据源方式新增NorthwindDataSet)
Northwi
- 2023-02-24 10:00:04下载
- 积分:1
-
C# 向StatusBar状态栏控件中添加窗格面板
C# 向StatusBar状态栏控件中添加窗格面板及文字,也就是把窗口的状态栏分栏,分隔成若干个小区域,显示不同的信息,比如文字提示或图标等。
向StatusBar控件添加窗格面板
StatusBar statusBar1=new StatusBar();
statusBar1.Panels.Add("中华人民共和国");
statusBar1.Panels.Add("重庆市");
statusBar1.Panels.Add("罗斌");
statusBar1.Panels[0].AutoSize = StatusBarPanelAutoSize.Contents;
statusBar1.Panels[1].AutoSize = StatusBarPanelAutoSize.Spring;
statusBar1.Panels[2].AutoSize = StatusBarPanelAutoSize.Contents;
statusBar1.Panels[0].BorderStyle =StatusBarPanelBorderStyle.Raised;
statusBar1.Panels[1].BorderStyle = StatusBarPanelBorderStyle.Sunken;
statusBar1.Panels[2].BorderStyle = StatusBarPanelBorderStyle.Raised;
statusBar1.Panels[2].Icon = new System.Drawing.Icon( @"Error.ico");
statusBar1.ShowPanels = true;
this.Controls.Add(statusBar1);
- 2022-05-17 04:53:06下载
- 积分:1
-
C# 写入并读取内存流
C# 写入并读取内存流,演示一些基本的内存流操作方法,编写以下代码可实现这些功能:
byte[] BContent = Encoding.Default.GetBytes(textBox1.Text);
MemoryStream MStream = new MemoryStream(100);
MStream.Write(BContent, 0, BContent.Length);
richTextBox1.Text = "分配给该流的字节数:" + MStream.Capacity.ToString() + "
流长度:"
+ MStream.Length.ToString() + "
流的当前位置:" + MStream.Position.ToString();
MStream.Seek(0, SeekOrigin.Begin);
byte[] byteArray = new byte[MStream.Length];
int count = MStream.Read(byteArray,0,(int)MStream.Length-1);
while (count < MStream.Length)
{
byteArray[count++] = Convert.ToByte(MStream.ReadByte());
}
char[] charArray = new char[Encoding.Default.GetCharCount(byteArray, 0, count)];
Encoding.Default.GetChars(byteArray, 0, count, charArray, 0);
for (int i = 0; i < charArray.Length; i++)
{
richTextBox2.Text += charArray[i].ToString();
}
- 2022-03-11 09:55:00下载
- 积分:1
-
C# 启动和关闭无窗体定时器
C# 启动和关闭无窗体定时器,单击窗体上对应的按钮,即可完成无窗体定时器的启动和关闭功能,核心代码为:
private void button1_Click(object sender, EventArgs e)
{//启动无窗体定时器
var MyClass = new MyThreadClass();
MyTimer = new System.Threading.Timer(MyClass.MyCallBackMethod, MyClass, 5000, 2000);
}
private void button2_Click(object sender, EventArgs e)
{//关闭无窗体定时器
MyTimer.Dispose();
}
- 2022-04-09 03:53:39下载
- 积分:1
-
一个C# 多线程的网页异步抓取类文件代码
一个C#编写的多线程异步抓取网页的网络爬虫控制台程序类代码,这个类实现对网页URL指定内容网页的抓取,并抓取 内容中的链接、文字内容、从HTML代码中分析出链接信息等,本类中还定义了大量的私有方法,从这些私有方法中可从HTML文本中提取出一定字数的纯文本、提取网页中一定字数的纯文本,包括链接文字、提取一定数量的链接,该链接的URL满足某正则式、提取本网页的纯文本中满足某正则式的文字等。
本代码作者:大黑。
本爬虫程序的速度如下:
10线程最快大概400个链接每分钟
6-8线程最快大概200-300个链接每分钟
2-4线程最快大概150-200个链接每分钟
单线程最快大概70-100个链接每分钟
之所以用多线程异步抓取完全是出于效率考虑,本程序多线程同步并不能带来速度的提升,只要抓取的网页不要太多重复和冗余就可以,异步并不意味着错误。
- 2023-05-03 15:55:03下载
- 积分:1