谢谢,各位
解决方案 »
- 大家帮忙看看代码出了什么问题?一个简单的判断质数的问题
- 获得系统RS232串口个数的API
- 怎么才能在局域网中发送广播消息??
- 使用向导生成了一部分代码,但是想把ado控件修改为2.5以上的,怎么办?
- 用asp向excel单元格中写入数据(只写了50条)狂慢,超时错误,如何解决
- 关于TreeView控件,checked属性赋值异常
- ListView问题:ListView中能不能加入comboBox
- 急呀!等着交作业,调不出来呀!各位大哥大姐拉妹妹一把!!
- 请问怎么在编译后的exe程序后面加上参数?就像DOS命令
- ★★★快来抢20分★★★:哪里有关于视频点播的源代码,资料??
- 如何得到win2000的服务列表 并可以停止其中的服务
- 从listview中将数据导入文本文件
MaskEdBox1.PromptChar = " "
###.###.###.###
如
Cint(MID(S,0,3))<256
Cint(MID(S,5,3))<256
Cint(MID(S,9,3))<256
Cint(MID(S,13,3))<256
不过你最好是用查找找索引然后再MID
Dim temp() As String
Dim bo As Boolean
bo = Truetemp() = Split(MaskEdBox1.Text, ".") '四组ip数都存放在temp(0)-temp(3)里,自己可以任意组合成一个有效的string.For i = 0 To 3
If Val(temp(i)) > 255 Then
bo = False
End If
Next iIf bo = False Then
MsgBox "不合法"
Else
MsgBox "合法"
End IfEnd Sub
Begin VB.Form FrmMain
AutoRedraw = -1 'True
BorderStyle = 1 'Fixed Single
Caption = "IP¿Ø¼þÑÝʾ"
ClientHeight = 3195
ClientLeft = 45
ClientTop = 330
ClientWidth = 4680
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 3195
ScaleWidth = 4680
StartUpPosition = 3 '´°¿Úȱʡ
Begin VB.CommandButton CmdSet
Caption = "ÉèÖýá¹û"
Height = 495
Left = 240
TabIndex = 2
Top = 1500
Width = 885
End
Begin VB.TextBox Text1
Height = 315
Left = 1380
TabIndex = 1
Text = "Text1"
Top = 960
Width = 2595
End
Begin VB.CommandButton CmdGet
Caption = "È¡µÃ½á¹û"
Height = 435
Left = 210
TabIndex = 0
Top = 870
Width = 885
End
End
Attribute VB_Name = "FrmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option ExplicitPrivate Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long
Private Declare Function DestroyWindow Lib "user32" (ByVal hwnd As Long) As LongPrivate Declare Function INITCOMMONCONTROLSEX Lib "comctl32.dll" Alias "InitCommonControlsEx" (ByRef TLPINITCOMMONCONTROLSEX As INITCOMMONCONTROLSEX) As Long
Private Type INITCOMMONCONTROLSEX
dwSize As Long 'size of this structure
dwICC As Long 'flags indicating which classes to be initialized
End Type
Private Const ICC_INTERNET_CLASSES As Long = &H800Private Const WS_CHILD As Long = &H40000000
Private Const WS_GROUP As Long = &H20000
Private Const WS_TABSTOP As Long = &H10000
Private Const WS_VISIBLE As Long = &H10000000Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Const WM_SETFONT As Long = &H30
Private Const WM_GETFONT As Long = &H31Private Const WM_USER As Long = &H400
Private Const IPM_CLEARADDRESS As Long = (WM_USER + 100)
Private Const IPM_SETADDRESS As Long = (WM_USER + 101)
Private Const IPM_GETADDRESS As Long = (WM_USER + 102)
Private Const IPM_SETRANGE As Long = (WM_USER + 103)
Private Const IPM_SETFOCUS As Long = (WM_USER + 104)
Private Const IPM_ISBLANK As Long = (WM_USER + 105)'#define FIRST_IPADDRESS(x) ((x>>24) & 0xff)
'#define SECOND_IPADDRESS(x) ((x>>16) & 0xff)
'#define THIRD_IPADDRESS(x) ((x>>8) & 0xff)
'#define FOURTH_IPADDRESS(x) (x & 0xff)
'#define MAKEIPRANGE(low, high) ((LPARAM)(WORD)(((BYTE)(high) << 8) + (BYTE)(low)))
'#define MAKEIPADDRESS(b1,b2,b3,b4) ((LPARAM)(((DWORD)(b1)<<24)+((DWORD)(b2)<<16)+((DWORD)(b3)<<8)+((DWORD)(b4))))
Private IP1 As LongPublic Function FIRST_IPADDRESS(ByVal x As Long) As Byte
FIRST_IPADDRESS = ((x And &H7F000000) \ &H1000000) Or (((x And &H80000000) <> 0) And &H80)
End FunctionPublic Function SECOND_IPADDRESS(ByVal x As Long) As Byte
SECOND_IPADDRESS = (x And &HFF0000) \ &H10000
End FunctionPublic Function THIRD_IPADDRESS(ByVal x As Long) As Byte
THIRD_IPADDRESS = (x And &HFF00&) \ &H100
End FunctionPublic Function FOURTH_IPADDRESS(ByVal x As Long) As Byte
FOURTH_IPADDRESS = x And &HFF
End FunctionPublic Function MAKEIPRANGE(ByVal low As Byte, ByVal high As Byte) As Long
MAKEIPRANGE = high * &H100& Or low
End FunctionPublic Function MAKEIPADDRESS(ByVal b1 As Byte, ByVal b2 As Byte, ByVal b3 As Byte, ByVal b4 As Byte) As Long
MAKEIPADDRESS = ((b1 And &H7F) * &H1000000 Or (b1 And &H80) <> 0 And &H80000000) Or (b2 * &H10000) Or (b3 * &H100&) Or (b4)
End FunctionPrivate Sub CmdGet_Click()
Dim TempLng As Long
SendMessage IP1, IPM_GETADDRESS, 0, TempLng
Text1.Text = FIRST_IPADDRESS(TempLng) & "," & SECOND_IPADDRESS(TempLng) & "," & THIRD_IPADDRESS(TempLng) & "," & FOURTH_IPADDRESS(TempLng)
End SubPrivate Sub CmdSet_Click()
SendMessage IP1, IPM_SETADDRESS, 0, ByVal MAKEIPADDRESS(1, 2, 3, 4)
End SubPrivate Sub Form_Load()
Dim CommCtrl As INITCOMMONCONTROLSEX
CommCtrl.dwSize = Len(CommCtrl)
CommCtrl.dwICC = ICC_INTERNET_CLASSES
If INITCOMMONCONTROLSEX(CommCtrl) Then
IP1 = CreateWindowEx(0, "SysIPAddress32", "IPADDR1", _
WS_CHILD Or WS_TABSTOP Or WS_GROUP Or WS_VISIBLE, _
(Me.ScaleX(Me.ScaleWidth, Me.ScaleMode, vbPixels) - 128) \ 2, 10, 128, 20, _
Me.hwnd, 0, App.hInstance, ByVal 0&)
If IP1 Then
'½«IP¿Ø¼þµÄ×ÖÌåÉèÖõĸù´°ÌåÒ»Ñù ÓÃËÎÌå
SendMessage IP1, WM_SETFONT, SendMessage(Me.hwnd, WM_GETFONT, 0, ByVal 0&), ByVal 0&
Else
MsgBox "²»ÄÜ´´½¨¿Ø¼þ", vbCritical, "´íÎó£¡"
End
End If
Else
MsgBox "²»ÄÜ´´½¨¿Ø¼þ", vbCritical, "´íÎó£¡"
End
End If
End SubPrivate Sub Form_Unload(Cancel As Integer)
DestroyWindow IP1
End Sub