home *** CD-ROM | disk | FTP | other *** search
/ Mastering Visual Basic 6 / mastvb6.iso / ch_code / ch03 / stats / statsfrm.frm (.txt) < prev   
Encoding:
Visual Basic Form  |  1996-03-01  |  7.3 KB  |  240 lines

  1. VERSION 5.00
  2. Begin VB.Form StatsForm 
  3.    Caption         =   "Simple Statistics"
  4.    ClientHeight    =   3990
  5.    ClientLeft      =   60
  6.    ClientTop       =   345
  7.    ClientWidth     =   5880
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   3990
  10.    ScaleWidth      =   5880
  11.    StartUpPosition =   3  'Windows Default
  12.    Begin VB.ListBox List1 
  13.       BeginProperty Font 
  14.          Name            =   "Verdana"
  15.          Size            =   9
  16.          Charset         =   0
  17.          Weight          =   400
  18.          Underline       =   0   'False
  19.          Italic          =   0   'False
  20.          Strikethrough   =   0   'False
  21.       EndProperty
  22.       Height          =   2580
  23.       Left            =   150
  24.       TabIndex        =   1
  25.       Top             =   480
  26.       Width           =   2550
  27.    End
  28.    Begin VB.CommandButton Command1 
  29.       Caption         =   "Show Statistics"
  30.       BeginProperty Font 
  31.          Name            =   "Verdana"
  32.          Size            =   9
  33.          Charset         =   0
  34.          Weight          =   700
  35.          Underline       =   0   'False
  36.          Italic          =   0   'False
  37.          Strikethrough   =   0   'False
  38.       EndProperty
  39.       Height          =   435
  40.       Left            =   3900
  41.       TabIndex        =   0
  42.       Top             =   3360
  43.       Width           =   1800
  44.    End
  45.    Begin VB.Label Label1 
  46.       Caption         =   "Random Data Sample"
  47.       BeginProperty Font 
  48.          Name            =   "Verdana"
  49.          Size            =   9
  50.          Charset         =   0
  51.          Weight          =   400
  52.          Underline       =   0   'False
  53.          Italic          =   0   'False
  54.          Strikethrough   =   0   'False
  55.       EndProperty
  56.       Height          =   285
  57.       Left            =   120
  58.       TabIndex        =   10
  59.       Top             =   150
  60.       Width           =   2040
  61.    End
  62.    Begin VB.Label lblSTATS 
  63.       BorderStyle     =   1  'Fixed Single
  64.       BeginProperty Font 
  65.          Name            =   "Verdana"
  66.          Size            =   9
  67.          Charset         =   0
  68.          Weight          =   400
  69.          Underline       =   0   'False
  70.          Italic          =   0   'False
  71.          Strikethrough   =   0   'False
  72.       EndProperty
  73.       Height          =   315
  74.       Index           =   3
  75.       Left            =   3030
  76.       TabIndex        =   9
  77.       Top             =   2745
  78.       Width           =   2610
  79.    End
  80.    Begin VB.Label lblMAX 
  81.       Caption         =   "Max Value"
  82.       BeginProperty Font 
  83.          Name            =   "Verdana"
  84.          Size            =   9
  85.          Charset         =   0
  86.          Weight          =   400
  87.          Underline       =   0   'False
  88.          Italic          =   0   'False
  89.          Strikethrough   =   0   'False
  90.       EndProperty
  91.       Height          =   225
  92.       Left            =   3030
  93.       TabIndex        =   8
  94.       Top             =   2475
  95.       Width           =   1260
  96.    End
  97.    Begin VB.Label lblSTATS 
  98.       BorderStyle     =   1  'Fixed Single
  99.       BeginProperty Font 
  100.          Name            =   "Verdana"
  101.          Size            =   9
  102.          Charset         =   0
  103.          Weight          =   400
  104.          Underline       =   0   'False
  105.          Italic          =   0   'False
  106.          Strikethrough   =   0   'False
  107.       EndProperty
  108.       Height          =   315
  109.       Index           =   2
  110.       Left            =   3030
  111.       TabIndex        =   7
  112.       Top             =   1995
  113.       Width           =   2610
  114.    End
  115.    Begin VB.Label lblMEAN 
  116.       Caption         =   "Min Value"
  117.       BeginProperty Font 
  118.          Name            =   "Verdana"
  119.          Size            =   9
  120.          Charset         =   0
  121.          Weight          =   400
  122.          Underline       =   0   'False
  123.          Italic          =   0   'False
  124.          Strikethrough   =   0   'False
  125.       EndProperty
  126.       Height          =   225
  127.       Left            =   3030
  128.       TabIndex        =   6
  129.       Top             =   1725
  130.       Width           =   1260
  131.    End
  132.    Begin VB.Label lblSTATS 
  133.       BorderStyle     =   1  'Fixed Single
  134.       BeginProperty Font 
  135.          Name            =   "Verdana"
  136.          Size            =   9
  137.          Charset         =   0
  138.          Weight          =   400
  139.          Underline       =   0   'False
  140.          Italic          =   0   'False
  141.          Strikethrough   =   0   'False
  142.       EndProperty
  143.       Height          =   315
  144.       Index           =   1
  145.       Left            =   3030
  146.       TabIndex        =   5
  147.       Top             =   1245
  148.       Width           =   2610
  149.    End
  150.    Begin VB.Label lblSTDDEV 
  151.       Caption         =   "Deviation"
  152.       BeginProperty Font 
  153.          Name            =   "Verdana"
  154.          Size            =   9
  155.          Charset         =   0
  156.          Weight          =   400
  157.          Underline       =   0   'False
  158.          Italic          =   0   'False
  159.          Strikethrough   =   0   'False
  160.       EndProperty
  161.       Height          =   225
  162.       Left            =   3030
  163.       TabIndex        =   4
  164.       Top             =   975
  165.       Width           =   1260
  166.    End
  167.    Begin VB.Label lblSTATS 
  168.       BorderStyle     =   1  'Fixed Single
  169.       BeginProperty Font 
  170.          Name            =   "Verdana"
  171.          Size            =   9
  172.          Charset         =   0
  173.          Weight          =   400
  174.          Underline       =   0   'False
  175.          Italic          =   0   'False
  176.          Strikethrough   =   0   'False
  177.       EndProperty
  178.       Height          =   315
  179.       Index           =   0
  180.       Left            =   3030
  181.       TabIndex        =   3
  182.       Top             =   540
  183.       Width           =   2610
  184.    End
  185.    Begin VB.Label lblAVG 
  186.       Caption         =   "Average"
  187.       BeginProperty Font 
  188.          Name            =   "Verdana"
  189.          Size            =   9
  190.          Charset         =   0
  191.          Weight          =   400
  192.          Underline       =   0   'False
  193.          Italic          =   0   'False
  194.          Strikethrough   =   0   'False
  195.       EndProperty
  196.       Height          =   225
  197.       Left            =   3030
  198.       TabIndex        =   2
  199.       Top             =   270
  200.       Width           =   1260
  201.    End
  202. Attribute VB_Name = "StatsForm"
  203. Attribute VB_GlobalNameSpace = False
  204. Attribute VB_Creatable = False
  205. Attribute VB_PredeclaredId = True
  206. Attribute VB_Exposed = False
  207. Option Base 1
  208. Private Sub Command1_Click()
  209. Dim SData(99) As Double
  210. Dim Stats() As Double
  211. List1.Clear
  212. For i = 1 To 99
  213.     SData(i) = Rnd() * 10000
  214.     List1.AddItem SData(i)
  215. Stats() = ArrayStats(SData())
  216. For i = 1 To 4
  217.     lblSTATS(i - 1).Caption = Stats(i)
  218. End Sub
  219. Function ArrayStats(DataArray() As Double) As Double()
  220. Dim Res(4) As Double
  221. Sum = 0
  222. SumSquares = 0
  223. DCount = 0
  224. DataMin = 999999
  225. DataMax = -999999
  226. For i = LBound(DataArray) To UBound(DataArray)
  227.     Sum = Sum + DataArray(i)
  228.     SumSquares = SumSquares + DataArray(i) ^ 2
  229.     If DataArray(i) > DataMax Then DataMax = DataArray(i)
  230.     If DataArray(i) < DataMin Then DataMin = DataArray(i)
  231.     DCount = DCount + 1
  232. Avg = Sum / DCount
  233. StdDev = Sqr(SumSquares / DCount - Avg ^ 2)
  234. Res(1) = Avg
  235. Res(2) = StdDev
  236. Res(3) = DataMin
  237. Res(4) = DataMax
  238. ArrayStats = Res
  239. End Function
  240.