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 = "宋体"