有什么好办法从一个电话号码的文本文件里随机选出N条记录

viperstorm 2004-12-09 10:36:06
有什么好办法从一个电话号码的文本文件里随机选出N条记录

13688888888
...

一条记录一行.

如果我要随机选出300条记录,我应该怎么办呢?

谢谢!
...全文
306 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
viperstorm 2004-12-11
  • 打赏
  • 举报
回复
好的.謝謝了..
taosin 2004-12-10
  • 打赏
  • 举报
回复
我以前写过类似这样的代码! 原来`of123写的还简单得多!多多学习!
of123 2004-12-10
  • 打赏
  • 举报
回复
'利用一个 ListBox 存放提取的号码。ListBox 可以设置成不可见。
'API 函数用来检查重复的号码。
Private Declare Function SendMessagebyString Lib _
"user32" Alias "SendMessageA" (ByVal hWND As Long, _
ByVal wMsg As Long, ByVal wParam As Long, _
ByVal lParam As String) As Long

Private Const LB_FINDSTRINGEXACT = &H1A2

Dim strPhoneNo() As String '用于储存号码
Dim strFileData As String
Dim i As Long, n As Long, p As Long

'读取所有号码
Open "C:\PhoneNo.txt" For Input As #1
Input #1,strFileData
Close #1

strPhoneNo = Split(strFileData, vbCrLf)
n = Ubound(strPhoneNo)
i = 0

List1.Clear
Randomize

Do While List1.ListCount < 300 And i <= n
p = Int(Rnd * n)
If SendMessagebyString(List1.hWnd, &H1A2, -1, strPhoneNo(p)) = -1 Then
List1.Additem strPhoneNo(p)
End If
i = i + 1
Loop
caimps 2004-12-10
  • 打赏
  • 举报
回复
没看明白
楼上的楼上怎么保证选中的没有重复
True1024 2004-12-10
  • 打赏
  • 举报
回复
northwolves(狼行天下) ( ) 信誉:125 的正确

这是从库中随机取300条。
select Top 300 from Table1 Order By newid()
northwolves 2004-12-09
  • 打赏
  • 举报
回复
Sub GETN(ByVal FILEPATH As String, ByVal N As Integer, Optional ByRef RESULT As String)
Dim TEMP As String, LINES() As String, I As Long
Open FILEPATH For Input As #1
TEMP = StrConv(InputB(LOF(1), 1), vbUnicode)
Close #1
LINES = Split(TEMP, vbCrLf)

Dim j As Long, B() As String, R As Long
If N <= UBound(LINES) + 1 Then
ReDim B(1 To N)
Randomize
For j = 1 To N
R = Int((UBound(LINES) - j + 1) * Rnd + 1)
B(j) = j & ";" & vbTab & LINES(R)
LINES(R) = LINES(j)
Next
End If
RESULT = Join(B, vbCrLf)
Debug.Print RESULT
End Sub

Private Sub Command1_Click()
GETN "E:\PHONES.TXT", 300
End Sub
laviewpbt 2004-12-09
  • 打赏
  • 举报
回复
我想关键是产生300个不重复的随机数吧。
viperstorm 2004-12-09
  • 打赏
  • 举报
回复
幫幫忙了。。!!
aohan 2004-12-09
  • 打赏
  • 举报
回复
顶一下,先睡觉了

7,762

社区成员

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

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