'*---------------------------------------------------------------- '* '* 函数名称: VB.net DT distinct 功能 '* 摘 要: 用法 dt = SelectDistinct("新DT名", 需要过滤的DT, "字段名") '* '*---------------------------------------------------------------- #Region "DT 临时表 去重复 DT 内 distinct -停止使用" Public Function SelectDistinct(ByVal TableName As String, _ ByVal SourceTable As DataTable, _ ByVal FieldName As String) As DataTable Dim dt As New DataTable(TableName) dt.Columns.Add(FieldName, SourceTable.Columns(FieldName).DataType) Dim dr As DataRow, LastValue As Object For Each dr In SourceTable.Select("", FieldName) If LastValue Is Nothing OrElse Not ColumnEqual(LastValue, dr(FieldName)) Then LastValue = dr(FieldName) dt.Rows.Add(New Object() {LastValue}) End If Next 'If Not ds Is Nothing Then ds.Tables.Add(dt) Return dt End Function Private Function ColumnEqual(ByVal A As Object, ByVal B As Object) As Boolean ' ' Compares two values to determine if they are equal. Also compares DBNULL.Value. ' ' NOTE: If your DataTable contains object fields, you must extend this ' function to handle the fields in a meaningful way if you intend to group on them. ' If A Is DBNull.Value And B Is DBNull.Value Then Return True ' Both are DBNull.Value. If A Is DBNull.Value Or B Is DBNull.Value Then Return False ' Only one is DBNull.Value. Return A = B ' Value type standard comparison End Function #End Region
Andy
Andy
none
'提前调用 Imports System.IO Imports System.ServiceProcess '窗体内 放置 一个RichTextBox 命名为 rtbHost Private Function Write_Host(ByVal strIP as string,ByVal strHost as string) As String Dim strReturn As String = "OK" Try '读数据 Dim operachina As String Dim strFileName As String strFileName = Environ$("SystemRoot") & "\System32\drivers\etc\hosts" Dim SR As New StreamReader(strFileName) rtbHost.Text = SR.ReadToEnd SR.Close() If rtbHost.Find(strHost) < 0 Then operachina = strIP + " " + strHost + vbCrLf '写数据 rtbHost.AppendText(vbCrLf + operachina) Dim SW As New StreamWriter(strFileName) SW.Write(rtbHost.Text) SW.Close() '重启DNS服务 Dim service As New ServiceController service.ServiceName = "Dnscache" If service.Status = ServiceControllerStatus.Running Then service.Stop() service.WaitForStatus(ServiceProcess.ServiceControllerStatus.Stopped) service.Start() service.WaitForStatus(ServiceProcess.ServiceControllerStatus.Running) ElseIf service.Status = ServiceControllerStatus.Stopped Then service.Start() service.WaitForStatus(ServiceProcess.ServiceControllerStatus.Running) End If End If Catch ex As Exception strReturn = ex.Message Throw End Try Return strReturn End Function '使用方法 If Write_Host("192.168.1.100","test.wuxing.name") <> "OK" Then MsgBox("DNS解析错误,可能无法访问。") System.Diagnostics.Process.Start("IEXPLORE.EXE", "http://test.wuxing.name/")
为防木马 发出MD5 SHA1 校验 防止升级文件被篡改。
# MD5 checksums generated by MD5summer (http://www.md5summer.org)
# Generated 2011-06-22 08:50:15
343fbfbe13d535f9e1befb463972d34f *Installer Tome 2.MPQ
4ceb868678c3d398072f80eba7309e7d *WoW-3.3.5.13930-4.1.0.14250-CN-Stage-2
7dee2369f49068ec5b4c13a8b2815695 *WoW-3.3.5.13930-4.1.0.14250-CN-Stage-3
c1ebd1f02b742824017629cd51e50dd8 *WoW-3.3.5.13930-4.1.0.14250-CN-Stage-4
90ef83013e8be89b4227825960219d62 *WoW-3.3.5.13930-4.1.0.14250-CN-Stage-5
# MD5 checksums generated by MD5summer (http://www.md5summer.org)
# Generated 2011-06-22 08:55:56
bc913c0e7c0d9d433c3582a18cb7d082075b04b1 *Installer Tome 2.MPQ
6a7c7cec8636d8a1af40edc1b615600dc900adb4 *WoW-3.3.5.13930-4.1.0.14250-CN-Stage-2
44402ccbe56b1ae4c0ab0526b5318bf335a07864 *WoW-3.3.5.13930-4.1.0.14250-CN-Stage-3
a785f3d0693122eb8aea1e05e2fadd7fac7fd49e *WoW-3.3.5.13930-4.1.0.14250-CN-Stage-4
3435b60dabd16be3c72e104f89f5cd0fdaae3b48 *WoW-3.3.5.13930-4.1.0.14250-CN-Stage-5
想用 PointFar Spread 的 RadioButton MultiOption 进行单选,但是自带的 Spread Designer选择 cell style 为 MultiOption 后没有任何效果,没有checkbox 好用。只好采用代码的方式解决了。
'1.将以下代码 放入 Form Load 或其他事件中 With Me.spList4.ActiveSheet Dim multiType As New FarPoint.Win.Spread.CellType.MultiOptionCellType multiType.Items = New String() {" "} For i As Integer = 0 To .RowCount - 1 .Cells(i, 0).CellType = multiType If i = 0 Then '选中第一行,第一列的 0为选中 1为非选 .Cells(0, 0).Value = 0 End If Next End With '2.然后加入 以下事件代码 实现单选 Private Sub spList4_LeaveCell(ByVal sender As System.Object, ByVal e As FarPoint.Win.Spread.LeaveCellEventArgs) Handles spList4.LeaveCell Me.spList4.ActiveSheet.Cells(e.Row, 0).Value = 1 Me.spList4.ActiveSheet.Cells(e.NewRow, 0).Value = 0 End Sub
一直搞不懂华氏度的0度由来 特意学习了一下
迁居荷兰的德国玻璃工华伦海特也在英国居住过。他经过1709—1714年的研究,把冰、水、氯化铵的混合物平衡温度定为0℉,人体温度定为96℉(如以今天我国标准体温37℃,则应为98.6℉,可见他采用的体温不是今天我国的标准体温),其间分为96格,每格为1℉。1724年,他又把水的沸点定为212℉。但遗憾的是,他未能将冰的熔点定为0℉,而是定为32℉。这就是华氏温标,其符号为tF。
–学习资料–
http://pei.cjjh.tc.edu.tw/~pei/
http://iask.sina.com.cn/b/198641.html
vb.net 的textbox 没有 mask 特地制作一个 以备使用。
源码打包 MyIPBox 附带实例。
Public Class IpBox Inherits System.Windows.Forms.UserControl #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'UserControl overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents Panel1 As System.Windows.Forms.Panel Friend WithEvents textBox3 As System.Windows.Forms.TextBox Friend WithEvents label3 As System.Windows.Forms.Label Friend WithEvents textBox4 As System.Windows.Forms.TextBox Friend WithEvents label1 As System.Windows.Forms.Label Friend WithEvents textBox1 As System.Windows.Forms.TextBox Friend WithEvents label2 As System.Windows.Forms.Label Friend WithEvents textBox2 As System.Windows.Forms.TextBox <system.diagnostics.debuggerstepthrough()> Private Sub InitializeComponent() Me.Panel1 = New System.Windows.Forms.Panel Me.textBox3 = New System.Windows.Forms.TextBox Me.label3 = New System.Windows.Forms.Label Me.textBox4 = New System.Windows.Forms.TextBox Me.label1 = New System.Windows.Forms.Label Me.textBox1 = New System.Windows.Forms.TextBox Me.label2 = New System.Windows.Forms.Label Me.textBox2 = New System.Windows.Forms.TextBox Me.Panel1.SuspendLayout() Me.SuspendLayout() ' 'Panel1 ' Me.Panel1.BackColor = System.Drawing.SystemColors.Window Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D Me.Panel1.Controls.Add(Me.textBox3) Me.Panel1.Controls.Add(Me.label3) Me.Panel1.Controls.Add(Me.textBox4) Me.Panel1.Controls.Add(Me.label1) Me.Panel1.Controls.Add(Me.textBox1) Me.Panel1.Controls.Add(Me.label2) Me.Panel1.Controls.Add(Me.textBox2) Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill Me.Panel1.Location = New System.Drawing.Point(0, 0) Me.Panel1.Name = "Panel1" Me.Panel1.Size = New System.Drawing.Size(118, 18) Me.Panel1.TabIndex = 0 ' 'textBox3 ' Me.textBox3.BorderStyle = System.Windows.Forms.BorderStyle.None Me.textBox3.Location = New System.Drawing.Point(59, -1) Me.textBox3.Name = "textBox3" Me.textBox3.Size = New System.Drawing.Size(24, 14) Me.textBox3.TabIndex = 11 Me.textBox3.Text = "" Me.textBox3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center ' 'label3 ' Me.label3.BackColor = System.Drawing.Color.Transparent Me.label3.Font = New System.Drawing.Font("Arial", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.label3.Location = New System.Drawing.Point(83, 1) Me.label3.Name = "label3" Me.label3.Size = New System.Drawing.Size(4, 14) Me.label3.TabIndex = 12 Me.label3.Text = "." Me.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ' 'textBox4 ' Me.textBox4.BorderStyle = System.Windows.Forms.BorderStyle.None Me.textBox4.Location = New System.Drawing.Point(87, -1) Me.textBox4.Name = "textBox4" Me.textBox4.Size = New System.Drawing.Size(24, 14) Me.textBox4.TabIndex = 13 Me.textBox4.Text = "" Me.textBox4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center ' 'label1 ' Me.label1.BackColor = System.Drawing.Color.Transparent Me.label1.Font = New System.Drawing.Font("Arial", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.label1.Location = New System.Drawing.Point(27, 3) Me.label1.Name = "label1" Me.label1.Size = New System.Drawing.Size(4, 10) Me.label1.TabIndex = 8 Me.label1.Text = "." Me.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ' 'textBox1 ' Me.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None Me.textBox1.Location = New System.Drawing.Point(3, -1) Me.textBox1.Name = "textBox1" Me.textBox1.Size = New System.Drawing.Size(24, 14) Me.textBox1.TabIndex = 7 Me.textBox1.Text = "" Me.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center ' 'label2 ' Me.label2.BackColor = System.Drawing.Color.Transparent Me.label2.Font = New System.Drawing.Font("Arial", 10.5!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.label2.Location = New System.Drawing.Point(55, 1) Me.label2.Name = "label2" Me.label2.Size = New System.Drawing.Size(4, 14) Me.label2.TabIndex = 10 Me.label2.Text = "." Me.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter ' 'textBox2 ' Me.textBox2.BorderStyle = System.Windows.Forms.BorderStyle.None Me.textBox2.Location = New System.Drawing.Point(31, -1) Me.textBox2.Name = "textBox2" Me.textBox2.Size = New System.Drawing.Size(24, 14) Me.textBox2.TabIndex = 9 Me.textBox2.Text = "" Me.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center ' 'IpBox ' Me.Controls.Add(Me.Panel1) Me.Name = "IpBox" Me.Size = New System.Drawing.Size(118, 18) Me.Panel1.ResumeLayout(False) Me.ResumeLayout(False)</system.diagnostics.debuggerstepthrough()> End Sub #End Region Public strIP As String Public Property IPAddress() As String Get strIP = "" strIP += IIf(textBox1.Text.Trim() <> "", textBox1.Text.Trim(), "0") strIP += "." strIP += IIf(textBox2.Text.Trim() <> "", textBox2.Text.Trim(), "0") strIP += "." strIP += IIf(textBox3.Text.Trim() <> "", textBox3.Text.Trim(), "0") strIP += "." strIP += IIf(textBox4.Text.Trim() <> "", textBox4.Text.Trim(), "0") Return strIP End Get Set(ByVal Value As String) strIP = Value Dim arrIP As String() = strIP.Split(".") If arrIP.Length > 0 Then Try Value = Convert.ToInt32(arrIP(0).Trim) If Value < 0 Then textBox1.Text = "0" ElseIf Value > "255" Then textBox1.Text = "255" Else textBox1.Text = Value.ToString End If Catch ex As Exception textBox1.Text = "0" Finally textBox1.Text = "0" End Try End If If arrIP.Length > 1 Then Try Value = Convert.ToInt32(arrIP(1).Trim) If Value < 0 Then textBox2.Text = "0" ElseIf Value > "255" Then textBox2.Text = "255" Else textBox2.Text = Value.ToString End If Catch ex As Exception textBox2.Text = "0" Finally textBox2.Text = "0" End Try End If If arrIP.Length > 2 Then Try Value = Convert.ToInt32(arrIP(2).Trim) If Value < 0 Then textBox3.Text = "0" ElseIf Value > "255" Then textBox3.Text = "255" Else textBox3.Text = Value.ToString End If Catch ex As Exception textBox3.Text = "0" Finally textBox3.Text = "0" End Try End If If arrIP.Length > 3 Then Try Value = Convert.ToInt32(arrIP(3).Trim) If Value < 0 Then textBox4.Text = "0" ElseIf Value > "255" Then textBox4.Text = "255" Else textBox4.Text = Value.ToString End If Catch ex As Exception textBox4.Text = "0" Finally textBox4.Text = "0" End Try End If End Set End Property Private Sub textBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles textBox1.TextChanged _ , textBox2.TextChanged _ , textBox3.TextChanged _ , textBox4.TextChanged If sender.Text.Trim <> "" Then Dim val As Integer = Convert.ToInt32(sender.Text.Trim) If val < 0 Then sender.Text = "0" ElseIf val > 255 Then sender.Text = "255" sender.SelectionStart = sender.TextLength End If End If End Sub Private Sub textBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles textBox1.KeyDown If e.KeyCode = Keys.Right And textBox1.SelectionStart = textBox1.TextLength Then textBox2.Focus() textBox2.SelectAll() End If End Sub Private Sub textBox2_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles textBox2.KeyDown If textBox2.Text.Trim = "" And e.KeyCode = Keys.Back Then textBox1.Focus() textBox1.SelectionStart = textBox1.Text.Length End If If e.KeyCode = Keys.Right And textBox2.SelectionStart = textBox2.TextLength Then textBox3.Focus() textBox3.SelectAll() ElseIf e.KeyCode = Keys.Left And textBox2.SelectionStart = 0 Then textBox1.Focus() textBox1.SelectAll() End If End Sub Private Sub textBox3_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles textBox3.KeyDown If textBox3.Text.Trim = "" And e.KeyCode = Keys.Back Then textBox2.Focus() textBox2.SelectionStart = textBox2.Text.Length End If If e.KeyCode = Keys.Right And textBox3.SelectionStart = textBox3.TextLength Then textBox4.Focus() textBox4.SelectAll() ElseIf e.KeyCode = Keys.Left And textBox3.SelectionStart = 0 Then textBox2.Focus() textBox2.SelectAll() End If End Sub Private Sub textBox4_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles textBox4.KeyDown If textBox4.Text.Trim = "" And e.KeyCode = Keys.Back Then textBox3.Focus() textBox3.SelectionStart = textBox3.Text.Length End If If e.KeyCode = Keys.Left And textBox4.SelectionStart = 0 Then textBox3.Focus() textBox3.SelectAll() End If End Sub Private Sub textBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles textBox1.KeyPress If Char.IsControl(e.KeyChar) Then Else If Not Char.IsDigit(e.KeyChar) Then e.Handled = True End If End If If e.KeyChar = "." Then textBox2.Focus() textBox2.SelectAll() End If End Sub Private Sub textBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles textBox2.KeyPress If Char.IsControl(e.KeyChar) Then Else If Not Char.IsDigit(e.KeyChar) Then e.Handled = True End If End If If e.KeyChar = "." Then textBox3.Focus() textBox3.SelectAll() End If End Sub Private Sub textBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles textBox3.KeyPress If Char.IsControl(e.KeyChar) Then Else If Not Char.IsDigit(e.KeyChar) Then e.Handled = True End If End If If e.KeyChar = "." Then textBox4.Focus() textBox4.SelectAll() End If End Sub Private Sub textBox4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles textBox4.KeyPress If Char.IsControl(e.KeyChar) Then Else If Not Char.IsDigit(e.KeyChar) Then e.Handled = True End If End If End Sub Private Sub IpBox_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.SizeChanged Dim nTextBoxWidth As Integer = (Me.Width - 3 * label1.Width) / 4 textBox1.Location = New Point(0, 2) textBox1.Width = nTextBoxWidth textBox1.Height = Me.Height label1.Left = textBox1.Right label1.Top = 0 label1.Width = label1.Width label1.Height = Me.Height - 4 textBox2.Left = label1.Right textBox2.Top = 2 textBox2.Width = nTextBoxWidth textBox2.Height = Me.Height label2.Left = textBox2.Right label2.Top = 0 label2.Width = label1.Width label2.Height = Me.Height - 4 textBox3.Left = label2.Right textBox3.Top = 2 textBox3.Width = nTextBoxWidth textBox3.Height = Me.Height label3.Left = textBox3.Right label3.Top = 0 label3.Width = label1.Width label3.Height = Me.Height - 4 textBox4.Left = label3.Right textBox4.Top = 2 textBox4.Width = nTextBoxWidth textBox4.Height = Me.Height - 4 End Sub End Class
--说明:复制表(只复制结构,源表名:a 新表名:b) select * into b from a where 1<>1 --说明:拷贝表(拷贝数据,源表名:a 目标表名:b) insert into b(a, b, c) select d,e,f from b; --说明:显示文章、提交人和最后回复时间 select a.title ,a.username ,b.adddate from table a ,(select max(adddate) adddate from table where table.title=a.title) b --说明:外连接查询(表名1:a 表名2:b) select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c --说明:日程安排提前五分钟提醒 select * from 日程安排 where datediff('minute',f开始时间,getdate())>5 --说明:两张关联表,删除主表中已经在副表中没有的信息 delete from info where not exists ( select * from infobz where info.infid=infobz.infid )