亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用VB6.0編寫電腦抽獎程序

2019-11-18 17:38:01
字體:
來源:轉載
供稿:網友
近年來在娛樂節目之中常常見到利用電腦來抽獎,筆者對其發生了興趣遂自己動手用VB編了一個小程序來實現電腦抽獎的小功能,其原理如下:
  主要利用VB中的Rnd函數,來實現隨機查找和打亂排序的功能,從而實現隨機抽獎的目的。Rnd函數的語法結構是Rnd[(number)],可選的number參數是single或任何有效的數值表達式。Rnd函數返回小于1但大于或等于0的值。number的值決定了Rnd生成隨機數的方式。為了生成某個范圍內的隨機整數,可使用以下公式:
  Int((upperbound-lowerbound+1)×Rnd+lowerbound)
  這里,upperbound是隨機數范圍的上限,而lowerbound則是隨機數范圍的下限。
  另外,程序中還使用了INI文件,WindowsINI文件,可解釋為Windows初始化文件。它是一種專門用來保存應用程序初始化信息和運行環境信息的文本文件。ini文件是一種文本文件,它可以通過Notepad等文本編輯器進行編輯。ini文件具有特定的格式。一個INI文件是由若干個段(section)組成的,每個段中包含若干關鍵字(key)及相應的值(value)。創建應用程序自己的INI文件,通過INI文件保存應用程序的一些運行環境信息,然后在程序中讀取INI文件中的設置信息并據以處理。一旦程序的運行環境需要變更,則可以通過直接修改INI文件,或在程序中提供專門的界面間接地修改INI文件來保證程序的可用性。
  程序運行時如圖:
  源程序及注釋如下:
  '窗體源程序
  OptionExplicit
  Dimm_strNameArray()AsMyName
  Dimm_bIsStartAsBoolean
  Dimm_nNameIndexAsInteger
  DimMAX_INDEXAsInteger
  Dimm_nSelectNumAsInteger
  '被選定數
  DimnScrollStepAsInteger
  DimnScrollWidthAsInteger
  DimbScrollStateAsBoolean
  DimnEnableSecondAsInteger
  Dimm_strTitleAsString
  Dimm_strAPPTitleAsString
  Dimm_strScrollTitleLeftAsString
  Dimm_strScrollTitleRightAsString
    Label_FlashName.Visible=True
  Timer_FlashName.Enabled=True
  Timer_ScrollName.Enabled=False
  Label_FlashName=
  m_strNameArray(m_nNameIndex).strName+“中獎了!"
  m_strNameArray(m_nNameIndex).bIsSelect=True
  m_nSelectNum=m_nSelectNum+1
  DimTempAsMyName
  Temp=
  m_strNameArray(MAX_INDEX)
  m_strNameArray(MAX-INDEX)=m_strNameArray(m_nNameIndex)
  m_strNameArray(m_nNameIndex)=
  Temp
  MAX_INDEX=MAX_INDEX-1
  IfMAX_INDEX=0Then
  MsgBox“非常感謝您使用本軟件"
  EndIf
  Else'按開始鈕
  m_bIsStart=True
  Command_Start_Stop.Caption=“停止"
  Command_Start_Stop.Enabled=False
  Timer_ScrollName.Enabled=True
  Timer_FlashName.Enabled=False
  Label_FlashName.Caption=“"
  EndIf
  EndSub
  PrivateSubForm_Load()
  Form_Bouns.ScaleMode=3
  m_nNameIndex=0
  m_bIsStart=False
  Timer_ScrollName.Enabled=True
  Timer_ScrollTitle.Enabled=True
  Label_FlashName.Visible=False
  Label_ScrollName.Caption=“"
  nEnableSecond=0
  '定義起始秒數
  ReDimNameArray
  '獲得文本中的名字和打亂名字順序
  nScrollStep=5'設定滾動字的步長
  nScrollWidth=Label_Congruation.Left
  '設定title的移動寬度
  bScrollState=False
  '設定缺省的開始滾動方向為向左
  m_nSelectNum=0
  '初始化被選定數為0
  Init
  '初始化本程序的界面
  EndSub
  PrivateSubTimer_FlashName_Timer()'閃動中獎者姓名
  IfLabel_FlashName.Visible=TrueThen
  Label_FlashName.Visible=False
  Else
  Label_FlashName.Visible=True
  EndIf
  EndSub
  PrivateSubTimer_ScrollName_Timer()'滾動出現名字
  Ifm_bIsStart=TrueThen
  Ifm_nNameIndex>=MAX_INDEXThen
  m_nNameIndex=0
  EndIf
  m_nNameIndex=
  m_nNameIndex+1
  Ifm_strNameArray(m_nNameIndex).bIsSelect=TrueThen
  Ifm_nNameIndex<
  MAX-INDEXThen
  m_nNameIndex=
  m_nNameIndex+1
  Else
  m_nNameIndex=0
  EndIf
  EndIf
  Label_ScrollName.Caption=m_str
  NameArray(m_nNameIndex).strName
  'EndIf
  EndIf
  EndSub
  PrivateSubTimer_ScrollTitle_Timer()'滾動“恭喜發財"字樣
  IfbScrollState=FalseThen'向左滾
  nScrollStep=10
  Label_Congruation.Caption=m_strScrollTitleLeft
  IfnScrollWidth>0Then
  nScrollWidth=
  nScrollWidth-nScrollStep
  Else
  bScrollState=True
  EndIf
  Else'向右滾
  nScrollStep=-10
  Label_Congruation.Caption=
  m_strScrollTitleRight
  IfnScrollWidth<Form_Bouns.ScaleWidth-Label_Congruation.WidthThen
  nScrollWidth=
  nScrollWidth-nScrollStep
  Else
  bScrollState=False
  EndIf
  EndIf
  Label_Congruation.Left=nScrollWidth
  '以下為8秒鐘內使“停止"按鈕有效
  IfnEnableSecond<=49Then
  Ifm_bIsStart=TrueThen
  nEnableSecond=nEnableSecond+1
  EndIf
  Else
  Ifm_bIsStart=TrueThen
  Command_Start_Stop.Enabled=True
  nEnableSecond=0
  EndIf
  EndIf
  EndSub
  '動態定義數組
  PrivateSubReDimNameArray()
  DimnMaxIndexAsInteger
  DimstrMaxIndexAsString
  DimnIndexAsInteger
  DimbIsBeginAsBoolean
  bIsBegin=False
  nIndex=0
  OpenApp.Path+“/name.txt"ForInputAs#1'讀文件
  DoUntilEOF(1)
  IfbIsBegin=FalseThen
  LineInput#1,strMaxIndex
  nMaxIndex=Val(strMaxIndex)
  MAX_INDEX=nMaxIndex-1
  ReDimm_strNameArray(0TonMaxIndex-1)
  bIsBegin=True
  Else
  LineInput#1,m_strNameArray(nIndex).strName
  m_strNameArray(nIndex).bIsSelect=False
  nIndex=nIndex+1
  EndIf
  Loop
  '以下為打亂人員順序10次
  DimiAsInteger
  DimjAsInteger
  DimTempAsString
  DimnRandomNumAsInteger
  Forj=0To10
  Fori=0TonMaxIndex-1
  nRandomNum=((nMaxIndex-1)×Rnd)'利用Rnd函數
  Temp=m_strNameArray(i).strName
  m_strNameArray(i).strName=m_strNameArray(nRandomNum).strName
  m_strNameArray(nRandomNum).strName=Temp
  Nexti
  Nextj
  EndSub
  PrivateSubInit()'讀取INI文件
  DimXAsLong
  DimlpFileName
  DimTempAsString×50
  lpFileName=App.Path+“/Sortition.ini"
  X=GetPrivateProfileString(“SYSTEM",“AppTitle",“抽獎程序",Temp,Len(Temp),lpFileName)
  m_strAppTitle=Trim(Temp)
  Temp=“"
  X=GetPrivateProfileString(“SYSTEM","Title","歡迎使用抽獎程序",Temp,Len(Temp),lpFileName)
  m_strTitle=Trim(Temp)
  Temp=“"
  X=GetPrivateProfileString(“SYSTEM",“ScrollTitleRight",“恭喜發財!!!",Temp,Len(Temp),lpFileName)
  m_strScrollTitleRight=Trim(Temp)
  X=GetPrivateProfileString(“SYSTEM",“ScrollTitleLeft",“龍年大發!!!",Temp,Len(Temp),lpFileName)
  m_strScrollTitleLeft=Trim(Temp)
  Form_Bouns.Caption=m_strAppTitle
  Label_CompanyTitle.Caption=m_strTitle
  EndSub
  模塊源程序:
  '用于讀取ini文件的API函數
  DeclareFunctionGetPrivateProfileStringLib“kernel32"Alias“GetPrivateProfileStringA"(ByVallpapplicationnameAsString,ByVallpKeyNameAsString,ByVallpDefaultAsString,ByVallpReturnedStringAsString,ByValnSizeAsLong,ByVallpFileNameAsString)AsLong
  PublicTypeMyName
  strNameAsString
  bIsSelectAsBoolean
  EndType
  由于程序利用的windowsini文件保存一些標題信息,因而可以方便的修改使用環境,及標題內容。
  見ini文件內容:
  [SYSTEM]
  ;應用程序的form名稱
  AppTitle=“風云電腦抽獎Test"
  ;窗口的內的標題(限9個字)
  Title=“大抽獎"
  ;右滾動的文字(僅能為如下格式:XXXX!!!)
  ScrollTitleRight=“恭喜發財!!!"
  ;左滾動的文字(僅能為如下格式:XXXX!!!)
  ScrollTitleLeft=“祝您好運!!!"
  如此一個小小的電腦抽獎程序便完成了。
  以上程序在VB6.0Windows98環境下編譯通過->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久综合伊人77777蜜臀| 欧美极品欧美精品欧美视频| 久久久精品久久久久| 亚洲色图35p| 国产精品久久av| 岛国av在线不卡| 久久视频在线观看免费| 国产z一区二区三区| 欧美日韩国产成人在线观看| 亚洲一区二区国产| 中文字幕精品在线视频| 亚洲欧洲美洲在线综合| 亚洲丝袜一区在线| 欧美最猛性xxxxx亚洲精品| 国产精品久久久久免费a∨| 日韩精品在线免费播放| 欧美最顶级丰满的aⅴ艳星| 精品在线小视频| 国产成+人+综合+亚洲欧美丁香花| 欧美国产日韩免费| 欧美色图在线视频| 国产成人综合精品| 亚洲精品99999| 成人黄色网免费| 亚洲电影成人av99爱色| 国产一区二区三区在线观看视频| 国产精品九九久久久久久久| 久久久久中文字幕2018| 97国产真实伦对白精彩视频8| 欧美日韩国产123| 亚洲精品欧美一区二区三区| 97香蕉超级碰碰久久免费软件| 欧美视频免费在线观看| 国产丝袜精品视频| 中文字幕日韩专区| 91成人天堂久久成人| 欧美最顶级丰满的aⅴ艳星| 91免费综合在线| 欧美中文字幕视频在线观看| 一本色道久久88综合亚洲精品ⅰ| xxav国产精品美女主播| 亚洲激情 国产| 色噜噜狠狠狠综合曰曰曰88av| 伊人久久综合97精品| 欧美视频第一页| www.美女亚洲精品| 欧美成人免费在线观看| 久久久久五月天| 亚洲视频在线观看| 亚洲国产精久久久久久| 97国产一区二区精品久久呦| 亚洲高清一二三区| 久久97精品久久久久久久不卡| 久久成人国产精品| 欧美黑人性猛交| 久久亚洲精品一区| 欧美黄色片免费观看| 日韩美女免费线视频| 日韩av不卡电影| 欧亚精品中文字幕| 国产精品日韩电影| 亚洲精品一区在线观看香蕉| 91天堂在线视频| 亚洲人成人99网站| 欧美成人精品激情在线观看| 精品国产欧美一区二区五十路| 欧美在线观看www| 国产大片精品免费永久看nba| 麻豆乱码国产一区二区三区| 热久久这里只有| 日韩中文视频免费在线观看| 色噜噜久久综合伊人一本| 色先锋久久影院av| 久久综合久中文字幕青草| 亚洲91精品在线观看| 国产日韩精品视频| 欧美日韩黄色大片| 久久精品免费电影| 91色视频在线观看| 亚洲激情 国产| 国产中文欧美精品| 欧美一区二区大胆人体摄影专业网站| 久久久久久久国产精品视频| 亚洲福利视频久久| 成人免费视频xnxx.com| 国产一区私人高清影院| 成人精品久久av网站| 日韩激情视频在线播放| 秋霞成人午夜鲁丝一区二区三区| 国语自产精品视频在线看一大j8| 国产精品第10页| 91成人在线观看国产| 亚洲人成在线观看| 91av成人在线| 色爱精品视频一区| 欧美日韩国产色| 日韩中文av在线| 日韩成人在线电影网| 国产精品aaaa| 美女久久久久久久久久久| 欧美性xxxxxxx| 国产精品综合不卡av| 国产精品视频xxxx| 国产盗摄xxxx视频xxx69| 久久精品国产免费观看| 亚洲人成网站999久久久综合| 国产精品中文字幕在线观看| 91情侣偷在线精品国产| 成人免费视频网址| 国产丝袜一区二区三区免费视频| 美女啪啪无遮挡免费久久网站| 中文字幕日韩有码| 少妇高潮久久77777| 国产精品v日韩精品| 国产精品成人aaaaa网站| 亚洲人成欧美中文字幕| 国产日韩精品入口| 韩国福利视频一区| 夜夜嗨av色一区二区不卡| 97人人爽人人喊人人模波多| 欧美午夜激情在线| 中文字幕在线观看日韩| 日本sm极度另类视频| 欧美日韩亚洲系列| 欧美主播福利视频| 欧美在线视频观看免费网站| 亚洲毛片一区二区| 日本一区二区在线播放| 欧美一区二区三区免费视| 欧美视频专区一二在线观看| 青青在线视频一区二区三区| 欧美限制级电影在线观看| 亚洲精品大尺度| 日韩在线视频二区| 久久久久久久成人| 日韩欧美在线观看| 亚洲欧洲一区二区三区久久| 亚洲欧美日韩久久久久久| 国产午夜精品免费一区二区三区| 亚洲一区二区三区成人在线视频精品| 成人免费xxxxx在线观看| 成人国产精品久久久| 一区二区成人精品| 精品成人国产在线观看男人呻吟| 亚洲精品国产欧美| 欧美视频第一页| 国产精品入口日韩视频大尺度| 福利微拍一区二区| 欧美体内谢she精2性欧美| 成人a级免费视频| 中文字幕日本精品| 91精品久久久久久久久| 国产日韩欧美自拍| 91亚洲va在线va天堂va国| 欧美丰满老妇厨房牲生活| 国产精品第10页| 欧美性xxxxxxxxx| 一区二区三区 在线观看视| 91在线无精精品一区二区| 日韩电影在线观看永久视频免费网站| 国产亚洲精品久久久久久牛牛| 亚洲国产欧美一区二区三区同亚洲| 中文字幕亚洲一区| 久久视频在线播放|