VB编程经验总结贴(第一期)

online 2004-07-29 11:46:57
在VB的使用过程中,每个人或多或少都会遇到一些问题,而这些问题可能其他人也同样遇到过,或许还没能解决。当你发现问题根结所在时,兴奋之余,欢迎你告诉他人同类问题的解决之道。
要求:
1.程序尽量要有说明,有数据库的说明字段情况
2.程序自己要调试通过。复杂的程序尽量简化说明
3.对于比较好的编程经验,贴主可以重新开零分贴,斑竹会将其加入FAQ,奖励可用分100分、信誉分(FAQ主要问题解决人信誉分加5)
4.最后我打算做成chm文档,每人一册,供大家学习。

希望新手,老鸟积极参与,带动一下vb版的气氛。
谢谢大家支持
...全文
2362 161 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
161 条回复
切换为时间正序
请发表友善的回复…
发表回复
smx717616 2004-10-14
  • 打赏
  • 举报
回复
期待中----
IORILI 2004-08-26
  • 打赏
  • 举报
回复
'得到表达式的值,如:在.tag中:title=数量;IsNumber=0;
'输入:GetSubStr(.tag,"title=",";")=数量
'李绍龙 2004-06-28 PM
Public Function GetSubStr(astring As String, aStar As String, aStep As String) As String
Dim MyStr As String
Dim SepCharPos As Integer
Dim aStarPos As Integer

If astring = "" Then
GetSubStr = ""
Exit Function
End If
aStarPos = InStr(astring, aStar)
SepCharPos = InStr(aStarPos + Len(aStar), astring, aStep)
GetSubStr = Mid(astring, aStarPos + Len(aStar), SepCharPos - aStarPos - Len(aStar))

End Function
'得到字符串中子字符串的数量
'输入GetSubStr("C5:=C1+C2+C3;D6:=D2+D2+D4;", ";")=数量
'李绍龙 2004-06-28 PM
Public Function GetSubStrCount(astring As String, aStep As String) As Integer
Dim i As Integer
GetSubStrCount = 0
For i = 1 To Len(astring)
If Mid(astring, i, 1) = aStep Then
GetSubStrCount = GetSubStrCount + 1
End If
Next
End Function
IORILI 2004-08-26
  • 打赏
  • 举报
回复
'生成GUID函数
Public Function GetGuidID() As String
Dim pGuid(16) As Byte
Dim s As String
s = String(255, " ")
CoCreateGuid pGuid(0)
StringFromGUID2 pGuid(0), s, 255
s = Trim(s)
GetGuidID = StrConv(s, vbFromUnicode)
End Function
libralibra 2004-08-19
  • 打赏
  • 举报
回复
期待CHM ing……
jiangjl_cn 2004-08-17
  • 打赏
  • 举报
回复
有哪位大虾可以提供这样的源程序:用vba去读取一个多sheet的excel表格,取得当前sheet每个行列单元的值,如果当前sheet某个行列单元的值会链接到另外一个sheet的某个行列的单元值,也要能读出来,然后把这些读出来的信息,写入一个文本文件。

谢谢了。

至急,等待中。。。
artoksxb 2004-08-16
  • 打赏
  • 举报
回复
有没有帮我解决一个,
把picturebox中的图片读入sql数据库的一表里。
谢谢!
上面的内容不错!
就是少了一些这方面的。
Surpass 2004-08-12
  • 打赏
  • 举报
回复
Option Explicit
'属性框
Private Type SHELLEXECUTEINFO
cbSize As Long
fMask As Long
hWnd As Long
lpVerb As String
lpFile As String
lpParameters As String
lpDirectory As String
nShow As Long
hInstApp As Long

lpIDList As Long
lpClass As String
hkeyClass As Long
dwHotKey As Long
hIcon As Long
hProcess As Long
End Type

Const SEE_MASK_INVOKEIDLIST = &HC
Const SEE_MASK_NOCLOSEPROCESS = &H40
Const SEE_MASK_FLAG_NO_UI = &H400
Private Declare Function ShellExecuteEX Lib "shell32.dll" Alias "ShellExecuteEx" (SEI As SHELLEXECUTEINFO) As Long

Function Properties(FileName As String, hWnd As Long) As Long
Dim SEI As SHELLEXECUTEINFO
Dim r As Long
On Error Resume Next

With SEI
.cbSize = Len(SEI)
.fMask = SEE_MASK_NOCLOSEPROCESS Or SEE_MASK_INVOKEIDLIST Or SEE_MASK_FLAG_NO_UI
.hWnd = hWnd
.lpVerb = "properties"
.lpFile = FileName
.lpParameters = vbNullChar
.lpDirectory = vbNullChar
.nShow = 0
.hInstApp = 0
.lpIDList = 0
End With
r = ShellExecuteEX(SEI)
Properties = SEI.hInstApp

End Function
Andy__Huang 2004-08-12
  • 打赏
  • 举报
回复
up
DerryZhang 2004-08-11
  • 打赏
  • 举报
回复
up
zcm123 2004-08-10
  • 打赏
  • 举报
回复
好东西多多阿 在顶
lsw0sina 2004-08-08
  • 打赏
  • 举报
回复
up
hnhou 2004-08-07
  • 打赏
  • 举报
回复
支持,不过我希望大家在贴的时候,把格式,说明、注释等写清楚点,有利于新手阅读,以后整理起来也可以少些工作量,ok?
yhl123 2004-08-07
  • 打赏
  • 举报
回复
up
cpio 2004-08-07
  • 打赏
  • 举报
回复
我信誉分只有99了
ajianchen2002 2004-08-06
  • 打赏
  • 举报
回复
支持
chenyu001 2004-08-06
  • 打赏
  • 举报
回复
使listview里面的项目不可以移动
Option Explicit
'使listview的项目不移动
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function SetClassLong Lib "user32" Alias "SetClassLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const GWL_WNDPROC = (-4)
Public Const GCL_WNDPROC = (-24)

Public Const LVM_FIRST As Long = &H1000
Public Const LVM_SETITEMPOSITION As Long = LVM_FIRST + 15
Public Const LVM_SETITEMPOSITION32 As Long = LVM_FIRST + 49

Public glDefWindowProc As Long

Public Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
On Error Resume Next
Select Case uMsg
Case LVM_SETITEMPOSITION, LVM_SETITEMPOSITION32
WindowProc = 0
Case Else
WindowProc = CallWindowProc(glDefWindowProc, hwnd, uMsg, wParam, lParam)
End Select
End Function
----------------------------------
Private Sub Form_Load()
Dim hwnd As Long
hwnd = ListFTP.hwnd
glDefWindowProc = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf WindowProc)


End Sub
rtur 2004-08-06
  • 打赏
  • 举报
回复
才地址错了,抱歉:
http://www.urlroot.com/MyDocs/Tips.rar
rtur 2004-08-05
  • 打赏
  • 举报
回复
我近一两年收集的(本来还更多,毁在一次硬盘事故中,555~~__).online大哥,有劳你收集整理了.

http://www.urlroot.com/MyDoc/Tips.rar
wenky_2000 2004-08-04
  • 打赏
  • 举报
回复
期望chm
computer17 2004-08-03
  • 打赏
  • 举报
回复
顶一下,我都没有可用分了怎么加啊
加载更多回复(141)

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧