注册 登录
编程论坛 VB6论坛

一个学写字的程序,各位高手帮我看看问题出哪了··

syjjack 发布于 2012-06-21 08:46, 654 次点击
Private Sub Command1_Click()

Dim FlashCtl As Object  

Dim lblChr(I) As String

Const ChrSet As String = "不开四五目耳头米见白田电也长山出飞马鸟云公车牛羊小少巾牙尺毛卜又心风力手水广升足走方半巴业本平书自己东西回片皮生里果几用鱼今正
雨两瓜衣来年左右" '可以显示的字库

tmpStr = ChrSet
        
intLen = Len(tmpStr)
        
K = Int(Rnd * intLen) + 1
        
With lblChr(I)
            
Caption = Mid(tmpStr, K, 1)
            
.ForeColor = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
            
'.ForeColor = ForeColor Xor Picture1.BackColor
            
.Left = Picture1.Left + (A(I + 1, 1) \ 10) * 800
            
Top = Picture1.Top + (A(I + 1, 1) Mod 10) * 800
        
End With
        
tmpStr = Replace(tmpStr, lblChr(I).Caption, "")

End Sub
3 回复
#2
积善门徒2012-06-21 12:33
没分,确实没什么动力,随便说说~
这一看,是不是有点代码复制错了?
仿照那个 ***B 大神的写法~~~~~~

1、定义为string,何来With 对象?
Dim lblChr(I) As String
With lblChr(I)
2、I为变量?这样定义好像不行的啊
数值需要常数定义,要么直接定义个定义动态数组Dim lblChr() As String

先写这些吧,没分真没动力

还有,有说错的请指出!谢~~
#3
yuma2012-06-21 18:32
你没有声明api吧。

类似于下面的声明:
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long


你的怎么没有。
#4
积善门徒2012-06-22 01:27
楼上从哪里看出这程序需要到api函数呢?

他的原因应该是随机抽出个字来显示吧?

这需要变动窗体的外观结构吗?

简单的控件应该可以实现了吧?
1