标题:VB的一些小技巧 字符串处理
只看楼主
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
结帖率:37.5%
 问题点数:0 回复次数:7 
VB的一些小技巧 字符串处理

平时编程比较多,自己总结了不少经验和技巧,这里我从以前的程序里一点点地复制出来给大家分享

1. 限制在文件框里只输入数字,用这样一个过程,把它放在控件的KeyPress事件里
Public Sub LimitInput(KeyAscii As Integer)
If KeyAscii > 57 Then
KeyAscii = 0
Beep
End If
If KeyAscii >= 32 And KeyAscii <= 47 Then
KeyAscii = 0
Beep
End If
End Sub
这个比 if Keyascii<asc("0") or keyascii>asc("9") 好用的多,因为没有过滤掉回车,删除之类的按键.

2.单击选中文本,我们在输入资料的时候经常要修改已经填好的数据,有时候比较长的话还得一个字符一个字符地删,用这个过程只要一单击文件框就自动选中文本框中所有文件,可以直接覆盖写入,把这个过程放在文本框的单击事件中.
Public Sub SelText(TxtBox As Control)
TxtBox.SetFocus
TxtBox.SelStart = 0
TxtBox.SelLength = Len(TxtBox.Text)
End Sub

3.判断文件格式.我在做播放器的时候要智能导入支持的音乐文件/播放列表文件(包括MP3/WMA/AVI/MPEG/M3U等等格式),要能从己获取的文件名中判断是否支持此文件,用这一行:
If InStr(1, "mp3wavmidiasxwmawmvavimpgmmpeg", Trim(Mid(FileName, InStrRev(FileName, ".") + 1))) <> 0
这行能判断FileName是否是支持的音乐文件格式.

4.在处理ID3/ID2为空的文件时,因为得不到音乐文件标题,所以直接用文件的文件名作为音乐标题,但此标题必须去掉扩展名和地址,也就是说只留下光秃秃的文件名,如C:\1\2\3\MyLove.wma 就只留下MyLove,要实现这个功能只用下面这一行:
Left(Mid(FileName, InStrRev(FileName, "\") + 1), InStr(1, Mid(FileName, InStrRev(FileName, "\")), ".") - 2)

5.在给某公司写管理系统时经输入很多配件及型号名称,而这些名称又经常是带些特殊字符的,如×,√,Φ 输入很不方便,有些人甚至都不会输入,怎么办呢?
这里我约定输入*号时自动变成"×",输入&号时自动变成"Φ"
要怎么实现呢?
看代码:
在文本框的KeyPress事件中写入:

if keyascii=asc("*") then keyascii=asc("×")
if keyascii=asc("&") then keyascii=asc("Φ")


6.在填写表单时习惯写完一项就回车,然后焦点自动转到下一项,这要怎么实现呢?
首先你要按顺序给每个控件设置好TABINDEX,然后再在控件的KEYPRESS里写代码
if Keyascii=13 then SendKeys "{tab}"


7.让某一按键失效,其实上面也已经有了,就是在keypress里边写keyascii=0,比如说要过滤小数点,则这样写
if keyascii=asc(".") then keyascii=0


代码太多 暂时找了这么几条 以后有空再补吧,希望对初学者有点帮助.

搜索更多相关主题的帖子: 技巧 KeyAscii 字符 Beep asc 
2007-09-21 00:13
LuoSZ
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2007-9-7
得分:0 
谢谢啦!

我学习,所以我快乐!
2007-09-21 19:20
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
第三条 一般中间加"|"的
2007-09-21 19:30
三断笛
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:31
帖 子:1621
专家分:1617
注 册:2007-5-24
得分:0 
呵呵  楼上的方法不错,更加完善.
2007-09-22 01:28
那边有朵蘑菇云
Rank: 1
来 自:很……那啥的一个地方
等 级:新手上路
威 望:1
帖 子:390
专家分:0
注 册:2007-9-3
得分:0 

身不残 志更不坚
2007-09-22 11:34
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
得分:0 
不错。。。

2007-09-22 11:37
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
得分:0 
是的.

我的msn: myfend@
2007-09-22 11:38
zeyidao
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-9-17
得分:0 
谢谢了,受用了。
2007-09-22 15:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-171700-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.373165 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved