该程序中设置公共变量T动态记录投票时间。四个形状ShpM(1 to 4)动态增长的底线固定。 【Visual Basic程序代码】 Dim T As Integer ’声明全局变量 Private Sub Form_Load() For i=1 To 4 ShpM(i).Top=2000 : ShpM(i).Height=0 ’初始票柱高度为0 TxtM(i).Text=0 Next i Timl.Enabled=False : Timl.Interval=500 : T=0 End Sub
Private Sub CmdStart Click() Timl.Enabled=True ’开始投票 CmdStart.Enabled=False End Sub
Private Sub Timl Timer() Dim n(1 To 4) As Integer ’n(1 to 4)为每次收集的票数 Dim i As Integer,j As Integer Dim G As Integer ’G用于计算最高票数 Dim ng As Integer ’ng用于计算冠军个数 For i=1 To 4 n(i)=... ’收集i号选手的票数,此处省略 TxtM(i).Text=TxtM(i).Text+n(i) ’累计票(VB能进行自动转换) ShpM(i).Top=ShpM(i).Top-n(i) ShpM(i).Height=ShpM(i).Height+ (1) ’算出票柱高度 Next i T=T+1 ’计时 If T=60 Then ’投票时间到 (2) ’停止数据收集处理 ng = 1 G=TxtM(1).Text For i=2 To 4 If G<TxtM(i).Text Then G=TxtM(i).Text ng= (3) j = i Else If G=TxtM(i).Text Then ng= (4) ’计算冠军个数 End If Next i If ng=1 Then txtResult. Text= (5) ’单个冠军结果 Else txtResult. Text="继续进行PK" End If End If End Sub