20200420使用VB6.0求33选6的全组合数(解决变长字符串超过1MB之后写入的问题)
最近需要求组合数(买双色球生成号码用^_)
以前在大学专门学习过VB6.0,今后会迁移到VC6.0。
预计会在2020.5.1强化一下MFC,就可以了!
我也不知道边长字符串到底写入多少回崩溃。(现阶段人也不年轻了,也没有这么多时间去研究了!有兴趣的同学跟帖告诉我一下,在此谢过了!)
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 12825
ClientLeft = 450
ClientTop = 615
ClientWidth = 14535
LinkTopic = "Form1"
ScaleHeight = 12825
ScaleWidth = 14535
Begin VB.TextBox Text2
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 12255
Left = 600
MultiLine = -1 'True
ScrollBars = 3 'Both
TabIndex = 1
Top = 360
Width = 6135
End
Begin VB.CommandButton Command2
Caption = "求33选6的全组合数"
BeginProperty Font
Name = "宋体"
Size = 26.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 975
Left = 8040
TabIndex = 0
Top = 5520
Width = 4935
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub Command1_Click()
End Sub
Private Sub Command2_Click()
Dim h1%, h2%, h3%, h4%, h5%, h6%
Dim h6sum%
Dim i%
Dim j%
Dim temp%
Dim count%
Dim guangyayuan(35) As Integer
Dim wutongshan(35) As Integer
Dim guangyayuan6(35) As Integer
Dim hong1%, hong2%, hong3%, hong4%, hong5%, hong6%
Dim strWj As String
' For hong1 = 1 To 10
' 'For hong2 = hong1 To 11
' For hong2 = hong1 + 1 To 11
' For hong3 = hong2 + 1 To 12
' For hong4 = hong3 + 1 To 13
' For hong5 = hong4 + 1 To 14
' For hong6 = hong5 + 1 To 15
For hong1 = 1 To 28
For hong2 = hong1 + 1 To 29
For hong3 = hong2 + 1 To 30
For hong4 = hong3 + 1 To 31
For hong5 = hong4 + 1 To 32
For hong6 = hong5 + 1 To 33
'Text2 = Text2 & hong1 & "," & hong2 & "," & hong3 & "," & hong4 & "," & hong5 & "," & hong6 & vbCrLf
strWj = strWj & hong1 & "," & hong2 & "," & hong3 & "," & hong4 & "," & hong5 & "," & hong6 & vbCrLf
Next hong6
Next hong5
Next hong4
Next hong3
Next hong2
Next hong1
'Close #2
'Open "d:\ScoreW2.txt" For Output As #1
'Open "d:\求12选3的全组合数.txt" For Output As #1
Open "d:\求33选6的全组合数.txt" For Output As #1
'Write #1, Text2
Write #1, strWj
Close #1
End Sub
我这里采用了一个最简单粗暴的做法,将每一组的六个号码立即写入磁盘。(具体交给操作系统了)
求33选6的全组合数.txt 大概23MB。
大致内容:
"1,2,3,4,5,6
"
"1,2,3,4,5,7
"
"1,2,3,4,5,8
"
"1,2,3,4,5,9
"
"1,2,3,4,5,10
"
"1,2,3,4,5,11
"
"1,2,3,4,5,12
"
"1,2,3,4,5,13
"
"1,2,3,4,5,14
"
"1,2,3,4,5,15
"
"1,2,3,4,5,16
"
"1,2,3,4,5,17
"
"1,2,3,4,5,18
"
"1,2,3,4,5,19
"
"1,2,3,4,5,20
"
"1,2,3,4,5,21
"
"1,2,3,4,5,22
"
"1,2,3,4,5,23
"
"1,2,3,4,5,24
"
"1,2,3,4,5,25
"
"1,2,3,4,5,26
……
"
"25,28,30,31,32,33
"
"25,29,30,31,32,33
"
"26,27,28,29,30,31
"
"26,27,28,29,30,32
"
"26,27,28,29,30,33
"
"26,27,28,29,31,32
"
"26,27,28,29,31,33
"
"26,27,28,29,32,33
"
"26,27,28,30,31,32
"
"26,27,28,30,31,33
"
"26,27,28,30,32,33
"
"26,27,28,31,32,33
"
"26,27,29,30,31,32
"
"26,27,29,30,31,33
"
"26,27,29,30,32,33
"
"26,27,29,31,32,33
"
"26,27,30,31,32,33
"
"26,28,29,30,31,32
"
"26,28,29,30,31,33
"
"26,28,29,30,32,33
"
"26,28,29,31,32,33
"
"26,28,30,31,32,33
"
"26,29,30,31,32,33
"
"27,28,29,30,31,32
"
"27,28,29,30,31,33
"
"27,28,29,30,32,33
"
"27,28,29,31,32,33
"
"27,28,30,31,32,33
"
"27,29,30,31,32,33
"
"28,29,30,31,32,33
"
读者可能很容易看到会多一个英文的引号,这个怎么解决呢?
https://zhidao.baidu.com/question/7939187.html
用vb读写文件时,写成的文本文件每行都有双引号,怎么才能把双引号去掉啊?
怎样写的文件,才能没有双引号啊?
wangtk1982
2006-05-30
使用print语句 不用用write
本回答由提问者推荐
3 评论(1) 分享 举报
monkywin
2006-05-30
用print写入文件。
用input读取文本。
修正之后:
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 12825
ClientLeft = 450
ClientTop = 615
ClientWidth = 14535
LinkTopic = "Form1"
ScaleHeight = 12825
ScaleWidth = 14535
Begin VB.TextBox Text2
BeginProperty Font
Name = "宋体"
Size = 14.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 12255
Left = 600
MultiLine = -1 'True
ScrollBars = 3 'Both
TabIndex = 1
Top = 360
Width = 6135
End
Begin VB.CommandButton Command2
Caption = "求33选6的全组合数"
BeginProperty Font
Name = "宋体"
Size = 26.25
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 975
Left = 8040
TabIndex = 0
Top = 5520
Width = 4935
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub Command1_Click()
End Sub
Private Sub Command2_Click()
Dim h1%, h2%, h3%, h4%, h5%, h6%
Dim h6sum%
Dim i%
Dim j%
Dim temp%
Dim count%
Dim guangyayuan(35) As Integer
Dim wutongshan(35) As Integer
Dim guangyayuan6(35) As Integer
Dim hong1%, hong2%, hong3%, hong4%, hong5%, hong6%
Dim strWj As String
strWj = ""
Open "d:\求33选6的全组合数.txt" For Output As #1
For hong1 = 1 To 28
For hong2 = hong1 + 1 To 29
For hong3 = hong2 + 1 To 30
For hong4 = hong3 + 1 To 31
For hong5 = hong4 + 1 To 32
For hong6 = hong5 + 1 To 33
'Text2 = Text2 & hong1 & "," & hong2 & "," & hong3 & "," & hong4 & "," & hong5 & "," & hong6 & vbCrLf
'strWj = strWj & hong1 & "," & hong2 & "," & hong3 & "," & hong4 & "," & hong5 & "," & hong6 & vbCrLf
strWj = strWj & hong1 & "," & hong2 & "," & hong3 & "," & hong4 & "," & hong5 & "," & hong6
'Write #1, strWj
Print #1, strWj
strWj = ""
Next hong6
Next hong5
Next hong4
Next hong3
Next hong2
Next hong1
'Close #2
'Open "d:\ScoreW2.txt" For Output As #1
'Open "d:\求12选3的全组合数.txt" For Output As #1
'Open "d:\求33选6的全组合数.txt" For Output As #1
'Write #1, Text2
'Write #1, strWj
Close #1
End Sub
1,2,3,4,5,6
1,2,3,4,5,7
1,2,3,4,5,8
1,2,3,4,5,9
1,2,3,4,5,10
1,2,3,4,5,11
1,2,3,4,5,12
1,2,3,4,5,13
1,2,3,4,5,14
1,2,3,4,5,15
1,2,3,4,5,16
1,2,3,4,5,17
1,2,3,4,5,18
1,2,3,4,5,19
1,2,3,4,5,20
1,2,3,4,5,21
1,2,3,4,5,22
1,2,3,4,5,23
1,2,3,4,5,24
1,2,3,4,5,25
1,2,3,4,5,26
1,2,3,4,5,27
1,2,3,4,5,28
1,2,3,4,5,29
……
25,28,29,31,32,33
25,28,30,31,32,33
25,29,30,31,32,33
26,27,28,29,30,31
26,27,28,29,30,32
26,27,28,29,30,33
26,27,28,29,31,32
26,27,28,29,31,33
26,27,28,29,32,33
26,27,28,30,31,32
26,27,28,30,31,33
26,27,28,30,32,33
26,27,28,31,32,33
26,27,29,30,31,32
26,27,29,30,31,33
26,27,29,30,32,33
26,27,29,31,32,33
26,27,30,31,32,33
26,28,29,30,31,32
26,28,29,30,31,33
26,28,29,30,32,33
26,28,29,31,32,33
26,28,30,31,32,33
26,29,30,31,32,33
27,28,29,30,31,32
27,28,29,30,31,33
27,28,29,30,32,33
27,28,29,31,32,33
27,28,30,31,32,33
27,29,30,31,32,33
28,29,30,31,32,33