home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / VBASIC / TIME2WIN.ZIP / TIME2WIN.FRM (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1996-08-25  |  286.3 KB  |  7,220 lines

  1. VERSION 2.00
  2. Begin Form frmT2W 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "Time To WIN (Demo)"
  5.    ClientHeight    =   8115
  6.    ClientLeft      =   1410
  7.    ClientTop       =   705
  8.    ClientWidth     =   9105
  9.    Height          =   8460
  10.    Icon            =   TIME2WIN.FRX:0000
  11.    Left            =   1380
  12.    LinkTopic       =   "Form1"
  13.    ScaleHeight     =   8115
  14.    ScaleWidth      =   9105
  15.    Tag             =   "TIME2WIN"
  16.    Top             =   390
  17.    Width           =   9165
  18.    Begin PictureBox Picture1 
  19.       AutoSize        =   -1  'True
  20.       BorderStyle     =   0  'None
  21.       Height          =   480
  22.       Left            =   8520
  23.       Picture         =   TIME2WIN.FRX:0302
  24.       ScaleHeight     =   480
  25.       ScaleWidth      =   480
  26.       TabIndex        =   10
  27.       Top             =   180
  28.       Visible         =   0   'False
  29.       Width           =   480
  30.    End
  31.    Begin ComboBox Combo2 
  32.       Height          =   300
  33.       Left            =   6570
  34.       TabIndex        =   2
  35.       Top             =   450
  36.       Width           =   1185
  37.    End
  38.    Begin TextBox Text1 
  39.       Height          =   285
  40.       Left            =   3150
  41.       TabIndex        =   8
  42.       Text            =   "Text1"
  43.       Top             =   7740
  44.       Width           =   5865
  45.    End
  46.    Begin Frame Frame1 
  47.       BackColor       =   &H00C0C0C0&
  48.       Height          =   1455
  49.       Left            =   90
  50.       TabIndex        =   6
  51.       Top             =   6210
  52.       Visible         =   0   'False
  53.       Width           =   8925
  54.       Begin ListBox List2 
  55.          Height          =   1200
  56.          Left            =   4590
  57.          TabIndex        =   5
  58.          Top             =   180
  59.          Width           =   4155
  60.       End
  61.       Begin ListBox List1 
  62.          Height          =   1200
  63.          Left            =   180
  64.          TabIndex        =   4
  65.          Top             =   180
  66.          Width           =   4155
  67.       End
  68.    End
  69.    Begin CommandButton Command1 
  70.       Caption         =   "&Start demo for the selected item"
  71.       Height          =   285
  72.       Left            =   90
  73.       TabIndex        =   0
  74.       Top             =   450
  75.       Width           =   4065
  76.    End
  77.    Begin ComboBox Combo1 
  78.       Height          =   300
  79.       Left            =   90
  80.       TabIndex        =   9
  81.       Top             =   90
  82.       Width           =   7665
  83.    End
  84.    Begin Label Label2 
  85.       BackStyle       =   0  'Transparent
  86.       Caption         =   "&Text for string manipulation"
  87.       Height          =   195
  88.       Left            =   90
  89.       TabIndex        =   7
  90.       Top             =   7785
  91.       Width           =   2985
  92.    End
  93.    Begin Label Label1 
  94.       BackStyle       =   0  'Transparent
  95.       Caption         =   "&Iterations for speed test"
  96.       Height          =   195
  97.       Left            =   4320
  98.       TabIndex        =   1
  99.       Top             =   510
  100.       Width           =   2175
  101.    End
  102.    Begin Label Label3 
  103.       BackStyle       =   0  'Transparent
  104.       BorderStyle     =   1  'Fixed Single
  105.       Height          =   5340
  106.       Left            =   90
  107.       TabIndex        =   3
  108.       Top             =   810
  109.       Width           =   8925
  110.       WordWrap        =   -1  'True
  111.    End
  112. Option Explicit
  113. Option Base 1
  114. Dim Item       As Integer
  115. Dim ItemFile   As Integer
  116. Dim ItemMean   As Integer
  117. Const RandI = 32767
  118. Const RandL = 2147483647
  119. Const RandS = 1E+10!
  120. Const RandD = 1E+16
  121. Dim Tmp  As String
  122. Sub Combo2_Click ()
  123.    Item = Val(Combo2.Text)
  124.    ItemFile = Val(Combo2.Text)
  125.    ItemMean = Val(Combo2.Text)
  126. End Sub
  127. Sub Command1_Click ()
  128.    Static Flag    As Integer
  129.    If (Flag = True) Then Exit Sub
  130.    frmT2W.Tag = cGetIn(cEXEnameActiveWindow(), ".", 1)
  131.    cDisableFI Picture1
  132.    Flag = True
  133.    MousePointer = 11
  134.    Frame1.Visible = False
  135.    List1.Clear
  136.    List2.Clear
  137.    List1.FontBold = True
  138.    List2.FontBold = True
  139.    Label3.Caption = ""
  140.    DoEvents
  141.    Select Case Combo1.ListIndex
  142.       Case 0
  143.      Frame1.Visible = True
  144.      Call TestAddI
  145.       Case 1
  146.      Frame1.Visible = True
  147.      Call TestDeviationI
  148.       Case 2
  149.      Frame1.Visible = True
  150.      Call TestFillI
  151.       Case 3
  152.      Frame1.Visible = True
  153.      Call TestMaxI
  154.       Case 4
  155.      Frame1.Visible = True
  156.      Call TestMeanI
  157.       Case 5
  158.      Frame1.Visible = True
  159.      Call TestMinI
  160.       Case 6
  161.      Frame1.Visible = True
  162.      Call TestSetI
  163.       Case 7
  164.      Frame1.Visible = True
  165.      Call TestSumI
  166.       Case 8
  167.      Frame1.Visible = True
  168.      Call TestSortI
  169.       Case 9
  170.      Frame1.Visible = True
  171.      Call TestReverseSortI
  172.       Case 10
  173.      Call TestAddTime
  174.       Case 11
  175.      Call TestTimeBetween
  176.       Case 12
  177.      Call TestCheckTime
  178.       Case 13
  179.      Call TestHourTo
  180.       Case 14
  181.      Call TestWindowsIni
  182.       Case 15
  183.      Call TestWinINI1
  184.       Case 16
  185.      Call TestWinINI2
  186.       Case 17
  187.      Call TestWinINI3
  188.       Case 18
  189.      Call TestAllSubDir
  190.       Case 19
  191.      Call TestGetDriveCurrentDir
  192.       Case 20
  193.      Call TestGetDefaultCurrentDir
  194.       Case 21
  195.      Call TestChDir
  196.       Case 22
  197.      Call TestCountFiles
  198.       Case 23
  199.      Call TestCountDirectories
  200.       Case 24
  201.      Call TestKillFiles
  202.       Case 25
  203.      Call TestGetFullnameInEnv
  204.       Case 26
  205.      Call TestGetDiskSpace
  206.       Case 27
  207.      Call TestGetDiskUsed
  208.       Case 28
  209.      Call TestGetDiskFree
  210.       Case 29
  211.      Call TestKillDir
  212.       Case 30
  213.      Call TestRenameFile
  214.       Case 31
  215.      Call TestFileResetAllAttrib
  216.       Case 32
  217.      Call TestFileSetAllAttrib
  218.       Case 33
  219.      Call TestIsFileX
  220.       Case 34
  221.      Call TestSubDirectory
  222.       Case 35
  223.      Call TestUniqueFileName
  224.       Case 36
  225.      Call TestIsX
  226.       Case 37
  227.      Call TestOneCharFromLeft
  228.       Case 38
  229.      Call TestOneCharFromRight
  230.       Case 39
  231.      Call TestBlockCharFromLeft
  232.       Case 40
  233.      Call TestBlockCharFromRight
  234.       Case 41
  235.      Call TestCompact
  236.       Case 42
  237.      Call TestUncompact
  238.       Case 43
  239.      Call TestInsertChars
  240.       Case 44
  241.      Call TestRemoveBlockChar
  242.       Case 45
  243.      Call TestRemoveOneChar
  244.       Case 46
  245.      Call TestCompressTab
  246.       Case 47
  247.      Call TestExpandTab
  248.       Case 48
  249.      Call TestGiveBitPalindrome
  250.       Case 49
  251.      Call TestIsBitPalindrome
  252.       Case 50
  253.      Call TestInsertBlocksBy
  254.       Case 51
  255.      Call TestInsertBlocks
  256.       Case 52
  257.      Call TestResizeStringAndFill
  258.       Case 53
  259.      Call TestResizeString
  260.       Case 54
  261.      Call TestFilterBlocks
  262.       Case 55
  263.      Call TestFilterChars
  264.       Case 56
  265.      Call TestCheckChars
  266.       Case 57
  267.      Call TestChangeChars
  268.       Case 58
  269.      Call TestChangeCharsUntil
  270.       Case 59
  271.      Call TestReverse
  272.       Case 60
  273.      Call TestGetIn
  274.       Case 61
  275.      Call TestGetBlock
  276.       Case 62
  277.      Call TestCreateAndFill
  278.       Case 63
  279.      Call TestStringCRC32
  280.       Case 64
  281.      Call TestCompress
  282.       Case 65
  283.      Call TestEncrypt
  284.       Case 66
  285.      Call TestDecrypt
  286.       Case 67
  287.      Call TestFileCRC32
  288.       Case 68
  289.      Call TestLrc
  290.       Case 69
  291.      Call TestIsPalindrome
  292.       Case 70
  293.      Call TestCheckNumericity
  294.       Case 71
  295.      Call TestFill
  296.       Case 72
  297.      Call TestSetAllBits
  298.       Case 73
  299.      Call TestSetBit
  300.       Case 74
  301.      Call TestGetBit
  302.       Case 75
  303.      Call TestFindBitSet
  304.       Case 76
  305.      Call TestFindBitReset
  306.       Case 77
  307.      Call TestToggleBit
  308.       Case 78
  309.      Call TestToggleAllBits
  310.       Case 79
  311.      Call TestReverseAllBits
  312.       Case 80
  313.      Call TestReverseAllBitsByChar
  314.       Case 81
  315.      Call TestCreateBits
  316.       Case 82
  317.      Call TestAtoR
  318.       Case 83
  319.      Call TestRtoA
  320.       Case 84
  321.      Call TestCustomControls
  322.       Case 85
  323.      Call TestSwap
  324.       Case 86
  325.      Call TestMin
  326.       Case 87
  327.      Call TestMenuChange
  328.       Case 88
  329.      Call TestFilesSize
  330.       Case 89
  331.      Call TestClusterSize
  332.       Case 90
  333.      Call TestAscTime
  334.       Case 91
  335.      Call TestLanguage
  336.       Case 92
  337.      Call TestReadLanguage
  338.       Case 93
  339.      Call TestFileCmp
  340.       Case 94
  341.      Call TestFileCopy
  342.       Case 95
  343.      Call TestFileFilter
  344.       Case 96
  345.      Call TestFileFilterNot
  346.       Case 97
  347.      Call TestFileEncrypt
  348.       Case 98
  349.      Call TestFileCompressTab
  350.       Case 99
  351.      Call TestSplitPath
  352.       Case 100
  353.      Call TestFullPath
  354.       Case 101
  355.      Call TestMakePath
  356.       Case 102
  357.      Call TestMsgBox
  358.       Case 103
  359.      Call TestInpBox
  360.       Case 104
  361.      Call TestMixChars
  362.       Case 105
  363.      Call TestFileVersionInfo
  364.       Case 106
  365.      Call TestFileVersion
  366.       Case 107
  367.      Call TestFileLineCount
  368.       Case 108
  369.      Call TestFileToX
  370.       Case 109
  371.      Call TestBig
  372.       Case 110
  373.      Call TestBigNum
  374.       Case 111
  375.      Call TestSysMenuChange(LNG_FRENCH)
  376.       Case 112
  377.      Call TestSysMenuChange(LNG_DUTCH)
  378.       Case 113
  379.      Call TestSysMenuChange(LNG_GERMAN)
  380.       Case 114
  381.      Call TestSysMenuChange(LNG_ENGLISH)
  382.       Case 115
  383.      Call TestSysMenuChange(LNG_ITALIAN)
  384.       Case 116
  385.      Call TestSysMenuChange(LNG_SPANISH)
  386.       Case 117
  387.      Call TestFileMerge
  388.       Case 118
  389.      Call TestFileSR
  390.       Case 119
  391.      Call TestFileS
  392.       Case 120
  393.      Call TestPatternMatch
  394.       Case 121
  395.      Call TestPatternExtMatch
  396.       Case 122
  397.      Call TestMorse
  398.       Case 123
  399.      Call TestDriveType
  400.       Case 124
  401.      Call TestBaseConversion
  402.       Case 125
  403.      Call TestFileStatictics
  404.       Case 126
  405.      Call TestDAStr(True)
  406.       Case 127
  407.      Call TestDAL(True)
  408.       Case 128
  409.      Call TestDAType(True)
  410.       Case 129
  411.      Call TestDAStr(False)
  412.       Case 130
  413.      Call TestDAL(False)
  414.       Case 131
  415.      Call TestDAType(False)
  416.       Case 132
  417.      Call TestDAStr(1)
  418.       Case 133
  419.      Call TestDAL(1)
  420.       Case 134
  421.      Call TestDAType(1)
  422.       Case 135
  423.      Call TestDAStr(2)
  424.       Case 136
  425.      Call TestDAL(2)
  426.       Case 137
  427.      Call TestDAType(2)
  428.       Case 138
  429.      Call TestDAStr(3)
  430.       Case 139
  431.      Call TestDAL(3)
  432.       Case 140
  433.      Call TestDAType(3)
  434.       Case 141
  435.      Call TestDAStr(4)
  436.       Case 142
  437.      Call TestDAL(4)
  438.       Case 143
  439.      Call TestDAType(4)
  440.       Case 144
  441.      Call TestDAStr(5)
  442.       Case 145
  443.      Call TestDAL(5)
  444.       Case 146
  445.      Call TestDAType(5)
  446.       Case 147
  447.      Call TestDAStr(6)
  448.       Case 148
  449.      Call TestDAL(6)
  450.       Case 149
  451.      Call TestDAType(6)
  452.       Case 150
  453.      Call TestCloseAllEditForm
  454.       Case 151
  455.      Call TestHideAllEditForm
  456.       Case 152
  457.      Call TestHideDebugForm
  458.       Case 153
  459.      Call TestOrToken
  460.       Case 154
  461.      Call TestAndToken
  462.       Case 155
  463.      Call TestWalkThruWindow
  464.       Case 156
  465.      Call TestSerial
  466.       Case 157
  467.      Call TestTimer
  468.       Case 158
  469.      Call TestAlign
  470.       Case 159
  471.      Call TestToken
  472.       Case 160
  473.      Call TestArrayOnDisk
  474.       Case 161
  475.      Call TestArrayStringOnDisk
  476.       Case 162
  477.      Call TestCnvAE
  478.       Case 163
  479.      Call TestCombination
  480.       Case 164
  481.      Frame1.Visible = True
  482.      Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, False)
  483.       Case 165
  484.      Frame1.Visible = True
  485.      Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, False)
  486.       Case 166
  487.      Frame1.Visible = True
  488.      Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, False)
  489.       Case 167
  490.      Frame1.Visible = True
  491.      Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, False)
  492.       Case 168
  493.      Frame1.Visible = True
  494.      Call TestFileSort(SORT_ASCENDING + SORT_CASE_SENSITIVE, True)
  495.       Case 169
  496.      Frame1.Visible = True
  497.      Call TestFileSort(SORT_DESCENDING + SORT_CASE_SENSITIVE, True)
  498.       Case 170
  499.      Frame1.Visible = True
  500.      Call TestFileSort(SORT_ASCENDING + SORT_CASE_INSENSITIVE, True)
  501.       Case 171
  502.      Frame1.Visible = True
  503.      Call TestFileSort(SORT_DESCENDING + SORT_CASE_INSENSITIVE, True)
  504.       Case 172
  505.      Call TestRegistrationKey
  506.       Case 173
  507.      Call TestMD5
  508.       Case 174
  509.      Call TestProperName
  510.       Case 175
  511.      Call TestMatrixAdd
  512.       Case 176
  513.      Call TestMatrixSub
  514.       Case 177
  515.      Call TestMatrixCopy
  516.       Case 178
  517.      Call TestMatrixMul
  518.       Case 179
  519.      Call TestMatrixTranspose
  520.       Case 180
  521.      Call TestMatrixCompare
  522.       Case 181
  523.      Call Test2D
  524.       Case 182
  525.      Call Test3D
  526.       Case 183
  527.      Call TestProperName2
  528.       Case 184
  529.      Call TestDOSMediaID
  530.       Case 185
  531.      Call TestFileCompress
  532.       Case 186
  533.      Call TestStringCompress
  534.       Case 187
  535.      Frame1.Visible = True
  536.      Call TestFillIncrI
  537.       Case 188
  538.      Call TestMatrixDet
  539.       Case 189
  540.      Call TestMatrixInv
  541.       Case 190
  542.      Call TestMatrixMinCo
  543.       Case 191
  544.      Call TestMatrixSymToeplitz
  545.       Case 192
  546.      Call TestFloppyInfo
  547.       Case 193
  548.      Call TestDOSGetVolLabel
  549.       Case 194
  550.      Call TestAddTwoTimes
  551.       Case 195
  552.      Call TestMDA(True)
  553.       Case 196
  554.      Call TestMDA(False)
  555.       Case 197
  556.      Call TestMDA(1)
  557.       Case 198
  558.      Call TestMDA(2)
  559.       Case 199
  560.      Call TestMDA(3)
  561.       Case 200
  562.      Call TestMDA(4)
  563.       Case 201
  564.      Call TestMDA(5)
  565.       Case 202
  566.      Call TestMDA(6)
  567.       Case 203
  568.      Call TestDate
  569.       Case 204
  570.      Call TestVersion
  571.       Case 205
  572.      Call TestGetInR
  573.       Case 206
  574.      Call TestBigString01
  575.       Case 207
  576.      Call TestHMAStr(True)
  577.       Case 208
  578.      Call TestHMAL(True)
  579.       Case 209
  580.      Call TestHMAType(True)
  581.       Case 210
  582.      Call TestHMAStr(1)
  583.       Case 211
  584.      Call TestHMAL(1)
  585.       Case 212
  586.      Call TestHMAType(1)
  587.       Case 213
  588.      Call TestHMAStr(2)
  589.       Case 214
  590.      Call TestHMAL(2)
  591.       Case 215
  592.      Call TestHMAType(2)
  593.       Case 216
  594.      Call TestHMAStr(3)
  595.       Case 217
  596.      Call TestHMAL(3)
  597.       Case 218
  598.      Call TestHMAType(3)
  599.       Case 219
  600.      Call TestHMAStr(4)
  601.       Case 220
  602.      Call TestHMAL(4)
  603.       Case 221
  604.      Call TestHMAType(4)
  605.       Case 222
  606.      Call TestHMAStr(5)
  607.       Case 223
  608.      Call TestHMAL(5)
  609.       Case 224
  610.      Call TestHMAType(5)
  611.       Case 225
  612.      Call TestHMAStr(6)
  613.       Case 226
  614.      Call TestHMAL(6)
  615.       Case 227
  616.      Call TestHMAType(6)
  617.       Case 228
  618.      Frame1.Visible = True
  619.      Call TestArrayLB
  620.       Case 229
  621.      Call TestTime
  622.       Case 230
  623.      Call TestControl3D
  624.       Case 231
  625.      Call TestFileChangeChars
  626.       Case 232
  627.      Call TestFilesInfoInDir
  628.       Case 233
  629.      Call TestRcsCountFileDir
  630.       Case 234
  631.      Frame1.Visible = True
  632.      Call TestFilesInDirOnDisk
  633.       Case 235
  634.      Frame1.Visible = True
  635.      Call TestFilesInDirToArray
  636.       Case 236
  637.      Call TestRcsFilesSize
  638.       Case 237
  639.      Call TestMnuLanguage
  640.       Case 238
  641.      Call TestSpellMoney
  642.       Case 239
  643.      Call TestFraction
  644.       Case 240
  645.      Call TestRndX
  646.       Case 241
  647.      Call TestStringSAR
  648.       Case 242
  649.      Call TestTruncatePath
  650.       Case 243
  651.      Call TestSysMenuChange(LNG_CATALAN)
  652.      Call TestLanguage
  653.      SendKeys "% "
  654.       Case 244
  655.      Call TestSysMenuChange(LNG_POLISH)
  656.      Call TestLanguage
  657.      SendKeys "% "
  658.       Case 245
  659.      Frame1.Visible = True
  660.      Call TestCountI
  661.       Case 246
  662.      Frame1.Visible = True
  663.      Call TestSearchI
  664.       Case 247
  665.      Call TestFileUUCP
  666.       Case 248
  667.      Call TestGZIP
  668.       Case 249
  669.      Call TestGZIPStringCompress
  670.       Case 250
  671.      Call TestKillDirs
  672.       Case 251
  673.      Call TestRUBYencrypt(RUBY_MODE_MINIMUM)
  674.       Case 252
  675.      Call TestRUBYencryptFile(RUBY_MODE_MINIMUM)
  676.       Case 253
  677.      Call TestRUBYencrypt(RUBY_MODE_PORTABLE_SAFE)
  678.       Case 254
  679.      Call TestRUBYencryptFile(RUBY_MODE_PORTABLE_SAFE)
  680.       Case 255
  681.      Call TestRUBYencrypt(RUBY_MODE_FORT_KNOX)
  682.       Case 256
  683.      Call TestRUBYencryptFile(RUBY_MODE_FORT_KNOX)
  684.       Case 257
  685.      Call TestSysMenuChange(LNG_NORVEGIAN)
  686.      Call TestLanguage
  687.      SendKeys "% "
  688.       Case 258
  689.      Call TestGetBitValue
  690.       Case 259
  691.      Call TestSetBitValue
  692.       Case 260
  693.      Call TestB2I
  694.       Case 261
  695.      Call TestToHexa
  696.       Case 262
  697.      Call TestToZ9
  698.    End Select
  699.    MousePointer = 0
  700.    Flag = False
  701.    cEnableFI Picture1
  702. End Sub
  703. Sub CreateFile ()
  704.    Dim j       As Integer
  705.    j = cFileResetAllAttrib("TEST.DAT")
  706.    Close #1
  707.    Open "TEST.DAT" For Output As #1
  708.    Print #1, "This is a file test for time2win.dll"
  709.    Print #1, "This is a file test for time2win.dll"
  710.    Print #1, "This is a file test for time2win.dll"
  711.    Print #1, "This is a file test for time2win.dll"
  712.    Print #1, "This is a file test for time2win.dll"
  713.    Print #1, "This is a file test for time2win.dll"
  714.    Print #1, "This is a file test for time2win.dll"
  715.    Close #1
  716.    j = cFileResetAllAttrib("TEST.DAT")
  717. End Sub
  718. Sub DefCnv ()
  719.    Dim i       As Integer
  720.    Dim j       As Integer
  721.    Dim Tmp     As String
  722.    Close #1
  723.    Open "c:\tmp\tmp1.Tmp" For Input Shared As #1
  724.    Close #2
  725.    Open "c:\tmp\tmp.Tmp" For Output Shared As #2
  726.    i = 0
  727.    While Not EOF(1)
  728.       Line Input #1, Tmp
  729.       i = i + 1
  730.       Tmp = cCompress(Tmp)
  731.       Print #2, Tab(10); cGetIn(Tmp, "@", 1);
  732.       Print #2, Tab(60); "@" & i
  733.    Wend
  734.    Close #1
  735.    Close #2
  736. End Sub
  737. Sub Form_DblClick ()
  738.    'Call FileProcessTest
  739. End Sub
  740. Sub Form_Load ()
  741.    Combo2.AddItem "1"
  742.    Combo2.AddItem "5"
  743.    Combo2.AddItem "10"
  744.    Combo2.AddItem "50"
  745.    Combo2.AddItem "100"
  746.    Combo2.AddItem "500"
  747.    Combo2.AddItem "1000"
  748.    Combo2.AddItem "5000"
  749.    Combo1.AddItem "Array routines : Add"
  750.    Combo1.AddItem "Array routines : Deviation"
  751.    Combo1.AddItem "Array routines : Fill"
  752.    Combo1.AddItem "Array routines : Max"
  753.    Combo1.AddItem "Array routines : Mean"
  754.    Combo1.AddItem "Array routines : Min"
  755.    Combo1.AddItem "Array routines : Set"
  756.    Combo1.AddItem "Array routines : Sum"
  757.    Combo1.AddItem "Array routines : Sort"
  758.    Combo1.AddItem "Array routines : ReverseSort"
  759.    Combo1.AddItem "Time routines : AddTime"
  760.    Combo1.AddItem "Time routines : TimeBetween"
  761.    Combo1.AddItem "Time routines : CheckTime"
  762.    Combo1.AddItem "Time routines : HourTo"
  763.    Combo1.AddItem "WIN.INI routines : some separators"
  764.    Combo1.AddItem "WIN.INI routines : devices"
  765.    Combo1.AddItem "WIN.INI routines : printerports"
  766.    Combo1.AddItem "WIN.INI routines : winsection (windows section)"
  767.    Combo1.AddItem "Files routines : AllSubDirectories"
  768.    Combo1.AddItem "Files routines : GetDriveCurrentDir"
  769.    Combo1.AddItem "Files routines : GetDefaultCurrentDir"
  770.    Combo1.AddItem "Files routines : ChDir"
  771.    Combo1.AddItem "Files routines : CountFiles"
  772.    Combo1.AddItem "Files routines : CountDirectories"
  773.    Combo1.AddItem "Files routines : KillFiles"
  774.    Combo1.AddItem "Files routines : GetFullnameInEnv"
  775.    Combo1.AddItem "Files routines : GetDiskSpace"
  776.    Combo1.AddItem "Files routines : GetDiskUsed"
  777.    Combo1.AddItem "Files routines : GetDiskFree"
  778.    Combo1.AddItem "Files routines : KillDir"
  779.    Combo1.AddItem "Files routines : RenameFile"
  780.    Combo1.AddItem "Files routines : FileResetAllAttrib"
  781.    Combo1.AddItem "Files routines : FileSetAllAttrib"
  782.    Combo1.AddItem "Files routines : IsFileX"
  783.    Combo1.AddItem "Files routines : SubDirectory"
  784.    Combo1.AddItem "Files routines : UniqueFileName"
  785.    Combo1.AddItem "String routines : IsX"
  786.    Combo1.AddItem "String routines : OneCharFromLeft"
  787.    Combo1.AddItem "String routines : OneCharFromRight"
  788.    Combo1.AddItem "String routines : BlockCharFromLeft"
  789.    Combo1.AddItem "String routines : BlockCharFromRight"
  790.    Combo1.AddItem "String routines : Compact"
  791.    Combo1.AddItem "String routines : Uncompact"
  792.    Combo1.AddItem "String routines : InsertChars"
  793.    Combo1.AddItem "String routines : RemoveBlockChar"
  794.    Combo1.AddItem "String routines : RemoveOneChar"
  795.    Combo1.AddItem "String routines : CompressTab"
  796.    Combo1.AddItem "String routines : ExpandTab"
  797.    Combo1.AddItem "String routines : GiveBitPalindrome"
  798.    Combo1.AddItem "String routines : IsBitPalindrome"
  799.    Combo1.AddItem "String routines : InsertBlocksBy"
  800.    Combo1.AddItem "String routines : InsertBlocks"
  801.    Combo1.AddItem "String routines : ResizeStringAndFill"
  802.    Combo1.AddItem "String routines : ResizeString"
  803.    Combo1.AddItem "String routines : FilterBlocks"
  804.    Combo1.AddItem "String routines : FilterChars"
  805.    Combo1.AddItem "String routines : CheckChars"
  806.    Combo1.AddItem "String routines : ChangeChars"
  807.    Combo1.AddItem "String routines : ChangeCharsUntil"
  808.    Combo1.AddItem "String routines : Reverse"
  809.    Combo1.AddItem "String routines : GetIn"
  810.    Combo1.AddItem "String routines : GetBlock"
  811.    Combo1.AddItem "String routines : CreateAndFill"
  812.    Combo1.AddItem "String routines : StringCRC32"
  813.    Combo1.AddItem "String routines : Compress"
  814.    Combo1.AddItem "String routines : Encrypt"
  815.    Combo1.AddItem "String routines : Decrypt"
  816.    Combo1.AddItem "Files  routines : FileCRC32"
  817.    Combo1.AddItem "String routines : Lrc"
  818.    Combo1.AddItem "String routines : IsPalindrome"
  819.    Combo1.AddItem "String routines : CheckNumericity"
  820.    Combo1.AddItem "String routines : Fill"
  821.    Combo1.AddItem "String routines : SetAllBits"
  822.    Combo1.AddItem "String routines : SetBit"
  823.    Combo1.AddItem "String routines : GetBit"
  824.    Combo1.AddItem "String routines : FindBitSet"
  825.    Combo1.AddItem "String routines : FindBitReset"
  826.    Combo1.AddItem "String routines : ToggleBit"
  827.    Combo1.AddItem "String routines : ToggleAllBits"
  828.    Combo1.AddItem "String routines : ReverseAllBits"
  829.    Combo1.AddItem "String routines : ReverseAllBitsByChar"
  830.    Combo1.AddItem "String routines : CreateBits"
  831.    Combo1.AddItem "String routines : ArabicToRoman"
  832.    Combo1.AddItem "String routines : RomanToArabic"
  833.    Combo1.AddItem "Custom controls"
  834.    Combo1.AddItem "Swap routines"
  835.    Combo1.AddItem "Min,Max routines"
  836.    Combo1.AddItem "System menu change : French"
  837.    Combo1.AddItem "Files routines : FilesSize, FilesSizeOnDisk, FilesSlack"
  838.    Combo1.AddItem "Files routines : GetClusterSize"
  839.    Combo1.AddItem "Language routines : GetAscTime"
  840.    Combo1.AddItem "Language routines : Days and months name"
  841.    Combo1.AddItem "Language routines : Read Control Language"
  842.    Combo1.AddItem "File routines : Compare"
  843.    Combo1.AddItem "File routines : File Copy"
  844.    Combo1.AddItem "File routines : File Filter"
  845.    Combo1.AddItem "File routines : File Filter Not"
  846.    Combo1.AddItem "File routines : File Encrypt/Decrypt"
  847.    Combo1.AddItem "File routines : File Compress/Expand Tab"
  848.    Combo1.AddItem "File routines : SplitPath"
  849.    Combo1.AddItem "File routines : FullPath"
  850.    Combo1.AddItem "File routines : MakePath"
  851.    Combo1.AddItem "Language routines : Multi-Language & TimeOut Message Box"
  852.    Combo1.AddItem "Language routines : Multi-Language Input Box"
  853.    Combo1.AddItem "String routines : MixChars"
  854.    Combo1.AddItem "Windows Specific Routines : FileVersionInfo"
  855.    Combo1.AddItem "Windows Specific Routines : FileVersion"
  856.    Combo1.AddItem "File routines : FileLineCount"
  857.    Combo1.AddItem "File routines : FileToLower/FileToUpper"
  858.    Combo1.AddItem "Misc. routines : Big Double"
  859.    Combo1.AddItem "Misc. routines : Big Numbers"
  860.    Combo1.AddItem "System menu change (one call) : French"
  861.    Combo1.AddItem "System menu change (one call) : Dutch"
  862.    Combo1.AddItem "System menu change (one call) : German"
  863.    Combo1.AddItem "System menu change (one call) : English"
  864.    Combo1.AddItem "System menu change (one call) : Italian"
  865.    Combo1.AddItem "System menu change (one call) : Spanish"
  866.    Combo1.AddItem "File routines : FileMerge"
  867.    Combo1.AddItem "File routines : FileSearchAndReplace"
  868.    Combo1.AddItem "File routines : FileSearch, FileSearchCount"
  869.    Combo1.AddItem "String routines : PatternMatch"
  870.    Combo1.AddItem "String routines : PatternExtMatch"
  871.    Combo1.AddItem "Misc. routines : Morse"
  872.    Combo1.AddItem "DOS routines : GetDriveType"
  873.    Combo1.AddItem "Misc. routines : Base conversion"
  874.    Combo1.AddItem "File routines : FileStatistics"
  875.    Combo1.AddItem "Disk Array routines : (create) String"
  876.    Combo1.AddItem "Disk Array routines : (create) Long"
  877.    Combo1.AddItem "Disk Array routines : (create) Type'd (b.e. : tagTASKENTRY)"
  878.    Combo1.AddItem "Disk Array routines : (use) String"
  879.    Combo1.AddItem "Disk Array routines : (use) Long"
  880.    Combo1.AddItem "Disk Array routines : (use) Type'd (b.e. : tagTASKENTRY)"
  881.    Combo1.AddItem "Disk Array routines : (clear) String"
  882.    Combo1.AddItem "Disk Array routines : (clear) Long"
  883.    Combo1.AddItem "Disk Array routines : (clear) Type'd (b.e. : tagTASKENTRY)"
  884.    Combo1.AddItem "Disk Array routines : (clear sheet 2) String"
  885.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Long"
  886.    Combo1.AddItem "Disk Array routines : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  887.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) String"
  888.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Long"
  889.    Combo1.AddItem "Disk Array routines : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  890.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) String"
  891.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Long"
  892.    Combo1.AddItem "Disk Array routines : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  893.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) String"
  894.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Long"
  895.    Combo1.AddItem "Disk Array routines : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  896.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) String"
  897.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Long"
  898.    Combo1.AddItem "Disk Array routines : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  899.    Combo1.AddItem "VB Management routines : CloseAllEditForm"
  900.    Combo1.AddItem "VB Management routines : HideAllEditForm, UnHideAllEditForm"
  901.    Combo1.AddItem "VB Management routines : HideDebugForm, UnHideDebugForm"
  902.    Combo1.AddItem "String routines : OrToken, OrTokenIn"
  903.    Combo1.AddItem "String routines : AndToken, AndTokenIn"
  904.    Combo1.AddItem "Windows Specific Routines : WalkThruWindow"
  905.    Combo1.AddItem "Serialization : IsSerial, SerialGet, SerialPut, SerialInc"
  906.    Combo1.AddItem "Timer functions : Extended Timer"
  907.    Combo1.AddItem "String routines : Align"
  908.    Combo1.AddItem "String routines : Token"
  909.    Combo1.AddItem "Array routines : ArrayOnDisk"
  910.    Combo1.AddItem "Array routines : ArrayStringOnDisk"
  911.    Combo1.AddItem "String routines : cCnvASCIItoEBCDIC, cCnvEBCDICtoASCII"
  912.    Combo1.AddItem "Misc. routines : Combination C(n,m)"
  913.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record ended with cr/lf)"
  914.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record ended with cr/lf)"
  915.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record ended with cr/lf)"
  916.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record ended with cr/lf)"
  917.    Combo1.AddItem "File routines : FileSort (ASC and CS) (record size 3)"
  918.    Combo1.AddItem "File routines : FileSort (DSC and CS) (record size 3)"
  919.    Combo1.AddItem "File routines : FileSort (ASC and NS) (record size 3)"
  920.    Combo1.AddItem "File routines : FileSort (DSC and NS) (record size 3)"
  921.    Combo1.AddItem "Misc. routines : RegistrationKey"
  922.    Combo1.AddItem "Misc. routines : HashMD5"
  923.    Combo1.AddItem "String routines : ProperName"
  924.    Combo1.AddItem "Matrix routines : MatrixAdd"
  925.    Combo1.AddItem "Matrix routines : MatrixSub"
  926.    Combo1.AddItem "Matrix routines : MatrixCopy"
  927.    Combo1.AddItem "Matrix routines : MatrixMul"
  928.    Combo1.AddItem "Matrix routines : MatrixTranspose"
  929.    Combo1.AddItem "Matrix routines : MatrixCompare"
  930.    Combo1.AddItem "2-D geometry"
  931.    Combo1.AddItem "3-D geometry"
  932.    Combo1.AddItem "String routines : ProperName2"
  933.    Combo1.AddItem "DOS routines : DOSMediaID"
  934.    Combo1.AddItem "File routines : File Compress/Expand"
  935.    Combo1.AddItem "String routines : String Compress/Expand"
  936.    Combo1.AddItem "Array routines : FillIncrI"
  937.    Combo1.AddItem "Matrix routines : MatrixDet"
  938.    Combo1.AddItem "Matrix routines : MatrixInv"
  939.    Combo1.AddItem "Matrix routines : MatrixMinor,MatrixCoFactor"
  940.    Combo1.AddItem "Matrix routines : MatrixSymToeplitz"
  941.    Combo1.AddItem "DOS routines : FloppyInfo"
  942.    Combo1.AddItem "DOS routines : DOSGetVolumeLabel"
  943.    Combo1.AddItem "Time routines : AddTwoTimes"
  944.    Combo1.AddItem "Multiple Disk Array routines : (create)"
  945.    Combo1.AddItem "Multiple Disk Array routines : (use)"
  946.    Combo1.AddItem "Multiple Disk Array routines : (clear)"
  947.    Combo1.AddItem "Multiple Disk Array routines : (clear sheet 2)"
  948.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in sheet 1)"
  949.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in sheet 1)"
  950.    Combo1.AddItem "Multiple Disk Array routines : (clear last row in all sheets)"
  951.    Combo1.AddItem "Multiple Disk Array routines : (clear last col in all sheets)"
  952.    Combo1.AddItem "Date routines : DayOfWeek, DayOfYear, WeekOfYear, ..."
  953.    Combo1.AddItem "Misc. routines : GetVersion"
  954.    Combo1.AddItem "String routines : GetInR, GetInPart, GetInPartR"
  955.    Combo1.AddItem "Huge String"
  956.    Combo1.AddItem "Huge Memory Array : (create) String"
  957.    Combo1.AddItem "Huge Memory Array : (create) Long"
  958.    Combo1.AddItem "Huge Memory Array : (create) Type'd (b.e. : tagTASKENTRY)"
  959.    Combo1.AddItem "Huge Memory Array : (clear) String"
  960.    Combo1.AddItem "Huge Memory Array : (clear) Long"
  961.    Combo1.AddItem "Huge Memory Array : (clear) Type'd (b.e. : tagTASKENTRY)"
  962.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) String"
  963.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Long"
  964.    Combo1.AddItem "Huge Memory Array : (clear sheet 2) Type'd (b.e. : tagTASKENTRY)"
  965.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) String"
  966.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Long"
  967.    Combo1.AddItem "Huge Memory Array : (clear last row in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  968.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) String"
  969.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Long"
  970.    Combo1.AddItem "Huge Memory Array : (clear last col in sheet 1) Type'd (b.e. : tagTASKENTRY)"
  971.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) String"
  972.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Long"
  973.    Combo1.AddItem "Huge Memory Array : (clear last row in all sheets) Type'd (b.e. : tagTASKENTRY)"
  974.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) String"
  975.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Long"
  976.    Combo1.AddItem "Huge Memory Array : (clear last col in all sheets) Type'd (b.e. : tagTASKENTRY)"
  977.    Combo1.AddItem "Array routines : ArrayToListBox"
  978.    Combo1.AddItem "Time routines : TimeToScalar, ScalarToTime"
  979.    Combo1.AddItem "3D routines : Ctl3D, 3D, GetCtlRect, GetCtlRectTwips"
  980.    Combo1.AddItem "File routines : FileChangeChars"
  981.    Combo1.AddItem "File routines : FilesInfoInDir"
  982.    Combo1.AddItem "File routines : RcsCountFileDir"
  983.    Combo1.AddItem "File routines : FilesInDirOnDisk"
  984.    Combo1.AddItem "File routines : FilesInDirToArray"
  985.    Combo1.AddItem "Files routines : rcsFilesSize, rcsFilesSizeOnDisk, rcsFilesSlack"
  986.    Combo1.AddItem "Language routines : Read Menu Language"
  987.    Combo1.AddItem "String routines : SpellMoney"
  988.    Combo1.AddItem "Misc. routines : Fraction"
  989.    Combo1.AddItem "Misc. routines : Rndx"
  990.    Combo1.AddItem "String routines : StringSAR"
  991.    Combo1.AddItem "File routines : TruncatePath"
  992.    Combo1.AddItem "System menu change (one call) : Catalan"
  993.    Combo1.AddItem "System menu change (one call) : Polish"
  994.    Combo1.AddItem "Array routines : Count"
  995.    Combo1.AddItem "Array routines : Search"
  996.    Combo1.AddItem "File routines : FileUUCP"
  997.    Combo1.AddItem "File routines : GZIP File Compress/Expand"
  998.    Combo1.AddItem "String routines : GZIP String Compress/Expand"
  999.    Combo1.AddItem "Files routines : KillDirs"
  1000.    Combo1.AddItem "String routines : RUBYencrypt - RUBYdecrypt (minimum)"
  1001.    Combo1.AddItem "File routines : RUBYencryptFile - RUBYdecryptFile (minimum)"
  1002.    Combo1.AddItem "String routines : RUBYencrypt - RUBYdecrypt (portable safe)"
  1003.    Combo1.AddItem "File routines : RUBYencryptFile - RUBYdecryptFile (portable safe)"
  1004.    Combo1.AddItem "String routines : RUBYencrypt - RUBYdecrypt (FORT KNOX)"
  1005.    Combo1.AddItem "File routines : RUBYencryptFile - RUBYdecryptFile (FORT KNOX)"
  1006.    Combo1.AddItem "System menu change (one call) : Norvegian"
  1007.    Combo1.AddItem "String routines : GetBitX (5 functions)"
  1008.    Combo1.AddItem "String routines : SetBitX (5 functions)"
  1009.    Combo1.AddItem "String routines : B2I/B2L/I2B/L2B"
  1010.    Combo1.AddItem "String routines : FromHexa/ToHexa"
  1011.    Combo1.AddItem "String routines : FromZ9/ToZ9"
  1012.    Combo1.ListIndex = Combo1.ListCount - 1
  1013.    Combo2.ListIndex = 2
  1014.    Item = Val(Combo2.Text)
  1015.    ItemFile = Val(Combo2.Text)
  1016.    ItemMean = Val(Combo2.Text)
  1017.    Text1.Text = "A/BC/DEF/GHIJ"
  1018. End Sub
  1019. Sub Form_Paint ()
  1020.    Dim i As Integer
  1021.    Dim n As Integer
  1022.    n = frmT2W.Controls.Count - 1
  1023.    For i = 0 To n
  1024.       If ((frmT2W.Controls(i).Visible = True) And (frmT2W.Controls(i).Enabled = True)) Then
  1025.      Call c3D(frmT2W.Controls(i), 0, 0)
  1026.       End If
  1027.    Next i
  1028. End Sub
  1029. Sub Form_Unload (Cancel As Integer)
  1030.    Call cShowWindow(frmT2W.hWnd, 1, 125)
  1031. End Sub
  1032. Sub Label2_DblClick ()
  1033.    Dim i       As Integer
  1034.    Dim n       As Integer
  1035.    n = Combo1.ListCount - 1
  1036.    For i = 0 To n
  1037.       Combo1.ListIndex = i
  1038.       DoEvents
  1039.       Call Command1_Click
  1040.       DoEvents
  1041.    Next i
  1042. End Sub
  1043. Sub Test2D ()
  1044.    Dim Tmp1       As String
  1045.    Dim i          As Integer
  1046.    Dim j          As Integer
  1047.    Dim k          As Double
  1048.    Dim u          As tagVECTOR2
  1049.    Dim v          As tagVECTOR2
  1050.    Dim w          As tagVECTOR2
  1051.    u.x = 1
  1052.    u.y = 1
  1053.    v.x = 3
  1054.    v.y = 3
  1055.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & ")" & Chr$(13) & Chr$(13)
  1056.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & ")" & Chr$(13) & Chr$(13)
  1057.    Call cV2Add(u, v, w)
  1058.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1059.    Call cV2Sub(u, v, w)
  1060.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1061.    Call cV2Mul(u, v, w)
  1062.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1063.    k = cV2Dot(u, v)
  1064.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & Chr$(13) & Chr$(13)
  1065.    k = cV2Length(v)
  1066.    Tmp1 = Tmp1 & "Length (v) is " & k & Chr$(13) & Chr$(13)
  1067.    k = cV2SegmentLength(u, v)
  1068.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & Chr$(13) & Chr$(13)
  1069.    Call cV2Normalized(u)
  1070.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & ")" & Chr$(13) & Chr$(13)
  1071.           
  1072.    cStartBasisTimer
  1073.    For i = 1 To ItemFile
  1074.       Call cV2Add(u, v, w)
  1075.    Next i
  1076.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1077.    Label3.Caption = Tmp1
  1078. End Sub
  1079. Sub Test3D ()
  1080.    Dim Tmp1       As String
  1081.    Dim i          As Integer
  1082.    Dim j          As Integer
  1083.    Dim k          As Double
  1084.    Dim u          As tagVECTOR3
  1085.    Dim v          As tagVECTOR3
  1086.    Dim w          As tagVECTOR3
  1087.    u.x = 1
  1088.    u.y = 1
  1089.    u.z = 1
  1090.    v.x = 3
  1091.    v.y = 3
  1092.    v.z = 3
  1093.    Tmp1 = Tmp1 & "First vector (u) is (" & u.x & "," & u.y & "," & u.z & ")" & Chr$(13) & Chr$(13)
  1094.    Tmp1 = Tmp1 & "Second vector (v) is (" & v.x & "," & v.y & "," & v.z & ")" & Chr$(13) & Chr$(13)
  1095.    Call cV3Add(u, v, w)
  1096.    Tmp1 = Tmp1 & "Sum of (u)+(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & Chr$(13) & Chr$(13)
  1097.    Call cV3Sub(u, v, w)
  1098.    Tmp1 = Tmp1 & "Sub of (u)-(v) = (w) is (" & w.x & "," & w.y & "," & w.z & ")" & Chr$(13) & Chr$(13)
  1099.    Call cV3Mul(u, v, w)
  1100.    Tmp1 = Tmp1 & "Mul of (u).(v) = (w) is (" & w.x & "," & w.y & ")" & Chr$(13) & Chr$(13)
  1101.    k = cV3Dot(u, v)
  1102.    Tmp1 = Tmp1 & "Dot of (u),(v) is " & k & Chr$(13) & Chr$(13)
  1103.    k = cV3Length(v)
  1104.    Tmp1 = Tmp1 & "Length (v) is " & k & Chr$(13) & Chr$(13)
  1105.    k = cV3SegmentLength(u, v)
  1106.    Tmp1 = Tmp1 & "Segmented Length from (u) to (v) is " & k & Chr$(13) & Chr$(13)
  1107.    Call cV3Normalized(u)
  1108.    Tmp1 = Tmp1 & "Normalization of (u) is (" & u.x & "," & u.y & "," & u.z & ")" & Chr$(13) & Chr$(13)
  1109.           
  1110.    cStartBasisTimer
  1111.    For i = 1 To ItemFile
  1112.       Call cV3Add(u, v, w)
  1113.    Next i
  1114.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1115.    Label3.Caption = Tmp1
  1116. End Sub
  1117. Sub TestAddI ()
  1118.    Dim title      As String
  1119.    Dim Tmp        As String
  1120.    Dim Tmp1       As String
  1121.    Dim Tmp2       As String
  1122.    Dim i          As Integer
  1123.    Dim j          As Integer
  1124.    Dim m          As Double
  1125.    ReDim array(ItemMean) As Integer
  1126.    Randomize Timer
  1127.    For i = LBound(array) To UBound(array)
  1128.       array(i) = 0
  1129.       List1.AddItem "" & array(i)
  1130.    Next i
  1131.    j = cAddI(array(), 10)
  1132.    For i = LBound(array) To UBound(array)
  1133.       List2.AddItem "" & array(i)
  1134.    Next i
  1135.    Tmp1 = Tmp1 & "Add 10 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  1136.    Tmp1 = Tmp1 & "Add 10 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  1137.    cStartBasisTimer
  1138.    For i = 1 To ItemFile
  1139.       j = cAddI(array(), 1)
  1140.    Next i
  1141.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1142.    Label3.Caption = Tmp1
  1143. End Sub
  1144. Sub TestAddTime ()
  1145.    Dim title      As String
  1146.    Dim Tmp        As String
  1147.    Dim Tmp1       As String
  1148.    Dim Tmp2       As String
  1149.    Dim i          As Integer
  1150.    Dim j          As Integer
  1151.    Tmp1 = "The time 10:00 + 02:01 is " & cIntoHour(cAddTime(600 + 121)) & Chr$(13) & Chr$(13)
  1152.    Tmp1 = Tmp1 & "The time 23:58 + 01:02 is " & cIntoHour(cAddTime(1438 + 62)) & Chr$(13) & Chr$(13)
  1153.    cStartBasisTimer
  1154.    For i = 1 To Item
  1155.       j = cAddTime(1439 + 2)
  1156.    Next i
  1157.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1158.    Label3.Caption = Tmp1
  1159. End Sub
  1160. Sub TestAddTwoTimes ()
  1161.    Dim title      As String
  1162.    Dim Tmp        As String
  1163.    Dim Tmp1       As String
  1164.    Dim Tmp2       As String
  1165.    Dim i          As Integer
  1166.    Dim j          As Integer
  1167.    Tmp1 = "The time '10:00:58' + '02:01:02' is '" & cAddTwoTimes("10:00:58", "02:01:02") & "'" & Chr$(13) & Chr$(13)
  1168.    Tmp1 = Tmp1 & "The time '23:58:58' + '01:02:01' is '" & cAddTwoTimes("23:58:58", "01:02:01") & "'" & Chr$(13) & Chr$(13)
  1169.    cStartBasisTimer
  1170.    For i = 1 To Item
  1171.       Tmp2 = cAddTwoTimes("23:58:58", "01:02:01")
  1172.    Next i
  1173.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1174.    Label3.Caption = Tmp1
  1175. End Sub
  1176. Sub TestAlign ()
  1177.    Dim title      As String
  1178.    Dim Tmp        As String
  1179.    Dim Tmp1       As String
  1180.    Dim Tmp2       As String
  1181.    Dim i          As Integer
  1182.    Dim j          As Integer
  1183.    Tmp = "TIME TO WIN"
  1184.    title = "Left Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1185.    Tmp1 = title & cAlign(Tmp, -1, 30) & "'" & Chr$(13) & Chr$(13)
  1186.    title = "Center Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1187.    Tmp1 = Tmp1 & title & cAlign(Tmp, 0, 30) & "'" & Chr$(13) & Chr$(13)
  1188.    title = "Right Align of [" & Tmp & "] is " & Chr$(13) & "'"
  1189.    Tmp1 = Tmp1 & title & cAlign(Tmp, 1, 30) & "'" & Chr$(13) & Chr$(13)
  1190.    j = cTimerOpen()
  1191.    i = cTimerStart(j)
  1192.    For i = 1 To Item
  1193.       Tmp2 = cAlign(Tmp, 0, 30)
  1194.    Next i
  1195.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cTimerRead(j) & " ms"
  1196.    i = cTimerClose(j)
  1197.    Label3.Caption = Tmp1
  1198. End Sub
  1199. Sub TestAllSubDir ()
  1200.    Dim n       As Integer
  1201.    Dim Tmp     As String
  1202.    n = -1
  1203.    Tmp = cAllSubDirectories("C:", n)
  1204.    Label3.Caption = "Directories founden on drive C are " & n & Chr$(13) & Tmp
  1205. End Sub
  1206. Sub TestAndToken ()
  1207.    Dim title      As String
  1208.    Dim Tmp        As String
  1209.    Dim Tmp1       As String
  1210.    Dim Tmp2       As String
  1211.    Dim i          As Integer
  1212.    Dim j          As Integer
  1213.    Tmp = "FOX|OVER|THE"
  1214.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1215.    Tmp1 = "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & Chr$(13) & Chr$(13)
  1216.    Tmp = "quick|jumps|the"
  1217.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1218.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndToken(Tmp2, Tmp), "ok", "ko") & Chr$(13) & Chr$(13)
  1219.    Tmp = "FOX\OVER\THE"
  1220.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1221.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1222.    Tmp = "quick\jumps\the"
  1223.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1224.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1225.    Tmp = "FOX/OVER/THE"
  1226.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1227.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1228.    Tmp = "quick\JUMPS\the"
  1229.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  1230.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1231.    Tmp = LCase$("quick\jumps\THE")
  1232.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  1233.    Tmp1 = Tmp1 & "All tokens '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cAndTokenIn(Tmp2, Tmp, "\"), "ok", "ko") & Chr$(13) & Chr$(13)
  1234.    cStartBasisTimer
  1235.    For i = 1 To Item
  1236.       j = cAndToken(Tmp2, Tmp)
  1237.    Next i
  1238.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1239.    Label3.Caption = Tmp1
  1240. End Sub
  1241. Sub TestArrayLB ()
  1242.    Dim title      As String
  1243.    Dim Tmp        As String
  1244.    Dim Tmp1       As String
  1245.    Dim Tmp2       As String
  1246.    Dim i          As Long
  1247.    Dim j          As Long
  1248.    Dim n1         As Long
  1249.    Dim n2         As Long
  1250.    Dim m1         As Integer
  1251.    Dim m2         As Integer
  1252.    m1 = -99
  1253.    m2 = 99
  1254.    ReDim AD(m1 To m2)         As tagVARSTRING
  1255.    Randomize Timer
  1256.    ' initialization because we use ReDim without Global definition
  1257.    For i = m1 To m2
  1258.       If ((i Mod 2) = 0) Then
  1259.      AD(i).Contents = Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1260.       Else
  1261.      AD(i).Contents = Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd)) + Chr$(64 + Int(26 * Rnd))
  1262.       End If
  1263.    Next i
  1264.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ") has been created and initialized." & Chr$(13)
  1265.    j = cArrayToListBox(List1.hWnd, AD())
  1266.    j = cArrayToListBox(List2.hWnd, AD())
  1267.    cStartBasisTimer
  1268.    For i = 1 To Item
  1269.       j = cArrayToListBox(List1.hWnd, AD())
  1270.    Next i
  1271.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1272.    Label3.Caption = Tmp1
  1273. End Sub
  1274. Sub TestArrayOnDisk ()
  1275.    Dim title      As String
  1276.    Dim Tmp        As String
  1277.    Dim Tmp1       As String
  1278.    Dim Tmp2       As String
  1279.    Dim i          As Long
  1280.    Dim j          As Long
  1281.    Dim n1         As Long
  1282.    Dim n2         As Long
  1283.    Dim m1         As Integer
  1284.    Dim m2         As Integer
  1285.    m1 = -9999
  1286.    m2 = 9999
  1287.    ReDim AD(m1 To m2, 0 To 1)   As Long
  1288.    Randomize Timer
  1289.    n1 = Int(1234567890 * Rnd)
  1290.    n2 = -Int(987654321 * Rnd)
  1291.    ' initialization because we use ReDim without Global definition
  1292.    For i = m1 To m2
  1293.       AD(i, 0) = n1
  1294.       AD(i, 1) = n2
  1295.    Next i
  1296.    Tmp = "test.dat"
  1297.    Tmp1 = "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been created and initialized." & Chr$(13)
  1298.    Tmp1 = Tmp1 + "File '" & Tmp & "' will be used." & Chr$(13)
  1299.    Tmp1 = Tmp1 + "Each (i,0) is init with '" & n1 & "'." & Chr$(13)
  1300.    Tmp1 = Tmp1 + "Each (i,1) is init with '" & n2 & "'." & Chr$(13) & Chr$(13)
  1301.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1302.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1303.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1304.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1305.    Tmp1 = Tmp1 + "Put array on disk is '" & cArrayOnDisk(Tmp, AD(), PUT_ARRAY_ON_DISK) & "' bytes." & Chr$(13) & Chr$(13)
  1306.    Tmp1 = Tmp1 + "Memory array (" & m1 & " To " & m2 & ", 0 To 1) has been zero'ed." & Chr$(13) & Chr$(13)
  1307.    For i = m1 To m2
  1308.       AD(i, 0) = 0
  1309.       AD(i, 1) = 0
  1310.    Next i
  1311.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1312.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1313.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1314.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1315.    Tmp1 = Tmp1 + "Get array on disk is '" & cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK) & "' bytes." & Chr$(13) & Chr$(13)
  1316.    Tmp1 = Tmp1 + "AD(" & m1 & ", 0) is " & AD(m1, 0) & Chr$(13)
  1317.    Tmp1 = Tmp1 + "AD(" & m2 & ", 0) is " & AD(m2, 0) & Chr$(13)
  1318.    Tmp1 = Tmp1 + "AD(" & m1 & ", 1) is " & AD(m1, 1) & Chr$(13)
  1319.    Tmp1 = Tmp1 + "AD(" & m2 & ", 1) is " & AD(m2, 1) & Chr$(13) & Chr$(13)
  1320.    cStartBasisTimer
  1321.    For i = 1 To Item
  1322.       j = cArrayOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK)
  1323.    Next i
  1324.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1325.    Label3.Caption = Tmp1
  1326. End Sub
  1327. Sub TestArrayStringOnDisk ()
  1328.    Dim title      As String
  1329.    Dim Tmp        As String
  1330.    Dim Tmp1       As String
  1331.    Dim Tmp2       As String
  1332.    Dim i          As Long
  1333.    Dim j          As Long
  1334.    Dim n1         As Long
  1335.    Dim n2         As Long
  1336.    Dim r          As Long
  1337.    Dim m1         As Integer
  1338.    Dim m2         As Integer
  1339.    m1 = -999
  1340.    m2 = 4000
  1341.    ReDim AD(m1 To m2)         As tagVARSTRING
  1342.    ' initialization because we use ReDim without Global definition
  1343.    For i = m1 To m2
  1344.       AD(i).Contents = Space$(256)
  1345.    Next i
  1346.    Randomize Timer
  1347.    Tmp = "c:\autoexec.bat"
  1348.    Tmp2 = "c:\autoexec.tab"
  1349.    Tmp1 = "Reading file '" & Tmp & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, r) & "'" & Chr$(13)
  1350.    Tmp1 = Tmp1 & "   The 7 (on " & r & ") first lines in array are : " & Chr$(13) & Chr$(13)
  1351.    For i = 0 To 6
  1352.       Tmp1 = Tmp1 & AD(m1 + i).Contents & Chr$(13)
  1353.    Next i
  1354.    Tmp1 = Tmp1 & Chr$(13) & "Writing file '" & Tmp2 & "' from AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), PUT_ARRAY_ON_DISK, r) & "'" & Chr$(13) & Chr$(13)
  1355.    Tmp1 = Tmp1 & "Reading file '" & Tmp2 & "' into AD(" & m1 & " To " & m2 & ") is '" & cArrayStringOnDisk(Tmp2, AD(), GET_ARRAY_ON_DISK, r) & "'" & Chr$(13)
  1356.    Tmp1 = Tmp1 & "   The 7 (on " & r & ") first lines in array are : " & Chr$(13) & Chr$(13)
  1357.    For i = 0 To 6
  1358.       Tmp1 = Tmp1 & AD(m1 + i).Contents & Chr$(13)
  1359.    Next i
  1360.    cStartBasisTimer
  1361.    For i = 1 To Item
  1362.       j = cArrayStringOnDisk(Tmp, AD(), GET_ARRAY_ON_DISK, r)
  1363.    Next i
  1364.    Tmp1 = Tmp1 & Chr$(13) & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1365.    Label3.Caption = Tmp1
  1366. End Sub
  1367. Sub TestAscTime ()
  1368.    Dim title      As String
  1369.    Dim Tmp        As String
  1370.    Dim Tmp1       As String
  1371.    Dim Tmp2       As String
  1372.    Dim i          As Integer
  1373.    Dim j          As Integer
  1374.    Dim k          As Long
  1375.    Dim ErrCode    As Integer
  1376.    Tmp1 = ""
  1377.    For i = LNG_FRENCH To LNG_NORVEGIAN
  1378.       Tmp1 = Tmp1 + cGetAscTime(i) & Chr$(13)
  1379.    Next i
  1380.    Tmp1 = Tmp1 + Chr$(13)
  1381.    cStartBasisTimer
  1382.    For i = 1 To Item
  1383.       Tmp = cGetAscTime(LNG_FRENCH)
  1384.    Next i
  1385.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1386.    Label3.Caption = Tmp1
  1387. End Sub
  1388. Sub TestAtoR ()
  1389.    Dim Tmp        As Integer
  1390.    Dim Tmp1       As String
  1391.    Tmp = Year(Int(Now))
  1392.    Tmp1 = Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1393.    Tmp = Year(Int(Now)) - 1
  1394.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1395.    Tmp = Year(Int(Now)) + 1
  1396.    Tmp1 = Tmp1 & Tmp & " in Roman is " & UCase$(cArabicToRoman(Tmp)) & Chr$(13)
  1397.    Label3.Caption = Tmp1
  1398. End Sub
  1399. Sub TestB2I ()
  1400.    Dim lngResult        As Long
  1401.    Dim intResult        As Integer
  1402.    Dim strResult        As String
  1403.    Dim strDisplay       As String
  1404.    Dim i                As Integer
  1405.    Dim i1               As String
  1406.    Dim i2               As String
  1407.    Dim l1               As String
  1408.    Dim l2               As String
  1409.    i1 = "1010101010101010"
  1410.    i2 = "0101010101010101"
  1411.    l1 = "10101010101010101010101010101010"
  1412.    l2 = "01010101010101010101010101010101"
  1413.    lngResult = 0
  1414.    strResult = ""
  1415.    strDisplay = ""
  1416.      
  1417.    strDisplay = strDisplay & "B2I of " & i1 & " is " & cB2I(i1) & Chr$(13)
  1418.    strDisplay = strDisplay & "B2I of " & i2 & " is " & cB2I(i2) & Chr$(13) & Chr$(13)
  1419.    strDisplay = strDisplay & "I2B of " & cB2I(i1) & " is " & cI2B(cB2I(i1)) & Chr$(13)
  1420.    strDisplay = strDisplay & "I2B of " & cB2I(i2) & " is " & cI2B(cB2I(i2)) & Chr$(13) & Chr$(13)
  1421.    strDisplay = strDisplay & "B2L of " & l1 & " is " & cB2L(l1) & Chr$(13)
  1422.    strDisplay = strDisplay & "B2L of " & l2 & " is " & cB2L(l2) & Chr$(13) & Chr$(13)
  1423.    strDisplay = strDisplay & "L2B of " & cB2L(l1) & " is " & cL2B(cB2L(l1)) & Chr$(13)
  1424.    strDisplay = strDisplay & "L2B of " & cB2L(l2) & " is " & cL2B(cB2L(l2)) & Chr$(13) & Chr$(13)
  1425.    'time the function
  1426.    cStartBasisTimer
  1427.    For i = 1 To Item
  1428.       intResult = cB2I("10101010")
  1429.    Next i
  1430.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1431.    Label3.Caption = strDisplay
  1432. End Sub
  1433. Sub TestBaseConversion ()
  1434.    Dim title      As String
  1435.    Dim Tmp        As String
  1436.    Dim Tmp1       As String
  1437.    Dim Tmp2       As String
  1438.    Dim i          As Integer
  1439.    Dim j          As Integer
  1440.    Dim k          As Long
  1441.    Dim ErrCode    As Integer
  1442.    Tmp1 = ""
  1443.    For i = 2 To 20
  1444.       Tmp1 = Tmp1 + "Convert '1234567' base 10 to base " & i & " is " & cBaseConversion("1234567", 10, i) & Chr$(13)
  1445.    Next i
  1446.    Tmp1 = Tmp1 + Chr$(13)
  1447.    cStartBasisTimer
  1448.    For i = 1 To Item
  1449.       Tmp = cBaseConversion("123456789", 10, 10)
  1450.    Next i
  1451.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1452.    Label3.Caption = Tmp1
  1453. End Sub
  1454. Sub TestBetween ()
  1455.    Dim title      As String
  1456.    Dim Tmp        As String
  1457.    Dim Tmp1       As String
  1458.    Dim Tmp2       As String
  1459.    Dim i          As Integer
  1460.    Dim j          As Integer
  1461.    Tmp1 = "601 is not between 720 and 840 => " & cBetween(601, 720, 840) & Chr$(13) & Chr$(13)
  1462.    Tmp1 = Tmp1 & "601 is between 540 and 602 => " & cBetween(601, 540, 602) & Chr$(13) & Chr$(13)
  1463.    Tmp1 = Tmp1 & "61 is between 61 and 62 => " & cBetween(61, 61, 62) & Chr$(13) & Chr$(13)
  1464.    cStartBasisTimer
  1465.    For i = 1 To Item
  1466.       j = cBetween(720, 0, 1439)
  1467.    Next i
  1468.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1469.    Label3.Caption = Tmp1
  1470. End Sub
  1471. Sub TestBig ()
  1472.    Dim title      As String
  1473.    Dim Tmp        As String
  1474.    Dim Tmp1       As String
  1475.    Dim Tmp2       As String
  1476.    Dim Tmp3       As String
  1477.    Dim i          As Integer
  1478.    Dim j          As Integer
  1479.    Dim m1         As Double
  1480.    Dim m2         As Double
  1481.    m1 = 123456789012345#
  1482.    m2 = 987654321098765#
  1483.    Tmp1 = Tmp1 & "Double     : Add '" & m1 & "' and '" & m2 & "' is '" & (m1 + m2) & "'" & Chr$(13)
  1484.    Tmp1 = Tmp1 & "Big Double : Add '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1485.    Tmp1 = Tmp1 & "Big Num    : Add '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_ADD, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1486.    Tmp1 = Tmp1 & "Double     : Sub '" & m1 & "' and '" & m2 & "' is '" & (m1 - m2) & "'" & Chr$(13)
  1487.    Tmp1 = Tmp1 & "Big Double : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigSub(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1488.    Tmp1 = Tmp1 & "Big Num    : Sub '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_SUB, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1489.    Tmp1 = Tmp1 & "Double     : Mul '" & m1 & "' and '" & m2 & "' is '" & (m1 * m2) & "'" & Chr$(13)
  1490.    Tmp1 = Tmp1 & "Big Double : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigMul(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13)
  1491.    Tmp1 = Tmp1 & "Big Num    : Mul '" & m1 & "' and '" & m2 & "' is '" & cBigNum(LTrim$(Str$(m1)), BIG_MUL, LTrim$(Str$(m2))) & "'" & Chr$(13) & Chr$(13)
  1492.    Tmp1 = Tmp1 & "Double     : Div '" & m1 & "' and '" & m2 & "' is '" & (m1 / m2) & "'" & Chr$(13)
  1493.    Tmp1 = Tmp1 & "Big Double : Div '" & m1 & "' and '" & m2 & "' is '" & cBigFmt(cBigDiv(cMKN(Str$(m1)), cMKN(Str$(m2))), 0) & "'" & Chr$(13) & Chr$(13)
  1494.    cStartBasisTimer
  1495.    For i = 1 To ItemFile
  1496.       Tmp3 = cBigAdd(cMKN(Str$(m1)), cMKN(Str$(m2)))
  1497.    Next i
  1498.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1499.    Label3.Caption = Tmp1
  1500. End Sub
  1501. Sub TestBigNum ()
  1502.    Dim title      As String
  1503.    Dim Tmp        As String
  1504.    Dim Tmp1       As String
  1505.    Dim Tmp2       As String
  1506.    Dim Tmp3       As String
  1507.    Dim Tmp4       As String
  1508.    Dim i          As Integer
  1509.    Dim j          As Integer
  1510.    Dim m          As Double
  1511.    Tmp3 = "00001234567890123456789012345678901"
  1512.    Tmp4 = "00009876543210987654321098765432100"
  1513.    Tmp1 = Tmp1 & "X = " & Tmp3 & Chr$(13)
  1514.    Tmp1 = Tmp1 & "Y = " & Tmp4 & Chr$(13) & Chr$(13)
  1515.    Tmp = Tmp3
  1516.    Tmp2 = Tmp4
  1517.    Tmp1 = Tmp1 & "'(X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1518.    Tmp = Tmp3
  1519.    Tmp2 = "-" & Tmp4
  1520.    Tmp1 = Tmp1 & "'(X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1521.    Tmp = "-" & Tmp3
  1522.    Tmp2 = Tmp4
  1523.    Tmp1 = Tmp1 & "'(-X) + (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13)
  1524.    Tmp = "-" & Tmp3
  1525.    Tmp2 = "-" & Tmp4
  1526.    Tmp1 = Tmp1 & "'(-X) + (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_ADD, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1527.    Tmp = Tmp3
  1528.    Tmp2 = Tmp4
  1529.    Tmp1 = Tmp1 & "'(X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1530.    Tmp = Tmp3
  1531.    Tmp2 = "-" & Tmp4
  1532.    Tmp1 = Tmp1 & "'(X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1533.    Tmp = "-" & Tmp3
  1534.    Tmp2 = Tmp4
  1535.    Tmp1 = Tmp1 & "'(-X) - (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13)
  1536.    Tmp = "-" & Tmp3
  1537.    Tmp2 = "-" & Tmp4
  1538.    Tmp1 = Tmp1 & "'(-X) - (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_SUB, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1539.    Tmp = Tmp3
  1540.    Tmp2 = Tmp4
  1541.    Tmp1 = Tmp1 & "'(X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1542.    Tmp = Tmp3
  1543.    Tmp2 = "-" & Tmp4
  1544.    Tmp1 = Tmp1 & "'(X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1545.    Tmp = "-" & Tmp3
  1546.    Tmp2 = Tmp4
  1547.    Tmp1 = Tmp1 & "'(-X) * (Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13)
  1548.    Tmp = "-" & Tmp3
  1549.    Tmp2 = "-" & Tmp4
  1550.    Tmp1 = Tmp1 & "'(-X) * (-Y)' " & Space$(3) & " is '" & cBigNum(Tmp, BIG_MUL, Tmp2) & "'" & Chr$(13) & Chr$(13)
  1551.    cStartBasisTimer
  1552.    For i = 1 To ItemFile
  1553.       Tmp3 = cBigNum(Tmp, BIG_ADD, Tmp2)
  1554.    Next i
  1555.    Tmp1 = Tmp1 & "speed for " & ItemFile & " ADD = " & (cReadBasisTimer() / 1000) & Chr$(13)
  1556.    cStartBasisTimer
  1557.    For i = 1 To ItemFile
  1558.       Tmp3 = cBigNum(Tmp, BIG_SUB, Tmp2)
  1559.    Next i
  1560.    Tmp1 = Tmp1 & "speed for " & ItemFile & " SUB = " & (cReadBasisTimer() / 1000) & Chr$(13)
  1561.    cStartBasisTimer
  1562.    For i = 1 To ItemFile
  1563.       Tmp3 = cBigNum(Tmp, BIG_MUL, Tmp2)
  1564.    Next i
  1565.    Tmp1 = Tmp1 & "speed for " & ItemFile & " MUL = " & (cReadBasisTimer() / 1000)
  1566.    Label3.Caption = Tmp1
  1567. End Sub
  1568. Sub TestBigString01 ()
  1569.    Dim Tmp1       As String
  1570.    Dim m1         As Integer
  1571.    Dim p1         As Integer
  1572.    Tmp1 = "Create a big string of 512 Kb is "
  1573.    m1 = cHugeStrCreate(512 * 1024&)
  1574.    Tmp1 = Tmp1 & IIf(m1 <> 0, "OK", "ko") & " (" & m1 & ")" & Chr$(13)
  1575.    Tmp1 = Tmp1 & "Size (" & m1 & ") is " & cHugeStrSize(m1) & Chr$(13)
  1576.    Tmp1 = Tmp1 & "Memory Address (" & m1 & ") is " & cHugeStrAddress(m1) & Chr$(13)
  1577.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1578.    Tmp1 = Tmp1 & "Add '1234567890' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "1234567890"), "OK", "ko") & Chr$(13)
  1579.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1580.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & Chr$(13)
  1581.    Tmp1 = Tmp1 & "Add 'This is a test' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "This is a test"), "OK", "ko") & Chr$(13)
  1582.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1583.    Tmp1 = Tmp1 & "Pointer (" & m1 & ") is " & cHugeStrGetWP(m1) & Chr$(13)
  1584.    Tmp1 = Tmp1 & "Blocks (" & m1 & ") is " & cHugeStrBlocks(m1) & Chr$(13)
  1585.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1586.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to 7 is " & cHugeStrSetWP(m1, 7) & Chr$(13)
  1587.    Tmp1 = Tmp1 & "Add 'THIS IS A TEST' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "THIS IS A TEST"), "OK", "ko") & Chr$(13)
  1588.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1589.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1590.    Tmp1 = Tmp1 & "Append 'append one' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append one"), "OK", "ko") & Chr$(13)
  1591.    Tmp1 = Tmp1 & "Append 'append two' (" & m1 & ") is " & IIf(cHugeStrAppend(m1, "append two"), "OK", "ko") & Chr$(13)
  1592.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1593.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1594.    Tmp1 = Tmp1 & "Set pointer (" & m1 & ") to " & cHugeStrLength(m1) & " is " & cHugeStrSetWP(m1, cHugeStrLength(m1)) & Chr$(13)
  1595.    Tmp1 = Tmp1 & "Add 'AZERTYUIOP' (" & m1 & ") is " & IIf(cHugeStrAdd(m1, "AZERTYUIOP"), "OK", "ko") & Chr$(13)
  1596.    Tmp1 = Tmp1 & "Length (" & m1 & ") is " & cHugeStrLength(m1) & Chr$(13)
  1597.    Tmp1 = Tmp1 & "Mid (" & m1 & ") is '" & cHugeStrMid(m1, 3, 10) & "'" & Chr$(13)
  1598.    Tmp1 = Tmp1 & "Read (" & m1 & ") is '" & cHugeStrRead(m1, 1) & "'" & Chr$(13)
  1599.    Tmp1 = Tmp1 & "Clear (" & m1 & ") is " & IIf(cHugeStrClear(m1), "OK", "ko") & Chr$(13)
  1600.    Tmp1 = Tmp1 & "Free a big string of 512 Kb is "
  1601.    p1 = cHugeStrFree(m1)
  1602.    Tmp1 = Tmp1 & IIf(p1 <> 0, "OK", "ko") & " (" & p1 & ")" & Chr$(13)
  1603.    Label3.Caption = Tmp1
  1604. End Sub
  1605. Sub TestBlockCharFromLeft ()
  1606.    Dim title      As String
  1607.    Dim Tmp        As String
  1608.    Dim Tmp1       As String
  1609.    Dim Tmp2       As String
  1610.    Dim i          As Integer
  1611.    Dim j          As Integer
  1612.    Tmp = Text1.Text
  1613.    title = "The 3,7,1 blocks from left of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  1614.    Tmp = Text1.Text
  1615.    Tmp1 = title & "3:" & cBlockCharFromLeft(Tmp, 3) & " | 7:" & cBlockCharFromLeft(Tmp, 7) & " | 1:" & cBlockCharFromLeft(Tmp, 1) & Chr$(13) & Chr$(13)
  1616.    cStartBasisTimer
  1617.    For i = 1 To Item
  1618.       Tmp2 = cBlockCharFromLeft(Tmp, 2)
  1619.    Next i
  1620.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1621.    Label3.Caption = Tmp1
  1622. End Sub
  1623. Sub TestBlockCharFromRight ()
  1624.    Dim title      As String
  1625.    Dim Tmp        As String
  1626.    Dim Tmp1       As String
  1627.    Dim Tmp2       As String
  1628.    Dim i          As Integer
  1629.    Dim j          As Integer
  1630.    Tmp = Text1.Text
  1631.    title = "The 3,7,1 blocks from right of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  1632.    Tmp = Text1.Text
  1633.    Tmp1 = title & "3:" & cBlockCharFromRight(Tmp, 3) & " | 7:" & cBlockCharFromRight(Tmp, 7) & " | 1:" & cBlockCharFromRight(Tmp, 1) & Chr$(13) & Chr$(13)
  1634.    cStartBasisTimer
  1635.    For i = 1 To Item
  1636.       Tmp2 = cBlockCharFromRight(Tmp, 2)
  1637.    Next i
  1638.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1639.    Label3.Caption = Tmp1
  1640. End Sub
  1641. Sub TestChangeChars ()
  1642.    Dim title      As String
  1643.    Dim Tmp        As String
  1644.    Dim Tmp1       As String
  1645.    Dim Tmp2       As String
  1646.    Dim i          As Integer
  1647.    Dim j          As Integer
  1648.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1649.    title = "Change 'AZM' into 'qyc' of [" & Tmp & "] is "
  1650.    Call cChangeChars(Tmp, "AZM", "qyc")
  1651.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  1652.    cStartBasisTimer
  1653.    For i = 1 To Item
  1654.       Call cChangeChars(Tmp, "AZM", "qyc")
  1655.    Next i
  1656.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1657.    Label3.Caption = Tmp1
  1658. End Sub
  1659. Sub TestChangeCharsUntil ()
  1660.    Dim title      As String
  1661.    Dim Tmp        As String
  1662.    Dim Tmp1       As String
  1663.    Dim Tmp2       As String
  1664.    Dim i          As Integer
  1665.    Dim j          As Integer
  1666.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1667.    title = "Change 'AZM' into 'qyc' of [" & Tmp & "] until 'N' is "
  1668.    Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  1669.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  1670.    cStartBasisTimer
  1671.    For i = 1 To Item
  1672.       Call cChangeCharsUntil(Tmp, "AZM", "qyc", "N")
  1673.    Next i
  1674.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1675.    Label3.Caption = Tmp1
  1676. End Sub
  1677. Sub TestChDir ()
  1678.    Dim title      As String
  1679.    Dim Tmp        As String
  1680.    Dim Tmp1       As String
  1681.    Dim Tmp2       As String
  1682.    Dim i          As Integer
  1683.    Dim j          As Integer
  1684.    Dim k          As Long
  1685.    Dim ErrCode    As Integer
  1686.    Tmp1 = ""
  1687.    For i = 1 To 26
  1688.       k = cChDir(Chr$(64 + i) & ":\")
  1689.       If (k = True) Then
  1690.      Tmp1 = Tmp1 & "ChDir to \ on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & Chr$(13)
  1691.       End If
  1692.    Next i
  1693.    Tmp1 = Tmp1 + Chr$(13)
  1694.    cStartBasisTimer
  1695.    For i = 1 To Item
  1696.       k = cChDir("C:\")
  1697.    Next i
  1698.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1699.    Label3.Caption = Tmp1
  1700. End Sub
  1701. Sub TestChDrive ()
  1702.    Dim title      As String
  1703.    Dim Tmp        As String
  1704.    Dim Tmp1       As String
  1705.    Dim Tmp2       As String
  1706.    Dim i          As Integer
  1707.    Dim j          As Integer
  1708.    Dim k          As Long
  1709.    Dim ErrCode    As Integer
  1710.    Tmp1 = ""
  1711.    For i = 1 To 26
  1712.       k = cChDrive(Chr$(64 + i))
  1713.       If (k = True) Then
  1714.      Tmp1 = Tmp1 & "ChDrive on '" & Chr$(64 + i) & ":' is " & IIf(k = True, "succesfull", "not successfull") & Chr$(13)
  1715.       End If
  1716.    Next i
  1717.    Tmp1 = Tmp1 + Chr$(13)
  1718.    cStartBasisTimer
  1719.    For i = 1 To Item
  1720.       k = cChDrive("C")
  1721.    Next i
  1722.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1723.    Label3.Caption = Tmp1
  1724. End Sub
  1725. Sub TestCheckChars ()
  1726.    Dim title      As String
  1727.    Dim Tmp        As String
  1728.    Dim Tmp1       As String
  1729.    Dim Tmp2       As String
  1730.    Dim i          As Integer
  1731.    Dim j          As Integer
  1732.    Tmp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  1733.    title = "Check 'A','Z' in [" & Tmp & "] is "
  1734.    Tmp1 = title & IIf(cCheckChars(Tmp, "AZ"), "all present", "not all present") & Chr$(13) & Chr$(13)
  1735.    title = Tmp1 & "Check 'a','Z' in [" & Tmp & "] is "
  1736.    Tmp1 = title & IIf(cCheckChars(Tmp, "aZ"), "all present", "not all present") & Chr$(13) & Chr$(13)
  1737.    cStartBasisTimer
  1738.    For i = 1 To Item
  1739.       j = cCheckChars(Tmp, "AZ")
  1740.    Next i
  1741.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1742.    Label3.Caption = Tmp1
  1743. End Sub
  1744. Sub TestCheckNumericity ()
  1745.    Dim title      As String
  1746.    Dim Tmp        As String
  1747.    Dim Tmp1       As String
  1748.    Dim Tmp2       As String
  1749.    Dim i          As Integer
  1750.    Dim j          As Integer
  1751.    Tmp = Text1.Text
  1752.    title = "[" & Tmp & "] is "
  1753.    Tmp1 = title & IIf(cCheckNumericity(Tmp), "Numeric", " not Numeric") & Chr$(13) & Chr$(13)
  1754.    cStartBasisTimer
  1755.    For i = 1 To Item
  1756.       j = cCheckNumericity(Tmp)
  1757.    Next i
  1758.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1759.    Label3.Caption = Tmp1
  1760. End Sub
  1761. Sub TestCheckTime ()
  1762.    Dim title      As String
  1763.    Dim Tmp        As String
  1764.    Dim Tmp1       As String
  1765.    Dim Tmp2       As String
  1766.    Dim i          As Integer
  1767.    Dim j          As Integer
  1768.    Tmp1 = "10:01 is not between 12:00 and 14:00 => " & cCheckTime(601, 720, 840) & Chr$(13) & Chr$(13)
  1769.    Tmp1 = Tmp1 & "10:01 is between 09:00 and 10:02 => " & cCheckTime(601, 540, 602) & Chr$(13) & Chr$(13)
  1770.    Tmp1 = Tmp1 & "01:01 is between 23:58 and 02:45 => " & cCheckTime(61, 1438, 165) & Chr$(13) & Chr$(13)
  1771.    cStartBasisTimer
  1772.    For i = 1 To Item
  1773.       j = cCheckTime(720, 0, 1439)
  1774.    Next i
  1775.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1776.    Label3.Caption = Tmp1
  1777. End Sub
  1778. Sub TestCloseAllEditForm ()
  1779.    If (cCloseAllEditForm() = True) Then
  1780.       Label3.Caption = "CloseAllEditForm SUCCESS"
  1781.    Else
  1782.       Label3.Caption = "CloseAllEditForm FAIL"
  1783.    End If
  1784. End Sub
  1785. Sub TestClusterSize ()
  1786.    Dim title      As String
  1787.    Dim Tmp        As String
  1788.    Dim Tmp1       As String
  1789.    Dim Tmp2       As String
  1790.    Dim i          As Integer
  1791.    Dim j          As Integer
  1792.    Dim k          As Long
  1793.    Dim ErrCode    As Integer
  1794.    Tmp1 = ""
  1795.    For i = 1 To 26
  1796.       k = cGetDiskClusterSize(Chr$(64 + i))
  1797.       If (k <> True) Then
  1798.      Tmp1 = Tmp1 & "DiskClusterSize for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  1799.       End If
  1800.    Next i
  1801.    Tmp1 = Tmp1 + Chr$(13)
  1802.    cStartBasisTimer
  1803.    For i = 1 To Item
  1804.       k = cGetDiskClusterSize("C")
  1805.    Next i
  1806.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1807.    Label3.Caption = Tmp1
  1808. End Sub
  1809. Sub TestCnvAE ()
  1810.    Dim title      As String
  1811.    Dim Tmp        As String
  1812.    Dim Tmp1       As String
  1813.    Dim Tmp2       As String
  1814.    Dim i          As Integer
  1815.    Dim j          As Integer
  1816.    Tmp = Text1.Text
  1817.    title = "ASCII -> EBCDIC of '" & Tmp & "' is "
  1818.    Call cCnvASCIItoEBCDIC(Tmp)
  1819.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  1820.    title = "EBCDIC -> ASCII of '" & Tmp & "' is "
  1821.    Call cCnvEBCDICtoASCII(Tmp)
  1822.    Tmp1 = Tmp1 & title & Tmp & Chr$(13) & Chr$(13)
  1823.    cStartBasisTimer
  1824.    For i = 1 To Item
  1825.       Call cCnvASCIItoEBCDIC(Tmp)
  1826.    Next i
  1827.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1828.    Label3.Caption = Tmp1
  1829. End Sub
  1830. Sub TestCombination ()
  1831.    Dim title      As String
  1832.    Dim Tmp        As String
  1833.    Dim Tmp1       As String
  1834.    Dim Tmp2       As String
  1835.    Dim Tmp3       As String
  1836.    Dim i          As Integer
  1837.    Dim j          As Integer
  1838.    Dim m1         As Double
  1839.    Dim m2         As Double
  1840.    For i = 0 To 10
  1841.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & Chr$(13)
  1842.    Next i
  1843.    Tmp1 = Tmp1 & Chr$(13)
  1844.    For i = 42 To 32 Step -1
  1845.       Tmp1 = Tmp1 & "Combination C(42, " & i & ") is '" & cCombination(42, i) & "'" & Chr$(13)
  1846.    Next i
  1847.    Tmp1 = Tmp1 & Chr$(13)
  1848.    cStartBasisTimer
  1849.    For i = 1 To ItemFile
  1850.       m1 = cCombination(42, 6)
  1851.    Next i
  1852.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1853.    Label3.Caption = Tmp1
  1854. End Sub
  1855. Sub TestCompact ()
  1856.    Dim title      As String
  1857.    Dim Tmp        As String
  1858.    Dim Tmp1       As String
  1859.    Dim Tmp2       As String
  1860.    Dim i          As Integer
  1861.    Dim j          As Integer
  1862.    Tmp = "30313233343536373839"
  1863.    title = "Compact '" & Tmp & "' is "
  1864.    Tmp1 = title & cCompact(Tmp) & Chr$(13) & Chr$(13)
  1865.    cStartBasisTimer
  1866.    For i = 1 To Item
  1867.       Tmp2 = cCompact(Tmp)
  1868.    Next i
  1869.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1870.    Label3.Caption = Tmp1
  1871. End Sub
  1872. Sub TestCompress ()
  1873.    Dim title      As String
  1874.    Dim Tmp        As String
  1875.    Dim Tmp1       As String
  1876.    Dim Tmp2       As String
  1877.    Dim i          As Integer
  1878.    Dim j          As Integer
  1879.    Tmp1 = "A " & Chr$(9) & "BC  "
  1880.    Tmp = Tmp1
  1881.    title = "Filter chr(0),chr(9),chr(32) in [" & Tmp & "] is "
  1882.    Tmp1 = title & cCompress(Tmp) & Chr$(13) & Chr$(13)
  1883.    cStartBasisTimer
  1884.    For i = 1 To Item
  1885.       Tmp2 = cCompress(Tmp)
  1886.    Next i
  1887.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1888.    Label3.Caption = Tmp1
  1889. End Sub
  1890. Sub TestCompressTab ()
  1891.    Dim title      As String
  1892.    Dim Tmp        As String
  1893.    Dim Tmp1       As String
  1894.    Dim Tmp2       As String
  1895.    Dim i          As Integer
  1896.    Dim j          As Integer
  1897.    Tmp = "A      BC   DEF  GHIJ  "
  1898.    title = "Compress tab (3 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  1899.    Tmp1 = title & cCompressTab(Tmp, 3) & Chr$(13) & Chr$(13)
  1900.    Tmp = "A      BC   DEF  GHIJ  "
  1901.    title = "Compress tab (2 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  1902.    Tmp1 = Tmp1 & title & cCompressTab(Tmp, 2) & Chr$(13) & Chr$(13)
  1903.    cStartBasisTimer
  1904.    For i = 1 To Item
  1905.       Tmp2 = cCompressTab(Tmp, 3)
  1906.    Next i
  1907.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  1908.    Label3.Caption = Tmp1
  1909. End Sub
  1910. Sub TestControl3D ()
  1911.    Dim i    As Integer
  1912.    Dim j    As Integer
  1913.    Dim r    As tagRECT
  1914.    Dim Tmp1 As String
  1915.    Call cGetCtlRect(Label3, r)
  1916.    Tmp1 = "Coordinates (in pixels) of this label are :" & Chr$(13) & Chr$(13)
  1917.    Tmp1 = Tmp1 & "Left : " & r.Left & Chr$(13)
  1918.    Tmp1 = Tmp1 & "Top : " & r.Top & Chr$(13)
  1919.    Tmp1 = Tmp1 & "Right : " & r.Right & Chr$(13)
  1920.    Tmp1 = Tmp1 & "Bottom : " & r.Bottom & Chr$(13) & Chr$(13)
  1921.    Call cGetCtlRectTwips(Label3, r)
  1922.    Tmp1 = Tmp1 & "Coordinates (in twips) of this label are :" & Chr$(13) & Chr$(13)
  1923.    Tmp1 = Tmp1 & "Left : " & r.Left & Chr$(13)
  1924.    Tmp1 = Tmp1 & "Top : " & r.Top & Chr$(13)
  1925.    Tmp1 = Tmp1 & "Right : " & r.Right & Chr$(13)
  1926.    Tmp1 = Tmp1 & "Bottom : " & r.Bottom & Chr$(13)
  1927.    Label3.Caption = Tmp1
  1928.    For i = 1 To 11
  1929.       c3D Label3, 0, 0
  1930.       DoEvents
  1931.       j = cSleep(140)
  1932.       c3D Label3, 1, 0
  1933.       DoEvents
  1934.       j = cSleep(140)
  1935.    Next i
  1936. End Sub
  1937. Sub TestCountDirectories ()
  1938.    Dim title      As String
  1939.    Dim Tmp        As String
  1940.    Dim Tmp1       As String
  1941.    Dim Tmp2       As String
  1942.    Dim i          As Integer
  1943.    Dim j          As Integer
  1944.    Dim k          As Integer
  1945.    Tmp1 = ""
  1946.    Tmp1 = Tmp1 & "Number of directories in C:\ is " & cCountDirectories("C:\*.*") & Chr$(13) & Chr$(13)
  1947.    Tmp1 = Tmp1 & "Number of directories in D:\ is " & cCountDirectories("D:\*.*") & Chr$(13) & Chr$(13)
  1948.    Tmp1 = Tmp1 & "Number of directories in E:\ is " & cCountDirectories("E:\*.*") & Chr$(13) & Chr$(13)
  1949.    cStartBasisTimer
  1950.    For i = 1 To 10
  1951.       k = cCountDirectories("C:\*.*")
  1952.    Next i
  1953.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  1954.    Label3.Caption = Tmp1
  1955. End Sub
  1956. Sub TestCountFiles ()
  1957.    Dim title      As String
  1958.    Dim Tmp        As String
  1959.    Dim Tmp1       As String
  1960.    Dim Tmp2       As String
  1961.    Dim i          As Integer
  1962.    Dim j          As Integer
  1963.    Dim k          As Integer
  1964.    Tmp1 = ""
  1965.    Tmp1 = Tmp1 & "Number of files in C:\ is " & cCountFiles("C:\*.*") & Chr$(13) & Chr$(13)
  1966.    Tmp1 = Tmp1 & "Number of files in D:\ is " & cCountFiles("D:\*.*") & Chr$(13) & Chr$(13)
  1967.    Tmp1 = Tmp1 & "Number of files in E:\ is " & cCountFiles("E:\*.*") & Chr$(13) & Chr$(13)
  1968.    cStartBasisTimer
  1969.    For i = 1 To 10
  1970.       k = cCountFiles("C:\*.*")
  1971.    Next i
  1972.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  1973.    Label3.Caption = Tmp1
  1974. End Sub
  1975. Sub TestCountI ()
  1976.    Dim title      As String
  1977.    Dim Tmp        As String
  1978.    Dim Tmp1       As String
  1979.    Dim Tmp2       As String
  1980.    Dim i          As Integer
  1981.    Dim j          As Integer
  1982.    Dim m          As Integer
  1983.    ReDim array(20) As Integer
  1984.    Call cRndInit(-1)
  1985.    For i = LBound(array) To UBound(array)
  1986.       array(i) = cRndI()
  1987.       List1.AddItem "" & array(i)
  1988.    Next i
  1989.    Tmp1 = Tmp1 & "Count '" & array(5) & "' is " & cCountI(array(), array(5)) & Chr$(13)
  1990.    Tmp1 = Tmp1 & "Count '" & array(10) & "' is " & cCountI(array(), array(10)) & Chr$(13)
  1991.    Tmp1 = Tmp1 & "Count '" & array(15) & "' is " & cCountI(array(), array(15)) & Chr$(13)
  1992.    Tmp1 = Tmp1 & "Count '" & array(20) & "' is " & cCountI(array(), array(20)) & Chr$(13)
  1993.    Tmp1 = Tmp1 & "Count '" & -1234 & "' is " & cCountI(array(), -1234) & Chr$(13)
  1994.    cStartBasisTimer
  1995.    For i = 1 To ItemFile
  1996.       j = cCountI(array(), array(1))
  1997.    Next i
  1998.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  1999.    Label3.Caption = Tmp1
  2000. End Sub
  2001. Sub TestCreateAndFill ()
  2002.    Dim title      As String
  2003.    Dim Tmp        As String
  2004.    Dim Tmp1       As String
  2005.    Dim Tmp2       As String
  2006.    Dim i          As Integer
  2007.    Dim j          As Integer
  2008.    Tmp = Text1.Text
  2009.    title = "Create and Fill a string of 40 chars with [" & Tmp & "] is "
  2010.    Tmp1 = title & cCreateAndFill(40, Tmp) & Chr$(13) & Chr$(13)
  2011.    cStartBasisTimer
  2012.    For i = 1 To Item
  2013.       Tmp2 = cCreateAndFill(40, Tmp)
  2014.    Next i
  2015.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2016.    Label3.Caption = Tmp1
  2017. End Sub
  2018. Sub TestCreateBits ()
  2019.    Dim title      As String
  2020.    Dim Tmp        As String
  2021.    Dim Tmp1       As String
  2022.    Dim Tmp2       As String
  2023.    Dim i          As Integer
  2024.    Dim j          As Integer
  2025.    Tmp = Text1.Text
  2026.    title = "Create a string for 1024 bits is "
  2027.    Tmp1 = title & Len(cCreateBits(1024)) & " bytes" & Chr$(13) & Chr$(13)
  2028.    cStartBasisTimer
  2029.    For i = 1 To Item
  2030.       Tmp2 = cCreateBits(1024)
  2031.    Next i
  2032.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2033.    Label3.Caption = Tmp1
  2034. End Sub
  2035. Sub TestCustomControls ()
  2036.    Dim i       As Integer
  2037.    Dim n       As Integer
  2038.    Dim Tmp1    As String
  2039.    n = frmT2W.Count - 1
  2040.    For i = 0 To n
  2041.       Tmp1 = Tmp1 + "Control name is '" & cGetCtlNameIndex(frmT2W.Controls(i)) & "'     Control Class is '" & cGetCtlClass(frmT2W.Controls(i)) & "'" + Chr$(13)
  2042.    Next i
  2043.    Label3.Caption = Tmp1
  2044. End Sub
  2045. Sub TestDAL (Management As Integer)
  2046.    Dim Tmp        As String
  2047.    Dim ErrCode    As Integer
  2048.    Dim DA         As tagDISKARRAY
  2049.    ErrCode = cMakeDir("c:\t2w_tmp")
  2050.    DA.nFilename = "c:\t2w_tmp\dalong.tmp"
  2051.    DA.nType = DA_LONG
  2052.    DA.nIsTyped = False
  2053.    DA.nRows = 100
  2054.    DA.nCols = 100
  2055.    DA.nSheets = 2
  2056.    Select Case Management
  2057.       Case True      'create
  2058.      ErrCode = cDACreate(DA, True)
  2059.       Case False     'use
  2060.      ErrCode = cDACreate(DA, False)
  2061.       Case 1         'clear all
  2062.      ErrCode = cDACreate(DA, False)
  2063.      If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2064.       Case 2         'clear sheet 2
  2065.      ErrCode = cDACreate(DA, False)
  2066.      If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2067.       Case 3         'clear last row
  2068.      ErrCode = cDACreate(DA, False)
  2069.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2070.       Case 4         'clear last col
  2071.      ErrCode = cDACreate(DA, False)
  2072.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2073.       Case 5         'clear last row in all sheets
  2074.      ErrCode = cDACreate(DA, False)
  2075.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2076.       Case 6         'clear last col in all sheets
  2077.      ErrCode = cDACreate(DA, False)
  2078.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2079.    End Select
  2080.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2081.    If (ErrCode = True) Then
  2082.       
  2083.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2084.       Tmp = Tmp & "DA.Signature    = " & DA.Signature & Chr$(13)
  2085.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2086.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2087.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2088.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2089.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2090.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2091.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2092.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2093.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2094.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2095.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2096.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2097.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2098.       If (Management = True) Then
  2099.      Call cDAPut(DA, 1, 1, 1, 12345)
  2100.      Call cDAPut(DA, 1, DA.nCols, 1, 56789)
  2101.      Call cDAPut(DA, DA.nRows, 1, 1, 54321)
  2102.      Call cDAPut(DA, DA.nRows, DA.nCols, 1, 98765)
  2103.      Call cDAPut(DA, 1, 1, 2, 12345678)
  2104.      Call cDAPut(DA, 1, DA.nCols, 2, 34567890)
  2105.      Call cDAPut(DA, DA.nRows, 1, 2, 123456789)
  2106.      Call cDAPut(DA, DA.nRows, DA.nCols, 2, 987654321)
  2107.       End If
  2108.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cDAGet(DA, 1, 1, 1) & "   , time : " & DA.rTime & Chr$(13)
  2109.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, 1, DA.nCols, 1) & "   , time : " & DA.rTime & Chr$(13)
  2110.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & cDAGet(DA, DA.nRows, 1, 1) & "   , time : " & DA.rTime & Chr$(13)
  2111.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 1) & "   , time : " & DA.rTime & Chr$(13)
  2112.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & cDAGet(DA, 1, 1, 2) & "   , time : " & DA.rTime & Chr$(13)
  2113.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, 1, DA.nCols, 2) & "   , time : " & DA.rTime & Chr$(13)
  2114.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & cDAGet(DA, DA.nRows, 1, 2) & "   , time : " & DA.rTime & Chr$(13)
  2115.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & cDAGet(DA, DA.nRows, DA.nCols, 2) & "   , time : " & DA.rTime & Chr$(13)
  2116.    End If
  2117.    Call cDAClose(DA, False)
  2118.    Label3.Caption = Tmp
  2119. End Sub
  2120. Sub TestDAStr (Management As Integer)
  2121.    Dim Tmp        As String
  2122.    Dim ErrCode    As Integer
  2123.    Dim DA         As tagDISKARRAY
  2124.    ErrCode = cMakeDir("c:\t2w_tmp")
  2125.    DA.nFilename = "c:\t2w_tmp\dastring.tmp"
  2126.    DA.nType = 50
  2127.    DA.nIsTyped = False
  2128.    DA.nRows = 100
  2129.    DA.nCols = 100
  2130.    DA.nSheets = 2
  2131.    Select Case Management
  2132.       Case True      'create
  2133.      ErrCode = cDACreate(DA, True)
  2134.       Case False     'use
  2135.      ErrCode = cDACreate(DA, False)
  2136.       Case 1         'clear all
  2137.      ErrCode = cDACreate(DA, False)
  2138.      If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2139.       Case 2         'clear sheet 2
  2140.      ErrCode = cDACreate(DA, False)
  2141.      If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2142.       Case 3         'clear last row
  2143.      ErrCode = cDACreate(DA, False)
  2144.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2145.       Case 4         'clear last col
  2146.      ErrCode = cDACreate(DA, False)
  2147.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2148.       Case 5         'clear last row in all sheets
  2149.      ErrCode = cDACreate(DA, False)
  2150.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2151.       Case 6         'clear last col in all sheets
  2152.      ErrCode = cDACreate(DA, False)
  2153.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2154.    End Select
  2155.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2156.    If (ErrCode = True) Then
  2157.       
  2158.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2159.       Tmp = Tmp & "DA.Signature    = " & DA.Signature & Chr$(13)
  2160.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2161.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2162.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2163.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2164.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2165.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2166.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2167.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2168.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2169.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2170.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2171.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2172.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2173.       If (Management = True) Then
  2174.       
  2175.      Call cDAPut(DA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  2176.      Call cDAPut(DA, 1, DA.nCols, 1, "D:1, abcdefghij")
  2177.      Call cDAPut(DA, DA.nRows, 1, 1, "D:1, OPQRSTUVWXYZ")
  2178.      Call cDAPut(DA, DA.nRows, DA.nCols, 1, "D:1, oprqstuvwxyz")
  2179.      Call cDAPut(DA, 1, 1, 2, "D:2, 1234567890")
  2180.      Call cDAPut(DA, 1, DA.nCols, 2, "D:2, 0987654321")
  2181.      Call cDAPut(DA, DA.nRows, 1, 2, "D:2, 12345ABCDE")
  2182.      Call cDAPut(DA, DA.nRows, DA.nCols, 2, "D:2, VWXYZ54321")
  2183.       End If
  2184.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & Trim$(cDAGet(DA, 1, 1, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2185.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2186.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2187.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 1)) & "   , time : " & DA.rTime & Chr$(13)
  2188.       Tmp = Tmp & "R:1  , C:1  , D:2, Value : " & Trim$(cDAGet(DA, 1, 1, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2189.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, 1, DA.nCols, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2190.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, 1, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2191.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, Value : " & Trim$(cDAGet(DA, DA.nRows, DA.nCols, 2)) & "   , time : " & DA.rTime & Chr$(13)
  2192.    End If
  2193.    Call cDAClose(DA, False)
  2194.    Label3.Caption = Tmp
  2195. End Sub
  2196. Sub TestDate ()
  2197.    Dim title      As String
  2198.    Dim Tmp        As String
  2199.    Dim Tmp1       As String
  2200.    Dim Tmp2       As String
  2201.    Dim i          As Integer
  2202.    Dim j          As Integer
  2203.    Dim nYear      As Integer
  2204.    Dim nMonth     As Integer
  2205.    Dim nDay       As Integer
  2206.    Dim nNow       As Long
  2207.    nNow = Int(Now)
  2208.    nYear = Year(nNow)
  2209.    nMonth = Month(nNow)
  2210.    nDay = Day(nNow)
  2211.    Tmp1 = "Today is the '" & Format$(Int(Now), "short date") & "'" & Chr$(13) & Chr$(13)
  2212.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2213.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & Chr$(13) & Chr$(13)
  2214.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2215.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2216.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & Chr$(13)
  2217.    nYear = 0
  2218.    nMonth = 0
  2219.    nDay = 0
  2220.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2221.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & Chr$(13) & Chr$(13) & Chr$(13)
  2222.    nNow = Int(Now)
  2223.    nYear = Year(nNow)
  2224.    nMonth = 1
  2225.    nDay = 1
  2226.    Tmp1 = Tmp1 & "First Day is the '" & Format$(DateSerial(nYear, nMonth, nDay), "short date") & "'" & Chr$(13) & Chr$(13)
  2227.    Tmp1 = Tmp1 & "Day of the week (ISO, U.S., Special) is (" & cDayOfWeek(nYear, nMonth, nDay, True) & ", " & cDayOfWeek(nYear, nMonth, nDay, False) & ", " & cDayOfWeek(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2228.    Tmp1 = Tmp1 & "Day of the year is '" & cDayOfYear(nYear, nMonth, nDay) & "'" & Chr$(13) & Chr$(13)
  2229.    Tmp1 = Tmp1 & "Week of the year (ISO, U.S., Special) is (" & cWeekOfYear(nYear, nMonth, nDay, True) & ", " & cWeekOfYear(nYear, nMonth, nDay, False) & ", " & cWeekOfYear(nYear, nMonth, nDay, 1) & ")" & Chr$(13) & Chr$(13)
  2230.    nNow = cDateToScalar(nYear, nMonth, nDay)
  2231.    Tmp1 = Tmp1 & "Scalar day is '" & nNow & "'" & Chr$(13)
  2232.    nYear = 0
  2233.    nMonth = 0
  2234.    nDay = 0
  2235.    Call cScalarToDate(nNow, nYear, nMonth, nDay)
  2236.    Tmp1 = Tmp1 & "Year : " & nYear & ", Month : " & nMonth & ", Day : " & nDay & Chr$(13) & Chr$(13)
  2237.    Label3.Caption = Tmp1
  2238. End Sub
  2239. Sub TestDAType (Management As Integer)
  2240.    Dim Tmp        As String
  2241.    Dim ErrCode    As Integer
  2242.    Dim DA         As tagDISKARRAY
  2243.    Dim TE         As tagTASKENTRY
  2244.    ErrCode = cMakeDir("c:\t2w_tmp")
  2245.    DA.nFilename = "c:\t2w_tmp\datype.tmp"
  2246.    DA.nType = Len(TE)
  2247.    DA.nIsTyped = True
  2248.    DA.nRows = 100
  2249.    DA.nCols = 100
  2250.    DA.nSheets = 2
  2251.    Select Case Management
  2252.       Case True      'create
  2253.      ErrCode = cDACreate(DA, True)
  2254.       Case False     'use
  2255.      ErrCode = cDACreate(DA, False)
  2256.       Case 1         'clear all
  2257.      ErrCode = cDACreate(DA, False)
  2258.      If (ErrCode = -1) Then ErrCode = cDAClear(DA)
  2259.       Case 2         'clear sheet 2
  2260.      ErrCode = cDACreate(DA, False)
  2261.      If (ErrCode = -1) Then ErrCode = cDAClearSheet(DA, 2)
  2262.       Case 3         'clear last row
  2263.      ErrCode = cDACreate(DA, False)
  2264.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, 1)
  2265.       Case 4         'clear last col
  2266.      ErrCode = cDACreate(DA, False)
  2267.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, 1)
  2268.       Case 5         'clear last row in all sheets
  2269.      ErrCode = cDACreate(DA, False)
  2270.      If (ErrCode = -1) Then ErrCode = cDAClearRow(DA, DA.nRows, -1)
  2271.       Case 6         'clear last col in all sheets
  2272.      ErrCode = cDACreate(DA, False)
  2273.      If (ErrCode = -1) Then ErrCode = cDAClearCol(DA, DA.nCols, -1)
  2274.       End Select
  2275.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  2276.    If (ErrCode = True) Then
  2277.       
  2278.       Tmp = Tmp & "DA.daSize       = " & DA.daSize & Chr$(13)
  2279.       Tmp = Tmp & "DA.Signature    = " & DA.Signature & Chr$(13)
  2280.       Tmp = Tmp & "DA.nFilename    = " & Trim$(DA.nFilename) & Chr$(13)
  2281.       Tmp = Tmp & "DA.nType        = " & DA.nType & Chr$(13)
  2282.       Tmp = Tmp & "DA.nIsTyped     = " & DA.nIsTyped & Chr$(13)
  2283.       Tmp = Tmp & "DA.nRows        = " & DA.nRows & Chr$(13)
  2284.       Tmp = Tmp & "DA.nCols        = " & DA.nCols & Chr$(13)
  2285.       Tmp = Tmp & "DA.nSheets      = " & DA.nSheets & Chr$(13)
  2286.       Tmp = Tmp & "DA.rHandle      = " & DA.rHandle & Chr$(13)
  2287.       Tmp = Tmp & "DA.rElementSize = " & DA.rElementSize & Chr$(13)
  2288.       Tmp = Tmp & "DA.rFileSize    = " & DA.rFileSize & Chr$(13)
  2289.       Tmp = Tmp & "DA.rParts       = " & DA.rParts & Chr$(13)
  2290.       Tmp = Tmp & "DA.rRemain      = " & DA.rRemain & Chr$(13)
  2291.       Tmp = Tmp & "DA.rSheetSize   = " & DA.rSheetSize & Chr$(13)
  2292.       Tmp = Tmp & "DA.rTime        = " & DA.rTime & Chr$(13) & Chr$(13)
  2293.       If (Management = True) Then
  2294.      ErrCode = cTasks(TE, True)
  2295.      Call cDAPutType(DA, 1, 1, 1, TE)
  2296.      ErrCode = cTasks(TE, False)
  2297.      Call cDAPutType(DA, 1, DA.nCols, 1, TE)
  2298.      ErrCode = cTasks(TE, False)
  2299.      Call cDAPutType(DA, DA.nRows, 1, 1, TE)
  2300.      ErrCode = cTasks(TE, False)
  2301.      Call cDAPutType(DA, DA.nRows, DA.nCols, 1, TE)
  2302.      ErrCode = cTasks(TE, False)
  2303.      Call cDAPutType(DA, 1, 1, 2, TE)
  2304.      ErrCode = cTasks(TE, False)
  2305.      Call cDAPutType(DA, 1, DA.nCols, 2, TE)
  2306.      ErrCode = cTasks(TE, False)
  2307.      Call cDAPutType(DA, DA.nRows, 1, 2, TE)
  2308.      ErrCode = cTasks(TE, False)
  2309.      Call cDAPutType(DA, DA.nRows, DA.nCols, 2, TE)
  2310.       End If
  2311.       Call cDAGetType(DA, 1, 1, 1, TE)
  2312.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2313.       Call cDAGetType(DA, 1, DA.nCols, 1, TE)
  2314.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2315.       Call cDAGetType(DA, DA.nRows, 1, 1, TE)
  2316.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2317.       Call cDAGetType(DA, DA.nRows, DA.nCols, 1, TE)
  2318.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2319.       Call cDAGetType(DA, 1, 1, 2, TE)
  2320.       Tmp = Tmp & "R:1  , C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2321.       Call cDAGetType(DA, 1, DA.nCols, 2, TE)
  2322.       Tmp = Tmp & "R:1  , C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2323.       Call cDAGetType(DA, DA.nRows, 1, 2, TE)
  2324.       Tmp = Tmp & "R:" & DA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2325.       Call cDAGetType(DA, DA.nRows, DA.nCols, 2, TE)
  2326.       Tmp = Tmp & "R:" & DA.nRows & ", C:" & DA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & DA.rTime & Chr$(13)
  2327.    End If
  2328.    Call cDAClose(DA, False)
  2329.    Label3.Caption = Tmp
  2330. End Sub
  2331. Sub TestDecrypt ()
  2332.    Dim title      As String
  2333.    Dim Tmp        As String
  2334.    Dim Tmp1       As String
  2335.    Dim Tmp2       As String
  2336.    Dim Tmp3       As String
  2337.    Dim i          As Integer
  2338.    Dim j          As Integer
  2339.    Tmp3 = cToHexa(Format$(76543210))
  2340.    Tmp2 = "TIME TO WIN"
  2341.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2342.       Tmp = cEncrypt(Tmp2, Tmp3, i)
  2343.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") of [" & Tmp & "] with '?' is "
  2344.       Tmp1 = Tmp1 & "[" & cDecrypt(Tmp, Tmp3, i) & "]" & Chr$(13) & Chr$(13)
  2345.    Next i
  2346.    cStartBasisTimer
  2347.    For i = 1 To Item
  2348.       Tmp2 = cDecrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2349.    Next i
  2350.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2351.    Label3.Caption = Tmp1
  2352. End Sub
  2353. Sub TestDeviationI ()
  2354.    Dim title      As String
  2355.    Dim Tmp        As String
  2356.    Dim Tmp1       As String
  2357.    Dim Tmp2       As String
  2358.    Dim i          As Integer
  2359.    Dim j          As Integer
  2360.    Dim m          As Double
  2361.    Dim n          As Double
  2362.    ReDim array(ItemMean) As Integer
  2363.    Randomize Timer
  2364.    m = 0
  2365.    For i = LBound(array) To UBound(array)
  2366.       array(i) = Int(RandI * Rnd(1))
  2367.       m = m + array(i)
  2368.       List1.AddItem "" & array(i)
  2369.    Next i
  2370.    m = m / (UBound(array) - LBound(array) + 1)
  2371.    n = 0
  2372.    For i = LBound(array) To UBound(array)
  2373.       n = n + ((array(i) - m) * (array(i) - m))
  2374.    Next i
  2375.    n = (Sqr(n) / (UBound(array) - LBound(array) + 1))
  2376.    Tmp1 = "The Deviation of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cDeviationI(array()) & " (" & n & ")" & Chr$(13) & Chr$(13)
  2377.    cStartBasisTimer
  2378.    For i = 1 To ItemFile
  2379.       m = cDeviationI(array())
  2380.    Next i
  2381.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2382.    Label3.Caption = Tmp1
  2383. End Sub
  2384. Sub TestDOSGetVolLabel ()
  2385.    Dim title         As String
  2386.    Dim Tmp           As String
  2387.    Dim Tmp1          As String
  2388.    Dim Tmp2          As String
  2389.    Dim i             As Integer
  2390.    Dim j             As Integer
  2391.    For i = 1 To 4
  2392.       Tmp2 = cDOSGetVolumeLabel(Chr$(64 + i))
  2393.       If (Len(Tmp2) > 0) Then
  2394.      Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : '" & Tmp2 & "'" & Chr$(13)
  2395.       Else
  2396.      Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no volume label" & Chr$(13)
  2397.       End If
  2398.    Next i
  2399.    Tmp1 = Tmp1 + Chr$(13)
  2400.    cStartBasisTimer
  2401.    For i = 1 To Item
  2402.       Tmp2 = cDOSGetVolumeLabel("C")
  2403.    Next i
  2404.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2405.    Label3.Caption = Tmp1
  2406. End Sub
  2407. Sub TestDOSMediaID ()
  2408.    Dim title         As String
  2409.    Dim Tmp           As String
  2410.    Dim Tmp1          As String
  2411.    Dim Tmp2          As String
  2412.    Dim i             As Integer
  2413.    Dim j             As Integer
  2414.    Dim MEDIAID       As tagMEDIAID
  2415.    For i = 1 To 7
  2416.       If (cDOSGetMediaID(Chr$(64 + i), MEDIAID) = True) Then
  2417.      Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : " & Chr$(13)
  2418.      Tmp1 = Tmp1 & "   SerialNumber is '" & Hex$(MEDIAID.SerialNumber) & "'" & Chr$(13)
  2419.      Tmp1 = Tmp1 & "   VolLabel is '" & MEDIAID.VolLabel & "'" & Chr$(13)
  2420.      Tmp1 = Tmp1 & "   FileSysType is '" & MEDIAID.FileSysType & "'" & Chr$(13) & Chr$(13)
  2421.       Else
  2422.      Tmp1 = Tmp1 & "Drive " & Chr$(64 + i) & " : no media id" & Chr$(13) & Chr$(13)
  2423.       End If
  2424.    Next i
  2425.    Tmp1 = Tmp1 + Chr$(13)
  2426.    cStartBasisTimer
  2427.    For i = 1 To Item
  2428.       j = cDOSGetMediaID("", MEDIAID)
  2429.    Next i
  2430.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2431.    Label3.Caption = Tmp1
  2432. End Sub
  2433. Sub TestDriveType ()
  2434.    Dim title      As String
  2435.    Dim Tmp        As String
  2436.    Dim Tmp1       As String
  2437.    Dim Tmp2       As String
  2438.    Dim i          As Integer
  2439.    Dim j          As Integer
  2440.    Tmp1 = ""
  2441.    For i = 1 To 26
  2442.       j = cGetDriveType(Chr$(64 + i))
  2443.       If (j > 0) Then
  2444.      Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is "
  2445.      Select Case j
  2446.         Case 2
  2447.            Tmp1 = Tmp1 & "removable disk" & Chr$(13)
  2448.         Case 3
  2449.            Tmp1 = Tmp1 & "fixed disk" & Chr$(13)
  2450.         Case 4
  2451.            Tmp1 = Tmp1 & "remote disk" & Chr$(13)
  2452.         Case 20
  2453.            Tmp1 = Tmp1 & "cd-rom" & Chr$(13)
  2454.      End Select
  2455.       End If
  2456.    Next i
  2457.    Tmp1 = Tmp1 + Chr$(13)
  2458.    cStartBasisTimer
  2459.    For i = 1 To Item
  2460.       j = cGetDriveType("C")
  2461.    Next i
  2462.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2463.    Label3.Caption = Tmp1
  2464. End Sub
  2465. Sub TestEncrypt ()
  2466.    Dim title      As String
  2467.    Dim Tmp        As String
  2468.    Dim Tmp1       As String
  2469.    Dim Tmp2       As String
  2470.    Dim Tmp3       As String
  2471.    Dim i          As Integer
  2472.    Dim j          As Integer
  2473.    Tmp3 = cToHexa(Format$(76543210))
  2474.    Tmp2 = "TIME TO WIN"
  2475.    Tmp = Text1.Text
  2476.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2477.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") of [" & Tmp2 & "] with '?' is "
  2478.       Tmp1 = Tmp1 & "[" & cEncrypt(Tmp2, Tmp3, i) & "]" & Chr$(13) & Chr$(13)
  2479.    Next i
  2480.    cStartBasisTimer
  2481.    For i = 1 To Item
  2482.       Tmp2 = cEncrypt(Tmp2, Tmp1, ENCRYPT_LEVEL_3)
  2483.    Next i
  2484.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2485.    Label3.Caption = Tmp1
  2486. End Sub
  2487. Sub TestExpandTab ()
  2488.    Dim title      As String
  2489.    Dim Tmp        As String
  2490.    Dim Tmp1       As String
  2491.    Dim Tmp2       As String
  2492.    Dim i          As Integer
  2493.    Dim j          As Integer
  2494.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2495.    title = "Expand tab (2 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2496.    Tmp1 = title & cExpandTab(Tmp, 2) & Chr$(13) & Chr$(13)
  2497.    Tmp = "A" & Chr$(9) & "BC" & Chr$(9) & "DEF" & Chr$(9) & "GHIJ" & Chr$(9) & ""
  2498.    title = "Expand tab (4 chars) into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  2499.    Tmp1 = Tmp1 & title & cExpandTab(Tmp, 4) & Chr$(13) & Chr$(13)
  2500.    cStartBasisTimer
  2501.    For i = 1 To Item
  2502.       Tmp2 = cExpandTab(Tmp, 3)
  2503.    Next i
  2504.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2505.    Label3.Caption = Tmp1
  2506. End Sub
  2507. Sub TestFileChangeChars ()
  2508.    Dim title      As String
  2509.    Dim Tmp        As String
  2510.    Dim Tmp1       As String
  2511.    Dim Tmp2       As String
  2512.    Dim Tmp3       As String
  2513.    Dim Tmp4       As String
  2514.    Dim i          As Integer
  2515.    Dim j          As Long
  2516.    Tmp1 = ""
  2517.    Tmp = "c:\autoexec.bat"
  2518.    Tmp2 = "c:\autoexec.tab"
  2519.    Tmp3 = "REM"
  2520.    Tmp4 = "rem"
  2521.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  2522.    Tmp1 = Tmp1 & "File Change Chars : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileChangeChars(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp") & Chr$(13) & Chr$(13)
  2523.    cStartBasisTimer
  2524.    For i = 1 To Item
  2525.       If ((i Mod 2) = 1) Then
  2526.      j = cFileChangeChars(Tmp2, Tmp3, Tmp4, "")
  2527.       Else
  2528.      j = cFileChangeChars(Tmp2, Tmp4, Tmp3, "")
  2529.       End If
  2530.    Next i
  2531.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2532.    Label3.Caption = Tmp1
  2533. End Sub
  2534. Sub TestFileCmp ()
  2535.    Dim title      As String
  2536.    Dim Tmp        As String
  2537.    Dim Tmp1       As String
  2538.    Dim Tmp2       As String
  2539.    Dim i          As Integer
  2540.    Dim j          As Integer
  2541.    Tmp1 = ""
  2542.    Tmp = "c:\autoexec.bat"
  2543.    Tmp2 = "c:\tmp\autoexec.bat"
  2544.    Tmp1 = Tmp1 & "Compare file attribute " & Tmp & " with " & Tmp2 & " is " & cCmpFileAttribute(Tmp, Tmp2) & Chr$(13)
  2545.    Tmp1 = Tmp1 & "Compare file size " & Tmp & " with " & Tmp2 & " is " & cCmpFileSize(Tmp, Tmp2) & Chr$(13)
  2546.    Tmp1 = Tmp1 & "Compare file time " & Tmp & " with " & Tmp2 & " is " & cCmpFileTime(Tmp, Tmp2) & Chr$(13)
  2547.    Tmp1 = Tmp1 & "Compare file contents (case sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, True) & Chr$(13)
  2548.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) " & Tmp & " with " & Tmp2 & " is " & cCmpFileContents(Tmp, Tmp2, False) & Chr$(13) & Chr$(13)
  2549.    cStartBasisTimer
  2550.    For i = 1 To Item
  2551.       j = cCmpFileSize(Tmp, Tmp2)
  2552.    Next i
  2553.    Tmp1 = Tmp1 & "file size speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2554.    cStartBasisTimer
  2555.    For i = 1 To Item
  2556.       j = cCmpFileContents(Tmp, Tmp2, True)
  2557.    Next i
  2558.    Tmp1 = Tmp1 & "file contents (cs) speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2559.    cStartBasisTimer
  2560.    For i = 1 To Item
  2561.       j = cCmpFileContents(Tmp, Tmp2, False)
  2562.    Next i
  2563.    Tmp1 = Tmp1 & "file contents (ns) speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2564.    Label3.Caption = Tmp1
  2565. End Sub
  2566. Sub TestFileCompress ()
  2567.    Dim title      As String
  2568.    Dim Tmp        As String
  2569.    Dim Tmp1       As String
  2570.    Dim Tmp2       As String
  2571.    Dim Tmp3       As String
  2572.    Dim i          As Integer
  2573.    Dim j          As Long
  2574.    Tmp1 = ""
  2575.    Tmp = "c:\autoexec.bat"
  2576.    Tmp2 = "c:\autoexec.tb1"
  2577.    Tmp3 = "c:\autoexec.tb2"
  2578.    Tmp1 = Tmp1 & "File Compress '" & Tmp & "' to '" & Tmp2 & "' is " & cFileCompress(Tmp, Tmp2) & Chr$(13)
  2579.    Tmp1 = Tmp1 & "File Expand '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileExpand(Tmp2, Tmp3) & Chr$(13)
  2580.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  2581.    cStartBasisTimer
  2582.    For i = 1 To Item
  2583.       j = cFileCompress(Tmp, Tmp2)
  2584.    Next i
  2585.    j = cFileExpand(Tmp2, Tmp3)
  2586.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2587.    Label3.Caption = Tmp1
  2588. End Sub
  2589. Sub TestFileCompressTab ()
  2590.    Dim title      As String
  2591.    Dim Tmp        As String
  2592.    Dim Tmp1       As String
  2593.    Dim Tmp2       As String
  2594.    Dim Tmp3       As String
  2595.    Dim i          As Integer
  2596.    Dim j          As Long
  2597.    Tmp1 = ""
  2598.    Tmp = "c:\autoexec.bat"
  2599.    Tmp2 = "c:\autoexec.tb1"
  2600.    Tmp3 = "c:\autoexec.tb2"
  2601.    For i = 1 To 4
  2602.       Tmp1 = Tmp1 & "File CompressTab (" & i & " spaces = 1 tab) " & Tmp & " to " & Tmp2 & " is " & cFileCompressTab(Tmp, Tmp2, i) & Chr$(13)
  2603.       Tmp1 = Tmp1 & "File ExpandTab (" & i & " spaces = 1 tab) " & Tmp2 & " to " & Tmp3 & " is " & cFileExpandTab(Tmp2, Tmp3, i) & Chr$(13)
  2604.       Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  2605.    Next i
  2606.    cStartBasisTimer
  2607.    For i = 1 To Item
  2608.       j = cFileCompressTab(Tmp, Tmp2, 3)
  2609.    Next i
  2610.    j = cFileExpandTab(Tmp2, Tmp3, 3)
  2611.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2612.    Label3.Caption = Tmp1
  2613. End Sub
  2614. Sub TestFileCopy ()
  2615.    Dim title      As String
  2616.    Dim Tmp        As String
  2617.    Dim Tmp1       As String
  2618.    Dim Tmp2       As String
  2619.    Dim i          As Integer
  2620.    Dim j          As Long
  2621.    Tmp1 = ""
  2622.    Tmp = "c:\autoexec.bat"
  2623.    Tmp2 = "c:\autoexec.tab"
  2624.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  2625.    cStartBasisTimer
  2626.    For i = 1 To Item
  2627.       j = cFileCopy(Tmp, Tmp2)
  2628.    Next i
  2629.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2630.    Label3.Caption = Tmp1
  2631. End Sub
  2632. Sub TestFileCRC32 ()
  2633.    Dim title      As String
  2634.    Dim Tmp        As String
  2635.    Dim Tmp1       As String
  2636.    Dim Tmp2       As String
  2637.    Dim i          As Integer
  2638.    Dim j          As Integer
  2639.    Dim k          As Long
  2640.    Tmp = "c:\config.sys"
  2641.    title = "CRC32 for file '" & Tmp & "' is "
  2642.    Tmp1 = Tmp1 & title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  2643.    Tmp = "c:\autoexec.bat"
  2644.    title = "CRC32 for file '" & Tmp & "' is "
  2645.    Tmp1 = Tmp1 & title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  2646.    Tmp = "c:\command.com"
  2647.    title = "CRC32 for file '" & Tmp & "' is "
  2648.    Tmp1 = Tmp1 & title & Hex$(cFileCRC32(Tmp, OPEN_MODE_BINARY)) & Chr$(13) & Chr$(13)
  2649.    cStartBasisTimer
  2650.    For i = 1 To ItemFile
  2651.       k = cFileCRC32(Tmp, OPEN_MODE_BINARY)
  2652.    Next i
  2653.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2654.    Label3.Caption = Tmp1
  2655. End Sub
  2656. Sub TestFileEncrypt ()
  2657.    Dim title      As String
  2658.    Dim Tmp        As String
  2659.    Dim Tmp1       As String
  2660.    Dim Tmp2       As String
  2661.    Dim Tmp3       As String
  2662.    Dim Tmp4       As String
  2663.    Dim i          As Integer
  2664.    Dim j          As Long
  2665.    Tmp1 = ""
  2666.    Tmp = "c:\autoexec.bat"
  2667.    Tmp2 = "c:\ac.tb1"
  2668.    Tmp3 = "c:\ac.tb2"
  2669.    Tmp4 = cToHexa(Format$(76543210))
  2670.    For i = ENCRYPT_LEVEL_0 To ENCRYPT_LEVEL_4
  2671.       Tmp1 = Tmp1 & "Encrypt (level " & i & ") '" & Tmp & "' with '?' to '" & Tmp2 & "' is " & cFileEncrypt(Tmp, Tmp2, Tmp4, i) & Chr$(13)
  2672.       Tmp1 = Tmp1 & "Decrypt (level " & i & ") '" & Tmp2 & "' with '?' to '" & Tmp3 & "' is " & cFileDecrypt(Tmp2, Tmp3, Tmp4, i) & Chr$(13)
  2673.       Tmp1 = Tmp1 & "Compare (ns) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  2674.    Next i
  2675.    cStartBasisTimer
  2676.    For i = 1 To Item
  2677.       j = cFileEncrypt(Tmp, Tmp2, Tmp4, ENCRYPT_LEVEL_3)
  2678.    Next i
  2679.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2680.    Label3.Caption = Tmp1
  2681. End Sub
  2682. Sub TestFileFilter ()
  2683.    Dim title      As String
  2684.    Dim Tmp        As String
  2685.    Dim Tmp1       As String
  2686.    Dim Tmp2       As String
  2687.    Dim Tmp3       As String
  2688.    Dim i          As Integer
  2689.    Dim j          As Long
  2690.    Tmp1 = ""
  2691.    Tmp = "c:\autoexec.bat"
  2692.    Tmp2 = "c:\autoexec.tab"
  2693.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  2694.    Tmp3 = Tmp3 + LCase$(Tmp)
  2695.    Tmp1 = Tmp1 & "File Filter (A-Z, a-z) " & Tmp & " to " & Tmp2 & " is " & cFileFilter(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  2696.    cStartBasisTimer
  2697.    For i = 1 To Item
  2698.       j = cFileFilter(Tmp, Tmp2, Tmp3)
  2699.    Next i
  2700.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2701.    Label3.Caption = Tmp1
  2702. End Sub
  2703. Sub TestFileFilterNot ()
  2704.    Dim title      As String
  2705.    Dim Tmp        As String
  2706.    Dim Tmp1       As String
  2707.    Dim Tmp2       As String
  2708.    Dim Tmp3       As String
  2709.    Dim i          As Integer
  2710.    Dim j          As Long
  2711.    Tmp1 = ""
  2712.    Tmp = "c:\autoexec.bat"
  2713.    Tmp2 = "c:\autoexec.tab"
  2714.    Tmp3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  2715.    Tmp3 = Tmp3 + LCase$(Tmp) + " =" + Chr$(13) + Chr$(10)
  2716.    Tmp1 = Tmp1 & "File Filter Not in (A-Z, a-z, CR, LF, SPACE, =) " & Tmp & " to " & Tmp2 & " is " & cFileFilterNot(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  2717.    cStartBasisTimer
  2718.    For i = 1 To Item
  2719.       j = cFileFilterNot(Tmp, Tmp2, Tmp3)
  2720.    Next i
  2721.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2722.    Label3.Caption = Tmp1
  2723. End Sub
  2724. Sub TestFileGetAttrib ()
  2725.    Dim title      As String
  2726.    Dim Tmp        As String
  2727.    Dim Tmp1       As String
  2728.    Dim Tmp2       As String
  2729.    Dim i          As Integer
  2730.    Dim j          As Integer
  2731.    Dim FileAttrib As FileAttributeType
  2732.    Tmp1 = ""
  2733.    Tmp = cFilesInDirectory("*.*", True)
  2734.    j = cFileGetAttrib(Tmp, FileAttrib)
  2735.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2736.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2737.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2738.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & Chr$(13)
  2739.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2740.    Tmp = cSubDirectory("*.*", True)
  2741.    Tmp = cSubDirectory("*.*", False)
  2742.    Tmp = cSubDirectory("*.*", False)
  2743.    j = cFileGetAttrib(Tmp, FileAttrib)
  2744.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2745.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2746.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2747.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.SubDir, " is SubDir", " is not SubDir") & Chr$(13)
  2748.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2749.    cStartBasisTimer
  2750.    For i = 1 To Item
  2751.       j = cFileGetAttrib(Tmp, FileAttrib)
  2752.    Next i
  2753.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2754.    Label3.Caption = Tmp1
  2755. End Sub
  2756. Sub TestFileLineCount ()
  2757.    Dim title      As String
  2758.    Dim Tmp        As String
  2759.    Dim Tmp1       As String
  2760.    Dim Tmp2       As String
  2761.    Dim Tmp3       As String
  2762.    Dim i          As Integer
  2763.    Dim j          As Long
  2764.    Tmp1 = ""
  2765.    Tmp = "C:\AUTOEXEC.BAT"
  2766.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & Chr$(13) & Chr$(13)
  2767.    Tmp = "C:\CONFIG.SYS"
  2768.    Tmp1 = Tmp1 & "Total lines in '" & Tmp & "' are " & cFileLineCount(Tmp) & Chr$(13) & Chr$(13)
  2769.    cStartBasisTimer
  2770.    For i = 1 To Item
  2771.       j = cFileLineCount(Tmp)
  2772.    Next i
  2773.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2774.    Label3.Caption = Tmp1
  2775. End Sub
  2776. Sub TestFileMerge ()
  2777.    Dim title      As String
  2778.    Dim Tmp        As String
  2779.    Dim Tmp1       As String
  2780.    Dim Tmp2       As String
  2781.    Dim Tmp3       As String
  2782.    Dim i          As Integer
  2783.    Dim j          As Long
  2784.    Tmp1 = ""
  2785.    Tmp = "c:\autoexec.bat"
  2786.    Tmp2 = "c:\config.sys"
  2787.    Tmp3 = "c:\merge.byt"
  2788.    Tmp1 = Tmp1 & "File Merge '" & Tmp & "' and '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileMerge(Tmp, Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  2789.    cStartBasisTimer
  2790.    For i = 1 To Item
  2791.       j = cFileMerge(Tmp, Tmp2, Tmp3)
  2792.    Next i
  2793.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2794.    Label3.Caption = Tmp1
  2795. End Sub
  2796. Sub TestFilePathExists ()
  2797.    Dim title      As String
  2798.    Dim Tmp        As String
  2799.    Dim Tmp1       As String
  2800.    Dim Tmp2       As String
  2801.    Dim i          As Integer
  2802.    Dim j          As Integer
  2803.    Tmp1 = "File time2win.dll " & IIf(cFilePathExists("time2win.dll") = True, "found", "not found") & Chr$(13) & Chr$(13)
  2804.    Tmp1 = Tmp1 & "Path \windows " & IIf(cFilePathExists("\windows") = True, "found", "not found") & Chr$(13) & Chr$(13)
  2805.    Tmp1 = Tmp1 & "Path \windows\wintime " & IIf(cFilePathExists("\windows\wintime") = True, "found", "not found") & Chr$(13) & Chr$(13)
  2806.    cStartBasisTimer
  2807.    For i = 1 To Item
  2808.       j = cFilePathExists("time2win.dll")
  2809.    Next i
  2810.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  2811.    Label3.Caption = Tmp1
  2812. End Sub
  2813. Sub TestFileResetAllAttrib ()
  2814.    Dim title      As String
  2815.    Dim Tmp        As String
  2816.    Dim Tmp1       As String
  2817.    Dim Tmp2       As String
  2818.    Dim i          As Integer
  2819.    Dim j          As Integer
  2820.    Dim FileAttrib As FileAttributeType
  2821.    Tmp1 = ""
  2822.    Tmp = "TEST.DAT"
  2823.    Call CreateFile
  2824.    FileAttrib.Archive = False
  2825.    FileAttrib.Hidden = True
  2826.    FileAttrib.ReadOnly = True
  2827.    FileAttrib.System = True
  2828.    j = cFileResetAllAttrib(Tmp)
  2829.    j = cFileGetAttrib(Tmp, FileAttrib)
  2830.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2831.    Tmp1 = Tmp1 & " flag archive" & Chr$(13)
  2832.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  2833.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  2834.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  2835.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2836.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2837.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2838.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2839.    cStartBasisTimer
  2840.    For i = 1 To ItemFile
  2841.       j = cFileResetAllAttrib(Tmp)
  2842.    Next i
  2843.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2844.    Label3.Caption = Tmp1
  2845. End Sub
  2846. Sub TestFileResetArchive ()
  2847.    Dim title      As String
  2848.    Dim Tmp        As String
  2849.    Dim Tmp1       As String
  2850.    Dim Tmp2       As String
  2851.    Dim i          As Integer
  2852.    Dim j          As Integer
  2853.    Dim nArchive   As Integer
  2854.    Dim nHidden    As Integer
  2855.    Dim nReadOnly  As Integer
  2856.    Dim nSubDir    As Integer
  2857.    Dim nSystem    As Integer
  2858.    Dim FileAttrib As FileAttributeType
  2859.    Tmp1 = ""
  2860.    Tmp = "TEST.DAT"
  2861.    Call CreateFile
  2862.    j = cFileSetAllAttrib(Tmp)
  2863.    j = cFileResetArchive(Tmp)
  2864.    j = cFileGetAttrib(Tmp, FileAttrib)
  2865.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2866.    Tmp1 = Tmp1 & " flag archive" & Chr$(13) & Chr$(13)
  2867.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2868.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2869.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2870.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2871.    cStartBasisTimer
  2872.    For i = 1 To ItemFile
  2873.       j = cFileResetArchive(Tmp)
  2874.    Next i
  2875.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2876.    Label3.Caption = Tmp1
  2877. End Sub
  2878. Sub TestFileResetHidden ()
  2879.    Dim title      As String
  2880.    Dim Tmp        As String
  2881.    Dim Tmp1       As String
  2882.    Dim Tmp2       As String
  2883.    Dim i          As Integer
  2884.    Dim j          As Integer
  2885.    Dim nArchive   As Integer
  2886.    Dim nHidden    As Integer
  2887.    Dim nReadOnly  As Integer
  2888.    Dim nSubDir    As Integer
  2889.    Dim nSystem    As Integer
  2890.    Dim FileAttrib As FileAttributeType
  2891.    Tmp1 = ""
  2892.    Tmp = "TEST.DAT"
  2893.    Call CreateFile
  2894.    j = cFileSetAllAttrib(Tmp)
  2895.    j = cFileResetHidden(Tmp)
  2896.    j = cFileGetAttrib(Tmp, FileAttrib)
  2897.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2898.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13) & Chr$(13)
  2899.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2900.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2901.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2902.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2903.    cStartBasisTimer
  2904.    For i = 1 To ItemFile
  2905.       j = cFileResetHidden(Tmp)
  2906.    Next i
  2907.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2908.    Label3.Caption = Tmp1
  2909. End Sub
  2910. Sub TestFileResetReadOnly ()
  2911.    Dim title      As String
  2912.    Dim Tmp        As String
  2913.    Dim Tmp1       As String
  2914.    Dim Tmp2       As String
  2915.    Dim i          As Integer
  2916.    Dim j          As Integer
  2917.    Dim FileAttrib As FileAttributeType
  2918.    Dim nArchive   As Integer
  2919.    Dim nHidden    As Integer
  2920.    Dim nReadOnly  As Integer
  2921.    Dim nSubDir    As Integer
  2922.    Dim nSystem    As Integer
  2923.    Tmp1 = ""
  2924.    Tmp = "TEST.DAT"
  2925.    Call CreateFile
  2926.    j = cFileSetAllAttrib(Tmp)
  2927.    j = cFileResetReadOnly(Tmp)
  2928.    j = cFileGetAttrib(Tmp, FileAttrib)
  2929.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2930.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13) & Chr$(13)
  2931.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2932.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2933.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2934.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2935.    cStartBasisTimer
  2936.    For i = 1 To ItemFile
  2937.       j = cFileResetReadOnly(Tmp)
  2938.    Next i
  2939.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2940.    Label3.Caption = Tmp1
  2941. End Sub
  2942. Sub TestFileResetSystem ()
  2943.    Dim title      As String
  2944.    Dim Tmp        As String
  2945.    Dim Tmp1       As String
  2946.    Dim Tmp2       As String
  2947.    Dim i          As Integer
  2948.    Dim j          As Integer
  2949.    Dim FileAttrib As FileAttributeType
  2950.    Tmp1 = ""
  2951.    Tmp = "TEST.DAT"
  2952.    Call CreateFile
  2953.    j = cFileSetAllAttrib(Tmp)
  2954.    j = cFileResetSystem(Tmp)
  2955.    j = cFileGetAttrib(Tmp, FileAttrib)
  2956.    Tmp1 = "File " & Tmp & " has been reset with" & Chr$(13)
  2957.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  2958.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  2959.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  2960.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  2961.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  2962.    cStartBasisTimer
  2963.    For i = 1 To ItemFile
  2964.       j = cFileResetSystem(Tmp)
  2965.    Next i
  2966.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  2967.    Label3.Caption = Tmp1
  2968. End Sub
  2969. Sub TestFileS ()
  2970.    Dim title      As String
  2971.    Dim Tmp        As String
  2972.    Dim Tmp1       As String
  2973.    Dim Tmp2       As String
  2974.    Dim Tmp3       As String
  2975.    Dim Tmp4       As String
  2976.    Dim i          As Integer
  2977.    Dim j          As Long
  2978.    Tmp1 = ""
  2979.    Tmp = "c:\autoexec.bat"
  2980.    Tmp3 = "re"
  2981.    Tmp4 = "SET"
  2982.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, False) & Chr$(13) & Chr$(13)
  2983.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, False) & Chr$(13) & Chr$(13)
  2984.    Tmp1 = Tmp1 & "File Search (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, False) & Chr$(13) & Chr$(13)
  2985.    Tmp1 = Tmp1 & "File Search and Count (insensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, False) & Chr$(13) & Chr$(13)
  2986.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp3, True) & Chr$(13) & Chr$(13)
  2987.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp3 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp3, True) & Chr$(13) & Chr$(13)
  2988.    Tmp1 = Tmp1 & "File Search (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearch(Tmp, Tmp4, True) & Chr$(13) & Chr$(13)
  2989.    Tmp1 = Tmp1 & "File Search and Count (sensitive) : '" & Tmp4 & "' in '" & Tmp & "' is " & cFileSearchCount(Tmp, Tmp4, True) & Chr$(13) & Chr$(13)
  2990.    cStartBasisTimer
  2991.    For i = 1 To Item
  2992.       If ((i Mod 2) = 1) Then
  2993.      j = cFileSearch(Tmp, Tmp3, False)
  2994.       Else
  2995.      j = cFileSearchCount(Tmp, Tmp3, False)
  2996.       End If
  2997.    Next i
  2998.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  2999.    Label3.Caption = Tmp1
  3000. End Sub
  3001. Sub TestFileSetAllAttrib ()
  3002.    Dim title      As String
  3003.    Dim Tmp        As String
  3004.    Dim Tmp1       As String
  3005.    Dim Tmp2       As String
  3006.    Dim i          As Integer
  3007.    Dim j          As Integer
  3008.    Dim FileAttrib As FileAttributeType
  3009.    Tmp1 = ""
  3010.    Tmp = "TEST.DAT"
  3011.    Call CreateFile
  3012.    j = cFileSetAllAttrib(Tmp)
  3013.    j = cFileGetAttrib(Tmp, FileAttrib)
  3014.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3015.    Tmp1 = Tmp1 & " flag archive" & Chr$(13)
  3016.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  3017.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  3018.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3019.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3020.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3021.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3022.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3023.    cStartBasisTimer
  3024.    For i = 1 To ItemFile
  3025.       j = cFileSetAllAttrib(Tmp)
  3026.    Next i
  3027.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3028.    Label3.Caption = Tmp1
  3029. End Sub
  3030. Sub TestFileSetArchive ()
  3031.    Dim title      As String
  3032.    Dim Tmp        As String
  3033.    Dim Tmp1       As String
  3034.    Dim Tmp2       As String
  3035.    Dim i          As Integer
  3036.    Dim j          As Integer
  3037.    Dim FileAttrib As FileAttributeType
  3038.    Tmp1 = ""
  3039.    Tmp = "TEST.DAT"
  3040.    Call CreateFile
  3041.    j = cFileSetArchive(Tmp)
  3042.    j = cFileGetAttrib(Tmp, FileAttrib)
  3043.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3044.    Tmp1 = Tmp1 & " flag archive" & Chr$(13) & Chr$(13)
  3045.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3046.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3047.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3048.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3049.    cStartBasisTimer
  3050.    For i = 1 To ItemFile
  3051.       j = cFileSetArchive(Tmp)
  3052.    Next i
  3053.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3054.    Label3.Caption = Tmp1
  3055. End Sub
  3056. Sub TestFileSetAttrib ()
  3057.    Dim title      As String
  3058.    Dim Tmp        As String
  3059.    Dim Tmp1       As String
  3060.    Dim Tmp2       As String
  3061.    Dim i          As Integer
  3062.    Dim j          As Integer
  3063.    Dim FileAttrib As FileAttributeType
  3064.    Tmp1 = ""
  3065.    Tmp = "TEST.DAT"
  3066.    Call CreateFile
  3067.    FileAttrib.Archive = False
  3068.    FileAttrib.Hidden = True
  3069.    FileAttrib.ReadOnly = True
  3070.    FileAttrib.System = True
  3071.    j = cFileSetAttrib(Tmp, FileAttrib)
  3072.    j = cFileGetAttrib(Tmp, FileAttrib)
  3073.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3074.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13)
  3075.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13)
  3076.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3077.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3078.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3079.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3080.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3081.    cStartBasisTimer
  3082.    For i = 1 To ItemFile
  3083.       j = cFileSetAttrib(Tmp, FileAttrib)
  3084.    Next i
  3085.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3086.    Label3.Caption = Tmp1
  3087. End Sub
  3088. Sub TestFileSetHidden ()
  3089.    Dim title      As String
  3090.    Dim Tmp        As String
  3091.    Dim Tmp1       As String
  3092.    Dim Tmp2       As String
  3093.    Dim i          As Integer
  3094.    Dim j          As Integer
  3095.    Dim FileAttrib As FileAttributeType
  3096.    Tmp1 = ""
  3097.    Tmp = "TEST.DAT"
  3098.    Call CreateFile
  3099.    j = cFileSetHidden(Tmp)
  3100.    j = cFileGetAttrib(Tmp, FileAttrib)
  3101.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3102.    Tmp1 = Tmp1 & " flag hidden" & Chr$(13) & Chr$(13)
  3103.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3104.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3105.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3106.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3107.    cStartBasisTimer
  3108.    For i = 1 To ItemFile
  3109.       j = cFileSetHidden(Tmp)
  3110.    Next i
  3111.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3112.    Label3.Caption = Tmp1
  3113. End Sub
  3114. Sub TestFileSetReadOnly ()
  3115.    Dim title      As String
  3116.    Dim Tmp        As String
  3117.    Dim Tmp1       As String
  3118.    Dim Tmp2       As String
  3119.    Dim i          As Integer
  3120.    Dim j          As Integer
  3121.    Dim FileAttrib As FileAttributeType
  3122.    Tmp1 = ""
  3123.    Tmp = "TEST.DAT"
  3124.    Call CreateFile
  3125.    j = cFileSetReadOnly(Tmp)
  3126.    j = cFileGetAttrib(Tmp, FileAttrib)
  3127.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3128.    Tmp1 = Tmp1 & " flag read-only" & Chr$(13) & Chr$(13)
  3129.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3130.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3131.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3132.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3133.    cStartBasisTimer
  3134.    For i = 1 To ItemFile
  3135.       j = cFileSetReadOnly(Tmp)
  3136.    Next i
  3137.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3138.    Label3.Caption = Tmp1
  3139. End Sub
  3140. Sub TestFileSetSystem ()
  3141.    Dim title      As String
  3142.    Dim Tmp        As String
  3143.    Dim Tmp1       As String
  3144.    Dim Tmp2       As String
  3145.    Dim i          As Integer
  3146.    Dim j          As Integer
  3147.    Dim FileAttrib As FileAttributeType
  3148.    Tmp1 = ""
  3149.    Tmp = "TEST.DAT"
  3150.    Call CreateFile
  3151.    j = cFileSetSystem(Tmp)
  3152.    j = cFileGetAttrib(Tmp, FileAttrib)
  3153.    Tmp1 = "File " & Tmp & " has been set with" & Chr$(13)
  3154.    Tmp1 = Tmp1 & " flag system" & Chr$(13) & Chr$(13)
  3155.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Archive, " is Archive", " is not Archive") & Chr$(13)
  3156.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.Hidden, " is Hidden", " is not Hidden") & Chr$(13)
  3157.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.ReadOnly, " is ReadOnly", " is not ReadOnly") & Chr$(13)
  3158.    Tmp1 = Tmp1 & "File " & Tmp & IIf(FileAttrib.System, " is System", " is not System") & Chr$(13) & Chr$(13)
  3159.    cStartBasisTimer
  3160.    For i = 1 To ItemFile
  3161.       j = cFileSetSystem(Tmp)
  3162.    Next i
  3163.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3164.    Label3.Caption = Tmp1
  3165. End Sub
  3166. Sub TestFilesInDirectory ()
  3167.    Dim title      As String
  3168.    Dim Tmp        As String
  3169.    Dim Tmp1       As String
  3170.    Dim Tmp2       As String
  3171.    Dim i          As Integer
  3172.    Dim j          As Integer
  3173.    Dim k          As Long
  3174.    title = "The 10 first files in this directory are" & Chr$(13) & Chr$(13)
  3175.    Tmp1 = title
  3176.    Tmp2 = cFilesInDirectory("*.*", True)
  3177.    For i = 1 To 10
  3178.       Tmp1 = Tmp1 & Tmp2 & Chr$(13)
  3179.       Tmp2 = cFilesInDirectory("*.*", False)
  3180.    Next i
  3181.    Tmp1 = Tmp1 & Chr$(13)
  3182.    cStartBasisTimer
  3183.    For i = 1 To Item
  3184.       Tmp = cFilesInDirectory("*.*", True)
  3185.    Next i
  3186.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3187.    Label3.Caption = Tmp1
  3188. End Sub
  3189. Sub TestFilesInDirOnDisk ()
  3190.    Dim title      As String
  3191.    Dim Tmp        As String
  3192.    Dim Tmp1       As String
  3193.    Dim Tmp2       As String
  3194.    Dim i          As Integer
  3195.    Dim j          As Integer
  3196.    Dim k          As Long
  3197.    j = cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL)
  3198.    Tmp1 = "The files (any attributes) in 'C:\' are (" & j & ") see first list" & Chr$(13) & Chr$(13)
  3199.    j = cFileToListBox(List1.hWnd, "c:\test.tmp")
  3200.    j = cFilesInDirOnDisk("c:\test1.tmp", "c:\*.*", -A_ARCH)
  3201.    Tmp1 = Tmp1 & "The files (only archive, not other attribute) in 'C:\' are (" & j & ") see second list" & Chr$(13) & Chr$(13)
  3202.    j = cFileToListBox(List2.hWnd, "c:\test1.tmp")
  3203.    Tmp1 = Tmp1 & "Number of files (with at least one of the following attribute)" & Chr$(13) & Chr$(13)
  3204.    Tmp1 = Tmp1 & "Any : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL) & Chr$(13)
  3205.    Tmp1 = Tmp1 & "(N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_NORMAL) & Chr$(13)
  3206.    Tmp1 = Tmp1 & "(A)rchive, (N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_NORMAL_ARCHIVE) & Chr$(13)
  3207.    Tmp1 = Tmp1 & "(A)rchive : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ARCH) & Chr$(13)
  3208.    Tmp1 = Tmp1 & "(A)rchive, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ARCH Or A_RDONLY) & Chr$(13)
  3209.    Tmp1 = Tmp1 & "(S)ystem, (H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_SYSTEM Or A_HIDDEN Or A_RDONLY) & Chr$(13)
  3210.    Tmp1 = Tmp1 & "(H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_HIDDEN Or A_RDONLY) & Chr$(13)
  3211.    Tmp1 = Tmp1 & "(R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_RDONLY) & Chr$(13)
  3212.    Tmp1 = Tmp1 & Chr$(13)
  3213.    Tmp1 = Tmp1 & "Number of files (with exact attribute excluding all others)" & Chr$(13) & Chr$(13)
  3214.    Tmp1 = Tmp1 & "(N)ormal : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_NORMAL)) & Chr$(13)
  3215.    Tmp1 = Tmp1 & "(A)rchive : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_ARCH)) & Chr$(13)
  3216.    Tmp1 = Tmp1 & "(A)rchive, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_ARCH Or A_RDONLY)) & Chr$(13)
  3217.    Tmp1 = Tmp1 & "(S)ystem, (H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_SYSTEM Or A_HIDDEN Or A_RDONLY)) & Chr$(13)
  3218.    Tmp1 = Tmp1 & "(H)idden, (R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_HIDDEN Or A_RDONLY)) & Chr$(13)
  3219.    Tmp1 = Tmp1 & "(R)ead-Only : " & cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", -(A_RDONLY)) & Chr$(13)
  3220.    Tmp1 = Tmp1 & Chr$(13)
  3221.    cStartBasisTimer
  3222.    For i = 1 To Item
  3223.       j = cFilesInDirOnDisk("c:\test.tmp", "c:\*.*", A_ALL)
  3224.    Next i
  3225.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3226.    Label3.Caption = Tmp1
  3227. End Sub
  3228. Sub TestFilesInDirToArray ()
  3229.    Dim title      As String
  3230.    Dim Tmp        As String
  3231.    Dim Tmp1       As String
  3232.    Dim Tmp2       As String
  3233.    Dim i          As Long
  3234.    Dim r          As Integer
  3235.    Dim m1         As Integer
  3236.    Dim m2         As Integer
  3237.    m1 = -999
  3238.    m2 = 1000
  3239.    ReDim AD(m1 To m2)         As tagVARSTRING
  3240.    ' initialization because we use ReDim without Global definition
  3241.    For i = m1 To m2
  3242.       AD(i).Contents = Space$(256)
  3243.    Next i
  3244.    r = cFilesInDirToArray("C:\*.*", A_ALL, AD())
  3245.    Tmp1 = "Reading directory 'C:\*.*' into AD(" & m1 & " To " & m2 & ") is '" & r & "'" & Chr$(13)
  3246.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") first files in array are : " & Chr$(13) & Chr$(13)
  3247.    For i = 0 To 2
  3248.       Tmp1 = Tmp1 & AD(m1 + i).Contents & Chr$(13)
  3249.    Next i
  3250.    Tmp1 = Tmp1 & Chr$(13)
  3251.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") last files in array are : " & Chr$(13) & Chr$(13)
  3252.    For i = 0 To 2
  3253.       Tmp1 = Tmp1 & AD(m1 + r - 1 - 2 + i).Contents & Chr$(13)
  3254.    Next i
  3255.    Tmp1 = Tmp1 & Chr$(13)
  3256.    r = cArrayToListBox(List1.hWnd, AD())
  3257.    Tmp2 = cGetDefaultCurrentDir()
  3258.    r = cFilesInDirToArray("*.*", A_ALL, AD())
  3259.    Tmp1 = Tmp1 & "Reading directory '" & Tmp2 & "' into AD(" & m1 & " To " & m2 & ") is '" & r & "'" & Chr$(13)
  3260.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") first files in array are : " & Chr$(13) & Chr$(13)
  3261.    For i = 0 To 2
  3262.       Tmp1 = Tmp1 & AD(m1 + i).Contents & Chr$(13)
  3263.    Next i
  3264.    Tmp1 = Tmp1 & Chr$(13)
  3265.    Tmp1 = Tmp1 & "   The 3 (on " & r & ") last files in array are : " & Chr$(13) & Chr$(13)
  3266.    For i = 0 To 2
  3267.       Tmp1 = Tmp1 & AD(m1 + r - 1 - 2 + i).Contents & Chr$(13)
  3268.    Next i
  3269.    r = cArrayToListBox(List2.hWnd, AD())
  3270.    cStartBasisTimer
  3271.    For i = 1 To Item
  3272.       r = cFilesInDirToArray("C:\*.*", A_ALL, AD())
  3273.    Next i
  3274.    Tmp1 = Tmp1 & Chr$(13) & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3275.    Label3.Caption = Tmp1
  3276. End Sub
  3277. Sub TestFilesInfoInDir ()
  3278.    Dim title      As String
  3279.    Dim Tmp        As String
  3280.    Dim Tmp1       As String
  3281.    Dim Tmp2       As String
  3282.    Dim i          As Integer
  3283.    Dim j          As Integer
  3284.    Dim k          As Long
  3285.    Dim FI         As tagFILEINFO
  3286.    title = "The 7 first files in the current directory '" & cGetDefaultCurrentDir() & "' are" & Chr$(13) & Chr$(13)
  3287.    Tmp1 = title
  3288.    Tmp2 = cFilesInfoInDir("*.*", FI, True)
  3289.    For i = 1 To 7
  3290.       Tmp1 = Tmp1 & Tmp2 & ", " & FI.fSize & ", " & FI.fDate & ", " & FI.fTime & ", " & FI.fAttribute & Chr$(13)
  3291.       Tmp2 = cFilesInfoInDir("*.*", FI, False)
  3292.    Next i
  3293.    Tmp1 = Tmp1 & Chr$(13)
  3294.    cStartBasisTimer
  3295.    For i = 1 To Item
  3296.       Tmp = cFilesInfoInDir("*.*", FI, True)
  3297.    Next i
  3298.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3299.    Label3.Caption = Tmp1
  3300. End Sub
  3301. Sub TestFileSize ()
  3302.    Dim title      As String
  3303.    Dim Tmp        As String
  3304.    Dim Tmp1       As String
  3305.    Dim Tmp2       As String
  3306.    Dim i          As Integer
  3307.    Dim j          As Integer
  3308.    Dim k          As Long
  3309.    Tmp1 = "File size for time2win.dll is " & cFileSize("time2win.dll") & Chr$(13) & Chr$(13)
  3310.    Tmp1 = Tmp1 & "File size for Path \windows " & cFileSize("\windows") & Chr$(13) & Chr$(13)
  3311.    Tmp1 = Tmp1 & "File size for Path \windows\wintime " & cFileSize("\windows\wintime") & Chr$(13) & Chr$(13)
  3312.    cStartBasisTimer
  3313.    For i = 1 To Item
  3314.       k = cFileSize("time2win.dll")
  3315.    Next i
  3316.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3317.    Label3.Caption = Tmp1
  3318. End Sub
  3319. Sub TestFileSort (SortMethod As Integer, VarFix As Integer)
  3320.    Dim title      As String
  3321.    Dim Tmp        As String
  3322.    Dim Tmp1       As String
  3323.    Dim Tmp2       As String
  3324.    Dim Tmp3       As String
  3325.    Dim i          As Integer
  3326.    Dim j          As Integer
  3327.    Dim n          As Integer
  3328.    Dim m          As Double
  3329.    Tmp = "c:\autoexec.bat"
  3330.    Tmp2 = "c:\ae" & Format$(SortMethod) & ".tab"
  3331.    Close #1
  3332.    Open Tmp For Input Shared As #1
  3333.    While Not EOF(1)
  3334.       Line Input #1, Tmp3
  3335.       List1.AddItem Tmp3
  3336.    Wend
  3337.    Close #1
  3338.    If (VarFix = False) Then
  3339.       j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, -1, -1, -1, n)
  3340.    Else
  3341.       'j = cFileSort("c:\autoexec.bat", Tmp2, SortMethod, 20, 0, 10, n)
  3342.       j = cFileSort("c:\tmp\_dat_hr.Dat", "c:\tmp\tmp" & SortMethod & ".tmp", SortMethod, 50, 0, 11, n)
  3343.    End If
  3344.    Close #1
  3345.    Open Tmp2 For Input Shared As #1
  3346.    While Not EOF(1)
  3347.       Line Input #1, Tmp3
  3348.       List2.AddItem Tmp3
  3349.    Wend
  3350.    Close #1
  3351.    Select Case SortMethod
  3352.       Case (SORT_ASCENDING + SORT_CASE_SENSITIVE):
  3353.      Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and CS is '" & j & "' and records are '" & n & "'"
  3354.       Case (SORT_DESCENDING + SORT_CASE_SENSITIVE):
  3355.      Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and CS is '" & j & "' and records are '" & n & "'"
  3356.       Case (SORT_ASCENDING + SORT_CASE_INSENSITIVE):
  3357.      Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in ASC and NS is '" & j & "' and records are '" & n & "'"
  3358.       Case (SORT_DESCENDING + SORT_CASE_INSENSITIVE):
  3359.      Tmp1 = Tmp1 + "Sort '" & Tmp & "' into '" & Tmp2 & "' in DSC and NS is '" & j & "' and records are '" & n & "'"
  3360.    End Select
  3361.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  3362.    cStartBasisTimer
  3363.    For i = 1 To ItemFile
  3364.       j = cFileSort(Tmp, Tmp2, SortMethod, -1, -1, -1, n)
  3365.       DoEvents
  3366.    Next i
  3367.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3368.    Label3.Caption = Tmp1
  3369. End Sub
  3370. Sub TestFileSR ()
  3371.    Dim title      As String
  3372.    Dim Tmp        As String
  3373.    Dim Tmp1       As String
  3374.    Dim Tmp2       As String
  3375.    Dim Tmp3       As String
  3376.    Dim Tmp4       As String
  3377.    Dim i          As Integer
  3378.    Dim j          As Long
  3379.    Tmp1 = ""
  3380.    Tmp = "c:\autoexec.bat"
  3381.    Tmp2 = "c:\autoexec.tab"
  3382.    Tmp3 = "SET "
  3383.    Tmp4 = "rem SET "
  3384.    Tmp1 = Tmp1 & "File Copy " & Tmp & " to " & Tmp2 & " is " & cFileCopy(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  3385.    Tmp1 = Tmp1 & "File Search-Replace (insensitive) : '" & Tmp3 & "' -> '" & Tmp4 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "c:\tmp.tmp", False) & Chr$(13) & Chr$(13)
  3386.    Tmp1 = Tmp1 & "File Search-Replace (sensitive) : '" & Tmp4 & "' -> '" & Tmp3 & "' in '" & Tmp2 & "' is " & cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "c:\tmp.tmp", True) & Chr$(13) & Chr$(13)
  3387.    Tmp1 = Tmp1 & "Compare file contents (insensitive) " & Tmp2 & " with " & Tmp & " is " & IIf(cCmpFileContents(Tmp2, Tmp, False) = True, "same", "not same") & Chr$(13) & Chr$(13)
  3388.    cStartBasisTimer
  3389.    For i = 1 To Item
  3390.       If ((i Mod 2) = 1) Then
  3391.      j = cFileSearchAndReplace(Tmp2, Tmp3, Tmp4, "", True)
  3392.       Else
  3393.      j = cFileSearchAndReplace(Tmp2, Tmp4, Tmp3, "", True)
  3394.       End If
  3395.    Next i
  3396.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3397.    Label3.Caption = Tmp1
  3398. End Sub
  3399. Sub TestFilesSize ()
  3400.    Dim title      As String
  3401.    Dim Tmp        As String
  3402.    Dim Tmp1       As String
  3403.    Dim Tmp2       As String
  3404.    Dim i          As Integer
  3405.    Dim j          As Integer
  3406.    Dim k          As Long
  3407.    Dim Size1      As Long
  3408.    Dim Size2      As Long
  3409.    Tmp1 = ""
  3410.    Tmp1 = Tmp1 & "Size of files c:\*.* is " & cFilesSize("c:\*.*") & Chr$(13)
  3411.    Tmp1 = Tmp1 & "Size of files c:\*.bat is " & cFilesSize("c:\*.bat") & Chr$(13)
  3412.    Tmp1 = Tmp1 & "Size of files c:\*.sys is " & cFilesSize("c:\*.sys") & Chr$(13)
  3413.    Tmp1 = Tmp1 & "Size of files c:\*.com is " & cFilesSize("c:\*.com") & Chr$(13)
  3414.    Tmp1 = Tmp1 & Chr$(13)
  3415.    Tmp1 = Tmp1 & "Size of files c:\*.* on disk is " & cFilesSizeOnDisk("c:\*.*") & Chr$(13)
  3416.    Tmp1 = Tmp1 & "Size of files c:\*.bat on disk is " & cFilesSizeOnDisk("c:\*.bat") & Chr$(13)
  3417.    Tmp1 = Tmp1 & "Size of files c:\*.sys on disk is " & cFilesSizeOnDisk("c:\*.sys") & Chr$(13)
  3418.    Tmp1 = Tmp1 & "Size of files c:\*.com on disk is " & cFilesSizeOnDisk("c:\*.com") & Chr$(13)
  3419.    Tmp1 = Tmp1 & Chr$(13)
  3420.    Tmp1 = Tmp1 & "Slack of files c:\*.* on disk is " & cFilesSlack("c:\*.*", Size1, Size2) & " %" & Chr$(13)
  3421.    Tmp1 = Tmp1 & "Slack of files c:\*.bat on disk is " & cFilesSlack("c:\*.bat", Size1, Size2) & " %" & Chr$(13)
  3422.    Tmp1 = Tmp1 & "Slack of files c:\*.sys on disk is " & cFilesSlack("c:\*.sys", Size1, Size2) & " %" & Chr$(13)
  3423.    Tmp1 = Tmp1 & "Slack of files c:\*.com on disk is " & cFilesSlack("c:\*.com", Size1, Size2) & " %" & Chr$(13)
  3424.    cStartBasisTimer
  3425.    For i = 1 To 10
  3426.       k = cFilesSize("c:\*.*")
  3427.    Next i
  3428.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  3429.    Label3.Caption = Tmp1
  3430. End Sub
  3431. Sub TestFileStatictics ()
  3432.    Dim title      As String
  3433.    Dim Tmp        As String
  3434.    Dim Tmp1       As String
  3435.    Dim Tmp2       As String
  3436.    Dim Tmp3       As String
  3437.    Dim Tmp4       As String
  3438.    Dim i          As Integer
  3439.    Dim j          As Long
  3440.    Dim nL         As Long
  3441.    Dim nW         As Long
  3442.    Dim nC         As Long
  3443.    Tmp1 = ""
  3444.    Tmp = "c:\autoexec.bat"
  3445.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & Chr$(13)
  3446.    Tmp1 = Tmp1 & "number of lines : " & nL & Chr$(13)
  3447.    Tmp1 = Tmp1 & "number of words : " & nW & Chr$(13)
  3448.    Tmp1 = Tmp1 & "number of chars : " & nC & Chr$(13) & Chr$(13)
  3449.    Tmp = "c:\config.sys"
  3450.    Tmp1 = Tmp1 & "File statictics for '" & Tmp & "' is " & cFileStatistics(Tmp, nL, nW, nC) & Chr$(13)
  3451.    Tmp1 = Tmp1 & "number of lines : " & nL & Chr$(13)
  3452.    Tmp1 = Tmp1 & "number of words : " & nW & Chr$(13)
  3453.    Tmp1 = Tmp1 & "number of chars : " & nC & Chr$(13) & Chr$(13)
  3454.    cStartBasisTimer
  3455.    For i = 1 To Item
  3456.       j = cFileStatistics(Tmp, nL, nW, nC)
  3457.    Next i
  3458.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3459.    Label3.Caption = Tmp1
  3460. End Sub
  3461. Sub TestFileStatistic ()
  3462.    Dim title      As String
  3463.    Dim Tmp        As String
  3464.    Dim Tmp1       As String
  3465.    Dim Tmp2       As String
  3466.    Dim i          As Integer
  3467.    Dim j          As Integer
  3468.    Dim k          As Long
  3469.    Tmp1 = "File drive for time2win.dll is " & cFileDrive("time2win.dll") & Chr$(13) & Chr$(13)
  3470.    Tmp1 = Tmp1 & "File last time modified for time2win.dll is " & cFileLastTimeModified("time2win.dll") & Chr$(13) & Chr$(13)
  3471.    Tmp1 = Tmp1 & "File last date modified for time2win.dll is " & cFileLastDateModified("time2win.dll") & Chr$(13) & Chr$(13)
  3472.    cStartBasisTimer
  3473.    For i = 1 To ItemFile
  3474.       Tmp = cFileDrive("time2win.dll")
  3475.    Next i
  3476.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3477.    Label3.Caption = Tmp1
  3478. End Sub
  3479. Sub TestFileToX ()
  3480.    Dim title      As String
  3481.    Dim Tmp        As String
  3482.    Dim Tmp1       As String
  3483.    Dim Tmp2       As String
  3484.    Dim Tmp3       As String
  3485.    Dim i          As Integer
  3486.    Dim j          As Long
  3487.    Tmp1 = ""
  3488.    Tmp = "c:\autoexec.bat"
  3489.    Tmp2 = "c:\autoexec.lwr"
  3490.    Tmp3 = "c:\autoexec.upr"
  3491.    Tmp1 = Tmp1 & "File to lower '" & Tmp & "' to '" & Tmp2 & "' is " & cFileToLower(Tmp, Tmp2) & Chr$(13) & Chr$(13)
  3492.    Tmp1 = Tmp1 & "File to upper '" & Tmp & "' to '" & Tmp3 & "' is " & cFileToUpper(Tmp, Tmp3) & Chr$(13) & Chr$(13)
  3493.    cStartBasisTimer
  3494.    For i = 1 To Item
  3495.       j = cFileToLower(Tmp, Tmp2)
  3496.    Next i
  3497.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3498.    Label3.Caption = Tmp1
  3499. End Sub
  3500. Sub TestFileUUCP ()
  3501.    Dim title      As String
  3502.    Dim Tmp        As String
  3503.    Dim Tmp1       As String
  3504.    Dim Tmp2       As String
  3505.    Dim Tmp3       As String
  3506.    Dim i          As Integer
  3507.    Dim j          As Long
  3508.    Tmp1 = ""
  3509.    Tmp = "c:\autoexec.bat"
  3510.    Tmp2 = "c:\autoexec.ue1"
  3511.    Tmp3 = "c:\autoexec.ud2"
  3512.    Tmp1 = Tmp1 & "File UUencode '" & Tmp & "' to '" & Tmp2 & "' is " & cFileUUCP(Tmp, Tmp2, MODE_UUENCODE) & Chr$(13)
  3513.    Tmp1 = Tmp1 & "File UUdecode '" & Tmp2 & "' to '" & Tmp3 & "' is " & cFileUUCP(Tmp2, Tmp3, MODE_UUDECODE) & Chr$(13)
  3514.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  3515.    cStartBasisTimer
  3516.    For i = 1 To Item
  3517.       j = cFileUUCP(Tmp, Tmp2, MODE_UUENCODE)
  3518.    Next i
  3519.    j = cFileUUCP(Tmp2, Tmp3, MODE_UUDECODE)
  3520.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3521.    Label3.Caption = Tmp1
  3522. End Sub
  3523. Sub TestFileVersion ()
  3524.    Dim title      As String
  3525.    Dim Tmp        As String
  3526.    Dim Tmp1       As String
  3527.    Dim Tmp2       As String
  3528.    Dim i          As Integer
  3529.    Dim j          As Integer
  3530.    Dim k          As Long
  3531.    Dim Status                 As Integer
  3532.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  3533.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & Chr$(13)
  3534.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  3535.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & Chr$(13)
  3536.    Next i
  3537.    Tmp = cGetSystemDirectory() & "\time2win.dll"
  3538.    Tmp1 = Tmp1 & "File Version for '" & Tmp & "' is " & Chr$(13)
  3539.    For i = VER_VERSION_PRODUCT To VER_PRODUCT_VERSION
  3540.       Tmp1 = Tmp1 & "   " & i & " = " & cGetFileVersion(Tmp, i) & Chr$(13)
  3541.    Next i
  3542.    cStartBasisTimer
  3543.    For i = 1 To ItemFile
  3544.       Tmp = cGetFileVersion(Tmp, -1)
  3545.    Next i
  3546.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3547.    Label3.Caption = Tmp1
  3548. End Sub
  3549. Sub TestFileVersionInfo ()
  3550.    Dim title      As String
  3551.    Dim Tmp        As String
  3552.    Dim Tmp1       As String
  3553.    Dim Tmp2       As String
  3554.    Dim i          As Integer
  3555.    Dim j          As Integer
  3556.    Dim k          As Long
  3557.    Dim Status                 As Integer
  3558.    Dim FILEVERSIONINFO     As tagFILEVERSIONINFO
  3559.    Tmp = cGetSystemDirectory() & "\krnl386.exe"
  3560.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & Chr$(13)
  3561.    Status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  3562.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & Chr$(13)
  3563.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & Chr$(13)
  3564.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & Chr$(13)
  3565.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & Chr$(13)
  3566.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & Chr$(13)
  3567.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & Chr$(13)
  3568.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & Chr$(13)
  3569.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & Chr$(13)
  3570.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & Chr$(13) & Chr$(13)
  3571.    Tmp = cGetSystemDirectory() & "\time2win.dll"
  3572.    Tmp1 = Tmp1 & "File Version Information for '" & Tmp & "' is " & Chr$(13)
  3573.    Status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  3574.    Tmp1 = Tmp1 & "   VersionProduct = " & FILEVERSIONINFO.VersionProduct & Chr$(13)
  3575.    Tmp1 = Tmp1 & "   FileDescription = " & FILEVERSIONINFO.FileDescription & Chr$(13)
  3576.    Tmp1 = Tmp1 & "   FileVersion = " & FILEVERSIONINFO.FileVersion & Chr$(13)
  3577.    Tmp1 = Tmp1 & "   InternalName = " & FILEVERSIONINFO.InternalName & Chr$(13)
  3578.    Tmp1 = Tmp1 & "   LegalCopyright = " & FILEVERSIONINFO.LegalCopyright & Chr$(13)
  3579.    Tmp1 = Tmp1 & "   LegalTrademarks = " & FILEVERSIONINFO.LegalTrademarks & Chr$(13)
  3580.    Tmp1 = Tmp1 & "   Comments = " & FILEVERSIONINFO.Comments & Chr$(13)
  3581.    Tmp1 = Tmp1 & "   ProductName = " & FILEVERSIONINFO.ProductName & Chr$(13)
  3582.    Tmp1 = Tmp1 & "   ProductVersion = " & FILEVERSIONINFO.ProductVersion & Chr$(13) & Chr$(13)
  3583.    cStartBasisTimer
  3584.    For i = 1 To ItemFile
  3585.       Status = cGetFileVersionInfo(Tmp, FILEVERSIONINFO)
  3586.    Next i
  3587.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3588.    Label3.Caption = Tmp1
  3589. End Sub
  3590. Sub TestFill ()
  3591.    Dim title      As String
  3592.    Dim Tmp        As String
  3593.    Dim Tmp1       As String
  3594.    Dim Tmp2       As String
  3595.    Dim i          As Integer
  3596.    Dim j          As Integer
  3597.    Tmp = Text1.Text
  3598.    title = "Fill of [" & Tmp & "] with [*=] is "
  3599.    Call cFill(Tmp, "*=")
  3600.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  3601.    cStartBasisTimer
  3602.    For i = 1 To Item
  3603.       Call cFill(Tmp, "=*")
  3604.    Next i
  3605.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3606.    Label3.Caption = Tmp1
  3607. End Sub
  3608. Sub TestFillI ()
  3609.    Dim title      As String
  3610.    Dim Tmp        As String
  3611.    Dim Tmp1       As String
  3612.    Dim Tmp2       As String
  3613.    Dim i          As Integer
  3614.    Dim j          As Integer
  3615.    Dim m          As Double
  3616.    ReDim array(ItemMean) As Integer
  3617.    Randomize Timer
  3618.    For i = LBound(array) To UBound(array)
  3619.       array(i) = 0
  3620.       List1.AddItem "" & array(i)
  3621.    Next i
  3622.    j = cFillI(array(), 1)
  3623.    For i = LBound(array) To UBound(array)
  3624.       List2.AddItem "" & array(i)
  3625.    Next i
  3626.    Tmp1 = Tmp1 & "Fill 1 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  3627.    Tmp1 = Tmp1 & "Fill 1 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  3628.    cStartBasisTimer
  3629.    For i = 1 To ItemFile
  3630.       j = cFillI(array(), 1)
  3631.    Next i
  3632.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3633.    Label3.Caption = Tmp1
  3634. End Sub
  3635. Sub TestFillIncrI ()
  3636.    Dim title      As String
  3637.    Dim Tmp        As String
  3638.    Dim Tmp1       As String
  3639.    Dim Tmp2       As String
  3640.    Dim i          As Integer
  3641.    Dim j          As Integer
  3642.    Dim m          As Double
  3643.    ReDim array(ItemMean) As Integer
  3644.    Randomize Timer
  3645.    For i = LBound(array) To UBound(array)
  3646.       array(i) = 0
  3647.       List1.AddItem "" & array(i)
  3648.    Next i
  3649.    j = cFillIncrI(array(), -2, 3)
  3650.    For i = LBound(array) To UBound(array)
  3651.       List2.AddItem "" & array(i)
  3652.    Next i
  3653.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  3654.    Tmp1 = Tmp1 & "Fill -2 by increment 3 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  3655.    cStartBasisTimer
  3656.    For i = 1 To ItemFile
  3657.       j = cFillIncrI(array(), 1, 3)
  3658.    Next i
  3659.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3660.    Label3.Caption = Tmp1
  3661. End Sub
  3662. Sub TestFilterBlocks ()
  3663.    Dim title      As String
  3664.    Dim Tmp        As String
  3665.    Dim Tmp1       As String
  3666.    Dim Tmp2       As String
  3667.    Dim i          As Integer
  3668.    Dim j          As Integer
  3669.    Tmp = Text1.Text
  3670.    title = "Filter blocks between '/' and '/' in [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  3671.    Tmp1 = title & cFilterBlocks(Tmp, "//") & Chr$(13) & Chr$(13)
  3672.    title = "Filter blocks between 'B' and 'I' in [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  3673.    Tmp1 = Tmp1 & title & cFilterBlocks(Tmp, "BI") & Chr$(13) & Chr$(13)
  3674.    cStartBasisTimer
  3675.    For i = 1 To Item
  3676.       Tmp2 = cFilterBlocks(Tmp, "//")
  3677.    Next i
  3678.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3679.    Label3.Caption = Tmp1
  3680. End Sub
  3681. Sub TestFilterChars ()
  3682.    Dim title      As String
  3683.    Dim Tmp        As String
  3684.    Dim Tmp1       As String
  3685.    Dim Tmp2       As String
  3686.    Dim i          As Integer
  3687.    Dim j          As Integer
  3688.    Tmp = Text1.Text
  3689.    title = "Filter 'B','/' in [" & Tmp & "] is "
  3690.    Tmp1 = title & cFilterChars(Tmp, "B/") & Chr$(13) & Chr$(13)
  3691.    cStartBasisTimer
  3692.    For i = 1 To Item
  3693.       Tmp2 = cFilterChars(Tmp, "B/")
  3694.    Next i
  3695.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3696.    Label3.Caption = Tmp1
  3697. End Sub
  3698. Sub TestFindBitReset ()
  3699.    Dim title      As String
  3700.    Dim Tmp        As String
  3701.    Dim Tmp1       As String
  3702.    Dim Tmp2       As String
  3703.    Dim i          As Integer
  3704.    Dim j          As Integer
  3705.    Tmp = Text1.Text
  3706.    Tmp1 = "The following bits on '" & Tmp & "' are not Set (False) " & Chr$(13) & Chr$(13)
  3707.    j = True
  3708.    Do
  3709.       j = cFindBitReset(Tmp, j)
  3710.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  3711.    Loop Until (j = True)
  3712.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  3713.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  3714.    j = 0
  3715.    cStartBasisTimer
  3716.    For i = 1 To Item
  3717.       j = cFindBitReset(Tmp, j)
  3718.    Next i
  3719.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3720.    Label3.Caption = Tmp1
  3721. End Sub
  3722. Sub TestFindBitSet ()
  3723.    Dim title      As String
  3724.    Dim Tmp        As String
  3725.    Dim Tmp1       As String
  3726.    Dim Tmp2       As String
  3727.    Dim i          As Integer
  3728.    Dim j          As Integer
  3729.    Tmp = Text1.Text
  3730.    Tmp1 = "The following bits on '" & Tmp & "' are Set (True) " & Chr$(13) & Chr$(13)
  3731.    j = True
  3732.    Do
  3733.       j = cFindBitSet(Tmp, j)
  3734.       If (j <> True) Then Tmp1 = Tmp1 & j & ", "
  3735.    Loop Until (j = True)
  3736.    Tmp1 = Left$(Tmp1, Len(Tmp1) - 1)
  3737.    Tmp1 = Tmp1 & Chr$(13) & Chr$(13)
  3738.    j = 0
  3739.    cStartBasisTimer
  3740.    For i = 1 To Item
  3741.       j = cFindBitSet(Tmp, j)
  3742.    Next i
  3743.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3744.    Label3.Caption = Tmp1
  3745. End Sub
  3746. Sub TestFindFileInEnv ()
  3747.    Dim title      As String
  3748.    Dim Tmp        As String
  3749.    Dim Tmp1       As String
  3750.    Dim Tmp2       As String
  3751.    Dim i          As Integer
  3752.    Dim j          As Integer
  3753.    j = cFindFileInEnv("win.com", "windir")
  3754.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the WINDIR" & Chr$(13) & Chr$(13)
  3755.    cStartBasisTimer
  3756.    For i = 1 To ItemFile
  3757.       j = cFindFileInEnv("win.com", "windir")
  3758.    Next i
  3759.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3760.    Label3.Caption = Tmp1
  3761. End Sub
  3762. Sub TestFindFileInPath ()
  3763.    Dim title      As String
  3764.    Dim Tmp        As String
  3765.    Dim Tmp1       As String
  3766.    Dim Tmp2       As String
  3767.    Dim i          As Integer
  3768.    Dim j          As Integer
  3769.    j = cFindFileInPath("win.com")
  3770.    Tmp1 = "The file 'win.com' is " & IIf(j, "found", "not found") & " in the PATH" & Chr$(13) & Chr$(13)
  3771.    cStartBasisTimer
  3772.    For i = 1 To ItemFile
  3773.       j = cFindFileInPath("win.com")
  3774.    Next i
  3775.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3776.    Label3.Caption = Tmp1
  3777. End Sub
  3778. Sub TestFloppyInfo ()
  3779.    Dim title      As String
  3780.    Dim Tmp        As String
  3781.    Dim Tmp1       As String
  3782.    Dim Tmp2       As String
  3783.    Dim i          As Integer
  3784.    Dim j          As Integer
  3785.    Dim nHds       As Integer
  3786.    Dim nCyls      As Integer
  3787.    Dim nSecs      As Integer
  3788.    Tmp1 = ""
  3789.    For i = 1 To 3
  3790.       j = cFloppyInfo(Chr$(64 + i), nHds, nCyls, nSecs)
  3791.       Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & j & " (" & nHds & "," & nCyls & "," & nSecs & ")" & Chr$(13)
  3792.    Next i
  3793.    Tmp1 = Tmp1 + Chr$(13)
  3794.    cStartBasisTimer
  3795.    For i = 1 To Item
  3796.       j = cFloppyInfo("A", nHds, nCyls, nSecs)
  3797.    Next i
  3798.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3799.    Label3.Caption = Tmp1
  3800. End Sub
  3801. Sub TestFraction ()
  3802.    Dim title      As String
  3803.    Dim Tmp        As String
  3804.    Dim Tmp1       As String
  3805.    Dim Tmp2       As String
  3806.    Dim i          As Integer
  3807.    Dim v          As Double
  3808.    Dim n          As Double
  3809.    Dim p          As Double
  3810.    Dim q          As Double
  3811.    Dim e          As Integer
  3812.    Tmp1 = "Determining fraction part (numerator/denominator) for the following value " & Chr$(13) & Chr$(13)
  3813.    n = .75
  3814.    v = cFraction(n, p, q)
  3815.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3816.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3817.    n = 4.12
  3818.    v = cFraction(n, p, q)
  3819.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3820.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3821.    n = 365.25
  3822.    v = cFraction(n, p, q)
  3823.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3824.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3825.    n = 3.14
  3826.    v = cFraction(n, p, q)
  3827.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3828.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3829.    n = 3.14159
  3830.    v = cFraction(n, p, q)
  3831.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3832.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3833.    n = 3.14159265
  3834.    v = cFraction(n, p, q)
  3835.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3836.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3837.    n = .9999999
  3838.    v = cFraction(n, p, q)
  3839.    Tmp1 = Tmp1 & n & " is " & p & " / " & q & Chr$(13)
  3840.    Tmp1 = Tmp1 & "   value is " & v & Chr$(13) & Chr$(13)
  3841.    cStartBasisTimer
  3842.    For i = 1 To Item
  3843.       v = cFraction(n, p, q)
  3844.    Next i
  3845.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3846.    Label3.Caption = Tmp1
  3847. End Sub
  3848. Sub TestFullPath ()
  3849.    Dim title      As String
  3850.    Dim Tmp        As String
  3851.    Dim Tmp1       As String
  3852.    Dim Tmp2       As String
  3853.    Dim Tmp3       As String
  3854.    Dim i          As Integer
  3855.    Dim j          As Long
  3856.    Tmp1 = ""
  3857.    Tmp = "C:\AUTOEXEC.BAT"
  3858.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  3859.    Tmp = cGetSystemDirectory() & "\TIME2WIN.DLL"
  3860.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  3861.    Tmp = cFilesInDirectory(cGetDefaultCurrentDir() + "\*.*", True)
  3862.    Tmp1 = Tmp1 & "Full Path of " & Tmp & " is " & cFullPath(Tmp) & Chr$(13) & Chr$(13)
  3863.    cStartBasisTimer
  3864.    For i = 1 To Item
  3865.       Tmp = cFullPath(Tmp)
  3866.    Next i
  3867.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  3868.    Label3.Caption = Tmp1
  3869. End Sub
  3870. Sub TestGetBit ()
  3871.    Dim title      As String
  3872.    Dim Tmp        As String
  3873.    Dim Tmp1       As String
  3874.    Dim Tmp2       As String
  3875.    Dim i          As Integer
  3876.    Dim j          As Integer
  3877.    Tmp = Text1.Text
  3878.    title = "bit 0,7,3 of [" & Tmp & "] is "
  3879.    Tmp1 = title & cGetBit(Tmp, 0) & " " & cGetBit(Tmp, 7) & " " & cGetBit(Tmp, 3) & " " & Chr$(13) & Chr$(13)
  3880.    title = "bit 23,30,38 of [" & Tmp & "] is "
  3881.    Tmp1 = Tmp1 & title & cGetBit(Tmp, 23) & " " & cGetBit(Tmp, 30) & " " & cGetBit(Tmp, 38) & " " & Chr$(13) & Chr$(13)
  3882.    cStartBasisTimer
  3883.    For i = 1 To Item
  3884.       j = cGetBit(Tmp, i)
  3885.    Next i
  3886.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3887.    Label3.Caption = Tmp1
  3888. End Sub
  3889. Sub TestGetBitValue ()
  3890.    Dim intResult        As Integer
  3891.    Dim strResult        As String
  3892.    Dim strDisplay       As String
  3893.    Dim iData            As Integer
  3894.    Dim lData            As Long
  3895.    Dim sData            As Single
  3896.    Dim dData            As Double
  3897.    Dim i                As Integer
  3898.    intResult = 0
  3899.    strResult = ""
  3900.    strDisplay = ""
  3901.    Call cRndInit(-1)
  3902.    iData = Abs(cRndI())
  3903.    lData = Abs(cRndL())
  3904.    sData = Abs(cRndS())
  3905.    dData = Abs(cRndD())
  3906.      
  3907.    strDisplay = strDisplay + "Integer value : " & iData & " (" & cToBinary(cMKI(iData)) & ")" & Chr$(13)
  3908.    strDisplay = strDisplay + "   bit 0 is " & IIf(cGetBitI(iData, 0), "set", "reset") & Chr$(13)
  3909.    strDisplay = strDisplay + "   bit 3 is " & IIf(cGetBitI(iData, 3), "set", "reset") & Chr$(13)
  3910.    strDisplay = strDisplay + "   bit 7 is " & IIf(cGetBitI(iData, 7), "set", "reset") & Chr$(13)
  3911.    strDisplay = strDisplay + "   bit 11 is " & IIf(cGetBitI(iData, 11), "set", "reset") & Chr$(13)
  3912.    strDisplay = strDisplay + "   bit 15 is " & IIf(cGetBitI(iData, 15), "set", "reset") & Chr$(13) & Chr$(13)
  3913.    strDisplay = strDisplay + "Long value : " & lData & " (" & cToBinary(cMKL(lData)) & ")" & Chr$(13)
  3914.    strDisplay = strDisplay + "   bit 0 is " & IIf(cGetBitL(lData, 0), "set", "reset") & Chr$(13)
  3915.    strDisplay = strDisplay + "   bit 5 is " & IIf(cGetBitL(lData, 5), "set", "reset") & Chr$(13)
  3916.    strDisplay = strDisplay + "   bit 10 is " & IIf(cGetBitL(lData, 10), "set", "reset") & Chr$(13)
  3917.    strDisplay = strDisplay + "   bit 15 is " & IIf(cGetBitL(lData, 15), "set", "reset") & Chr$(13)
  3918.    strDisplay = strDisplay + "   bit 20 is " & IIf(cGetBitL(lData, 20), "set", "reset") & Chr$(13) & Chr$(13)
  3919.    strDisplay = strDisplay + "Single value : " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13)
  3920.    strDisplay = strDisplay + "   bit 0 is " & IIf(cGetBitS(sData, 0), "set", "reset") & Chr$(13)
  3921.    strDisplay = strDisplay + "   bit 5 is " & IIf(cGetBitS(sData, 5), "set", "reset") & Chr$(13)
  3922.    strDisplay = strDisplay + "   bit 10 is " & IIf(cGetBitS(sData, 10), "set", "reset") & Chr$(13)
  3923.    strDisplay = strDisplay + "   bit 15 is " & IIf(cGetBitS(sData, 15), "set", "reset") & Chr$(13)
  3924.    strDisplay = strDisplay + "   bit 20 is " & IIf(cGetBitS(sData, 20), "set", "reset") & Chr$(13) & Chr$(13)
  3925.    strDisplay = strDisplay + "Double value : " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13)
  3926.    strDisplay = strDisplay + "   bit 0 is " & IIf(cGetBitD(dData, 0), "set", "reset") & Chr$(13)
  3927.    strDisplay = strDisplay + "   bit 10 is " & IIf(cGetBitD(dData, 10), "set", "reset") & Chr$(13)
  3928.    strDisplay = strDisplay + "   bit 20 is " & IIf(cGetBitD(dData, 20), "set", "reset") & Chr$(13)
  3929.    strDisplay = strDisplay + "   bit 30 is " & IIf(cGetBitD(dData, 30), "set", "reset") & Chr$(13)
  3930.    strDisplay = strDisplay + "   bit 40 is " & IIf(cGetBitD(dData, 40), "set", "reset") & Chr$(13) & Chr$(13)
  3931.    'time the function
  3932.    cStartBasisTimer
  3933.    For i = 1 To ItemFile
  3934.       intResult = cGetBitI(iData, i)
  3935.    Next i
  3936.    strDisplay = strDisplay & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  3937.    Label3.Caption = strDisplay
  3938. End Sub
  3939. Sub TestGetBlock ()
  3940.    Dim title      As String
  3941.    Dim Tmp        As String
  3942.    Dim Tmp1       As String
  3943.    Dim Tmp2       As String
  3944.    Dim i          As Integer
  3945.    Dim j          As Integer
  3946.    Tmp = Text1.Text
  3947.    title = "The 2,4,1 of 2 chars of [" & Tmp & "] are "
  3948.    Tmp = Text1.Text
  3949.    Tmp1 = title & "2:" & cGetBlock(Tmp, 2, 2) & " | 4:" & cGetBlock(Tmp, 4, 2) & " | 1:" & cGetBlock(Tmp, 1, 2) & Chr$(13) & Chr$(13)
  3950.    cStartBasisTimer
  3951.    For i = 1 To Item
  3952.       Tmp2 = cGetBlock(Tmp, 1, 2)
  3953.    Next i
  3954.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3955.    Label3.Caption = Tmp1
  3956. End Sub
  3957. Sub TestGetCurrentDrive ()
  3958.    Dim title      As String
  3959.    Dim Tmp        As String
  3960.    Dim Tmp1       As String
  3961.    Dim Tmp2       As String
  3962.    Dim i          As Integer
  3963.    Dim j          As Integer
  3964.    Tmp = cGetCurrentDrive()
  3965.    Tmp1 = Tmp & " is the current drive" & Chr$(13) & Chr$(13)
  3966.    cStartBasisTimer
  3967.    For i = 1 To Item
  3968.       Tmp2 = cGetCurrentDrive()
  3969.       If (Tmp <> Tmp2) Then Beep
  3970.    Next i
  3971.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3972.    Label3.Caption = Tmp1
  3973. End Sub
  3974. Sub TestGetDateSeparator ()
  3975.    Dim title      As String
  3976.    Dim Tmp        As String
  3977.    Dim Tmp1       As String
  3978.    Dim Tmp2       As String
  3979.    Dim i          As Integer
  3980.    Dim j          As Integer
  3981.    Tmp = cGetDateSeparator()
  3982.    Tmp1 = "The following char '" & Tmp & "' is the date separator" & Chr$(13) & Chr$(13)
  3983.    cStartBasisTimer
  3984.    For i = 1 To Item
  3985.       Tmp2 = cGetDateSeparator()
  3986.       If (Tmp <> Tmp2) Then Beep
  3987.    Next i
  3988.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  3989.    Label3.Caption = Tmp1
  3990. End Sub
  3991. Sub TestGetDefaultCurrentDir ()
  3992.    Dim title      As String
  3993.    Dim Tmp        As String
  3994.    Dim Tmp1       As String
  3995.    Dim Tmp2       As String
  3996.    Dim i          As Integer
  3997.    Dim j          As Integer
  3998.    Tmp = cGetDefaultCurrentDir()
  3999.    Tmp1 = Tmp & " is the current dir on the default drive" & Chr$(13) & Chr$(13)
  4000.    cStartBasisTimer
  4001.    For i = 1 To Item
  4002.       Tmp2 = cGetDefaultCurrentDir()
  4003.       If (Tmp <> Tmp2) Then Beep
  4004.    Next i
  4005.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4006.    Label3.Caption = Tmp1
  4007. End Sub
  4008. Sub TestGetDiskFree ()
  4009.    Dim title      As String
  4010.    Dim Tmp        As String
  4011.    Dim Tmp1       As String
  4012.    Dim Tmp2       As String
  4013.    Dim i          As Integer
  4014.    Dim j          As Integer
  4015.    Dim k          As Long
  4016.    Dim ErrCode    As Integer
  4017.    Tmp1 = ""
  4018.    For i = 1 To 26
  4019.       k = cGetDiskFree(Chr$(64 + i))
  4020.       If (k <> True) Then
  4021.      Tmp1 = Tmp1 & "DiskFree for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  4022.       End If
  4023.    Next i
  4024.    Tmp1 = Tmp1 + Chr$(13)
  4025.    cStartBasisTimer
  4026.    For i = 1 To Item
  4027.       k = cGetDiskFree("C")
  4028.    Next i
  4029.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4030.    Label3.Caption = Tmp1
  4031. End Sub
  4032. Sub TestGetDiskSpace ()
  4033.    Dim title      As String
  4034.    Dim Tmp        As String
  4035.    Dim Tmp1       As String
  4036.    Dim Tmp2       As String
  4037.    Dim i          As Integer
  4038.    Dim j          As Integer
  4039.    Dim k          As Long
  4040.    Dim ErrCode    As Integer
  4041.    Tmp1 = ""
  4042.    For i = 1 To 26
  4043.       k = cGetDiskSpace(Chr$(64 + i))
  4044.       If (k <> True) Then
  4045.      Tmp1 = Tmp1 & "DiskSpace for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  4046.       End If
  4047.    Next i
  4048.    Tmp1 = Tmp1 + Chr$(13)
  4049.    cStartBasisTimer
  4050.    For i = 1 To Item
  4051.       k = cGetDiskSpace("C")
  4052.    Next i
  4053.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4054.    Label3.Caption = Tmp1
  4055. End Sub
  4056. Sub TestGetDiskUsed ()
  4057.    Dim title      As String
  4058.    Dim Tmp        As String
  4059.    Dim Tmp1       As String
  4060.    Dim Tmp2       As String
  4061.    Dim i          As Integer
  4062.    Dim j          As Integer
  4063.    Dim k          As Long
  4064.    Dim ErrCode    As Integer
  4065.    Tmp1 = ""
  4066.    For i = 1 To 26
  4067.       k = cGetDiskUsed(Chr$(64 + i))
  4068.       If (k <> True) Then
  4069.      Tmp1 = Tmp1 & "DiskUsed for '" & Chr$(64 + i) & ":' is " & k & Chr$(13)
  4070.       End If
  4071.    Next i
  4072.    Tmp1 = Tmp1 + Chr$(13)
  4073.    cStartBasisTimer
  4074.    For i = 1 To Item
  4075.       k = cGetDiskUsed("C")
  4076.    Next i
  4077.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4078.    Label3.Caption = Tmp1
  4079. End Sub
  4080. Sub TestGetDriveCurrentDir ()
  4081.    Dim title      As String
  4082.    Dim Tmp        As String
  4083.    Dim Tmp1       As String
  4084.    Dim Tmp2       As String
  4085.    Dim i          As Integer
  4086.    Dim j          As Integer
  4087.    Tmp1 = ""
  4088.    For i = 1 To 26
  4089.       Tmp = cGetDriveCurrentDir(Chr$(64 + i))
  4090.       If (Tmp <> "") Then
  4091.      Tmp1 = Tmp1 & "The current directory in '" & Chr$(64 + i) & ":' is " & Tmp & Chr$(13)
  4092.       Else
  4093.      If (i = 1) Then Tmp1 = Tmp1 & "drive A: is missing" & Chr$(13)
  4094.      If (i = 2) Then Tmp1 = Tmp1 & "drive B: is missing" & Chr$(13)
  4095.       End If
  4096.    Next i
  4097.    Tmp1 = Tmp1 + Chr$(13)
  4098.    cStartBasisTimer
  4099.    For i = 1 To Item
  4100.       Tmp2 = cGetDriveCurrentDir("C")
  4101.    Next i
  4102.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4103.    Label3.Caption = Tmp1
  4104. End Sub
  4105. Sub TestGetFullnameInEnv ()
  4106.    Dim title      As String
  4107.    Dim Tmp        As String
  4108.    Dim Tmp1       As String
  4109.    Dim Tmp2       As String
  4110.    Dim i          As Integer
  4111.    Dim j          As Integer
  4112.    Tmp = cGetFullNameInEnv("win.com", "windir")
  4113.    Tmp1 = "Full path for 'win.com' in 'windir' is " & Tmp & Chr$(13) & Chr$(13)
  4114.    cStartBasisTimer
  4115.    For i = 1 To ItemFile
  4116.       Tmp2 = cGetFullNameInEnv("win.com", "windir")
  4117.    Next i
  4118.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4119.    Label3.Caption = Tmp1
  4120. End Sub
  4121. Sub TestGetFullnameInPath ()
  4122.    Dim title      As String
  4123.    Dim Tmp        As String
  4124.    Dim Tmp1       As String
  4125.    Dim Tmp2       As String
  4126.    Dim i          As Integer
  4127.    Dim j          As Integer
  4128.    Tmp = cGetFullNameInPath("win.com")
  4129.    Tmp1 = "Full path for 'win.com' is " & Tmp & Chr$(13) & Chr$(13)
  4130.    cStartBasisTimer
  4131.    For i = 1 To ItemFile
  4132.       Tmp2 = cGetFullNameInPath("win.com")
  4133.    Next i
  4134.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4135.    Label3.Caption = Tmp1
  4136. End Sub
  4137. Sub TestGetIn ()
  4138.    Dim title      As String
  4139.    Dim Tmp        As String
  4140.    Dim Tmp1       As String
  4141.    Dim Tmp2       As String
  4142.    Dim i          As Integer
  4143.    Dim j          As Integer
  4144.    Tmp = Text1.Text
  4145.    title = "The 2,4,1 blocks of [" & Tmp & "] are "
  4146.    Tmp = Text1.Text
  4147.    Tmp1 = title & "2:" & cGetIn(Tmp, "/", 2) & " | 4:" & cGetIn(Tmp, "/", 4) & " | 1:" & cGetIn(Tmp, "/", 1) & Chr$(13) & Chr$(13)
  4148.    cStartBasisTimer
  4149.    For i = 1 To Item
  4150.       Tmp2 = cGetIn(Tmp, "/", 2)
  4151.    Next i
  4152.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4153.    Label3.Caption = Tmp1
  4154. End Sub
  4155. Sub TestGetInR ()
  4156.           
  4157.    Dim title      As String
  4158.    Dim Tmp        As String
  4159.    Dim Tmp1       As String
  4160.    Dim Tmp2       As String
  4161.    Dim i          As Integer
  4162.    Dim j          As Integer
  4163.    Tmp = Text1.Text
  4164.    Tmp1 = Tmp1 + "GetInR" & Chr$(13)
  4165.    Tmp1 = Tmp1 + "The 2,4,1 blocks from the right of [" & Tmp & "] are "
  4166.    Tmp1 = Tmp1 & "2:" & cGetInR(Tmp, "/", 2) & " | 4:" & cGetInR(Tmp, "/", 4) & " | 1:" & cGetInR(Tmp, "/", 1) & Chr$(13) & Chr$(13)
  4167.    Tmp1 = Tmp1 + "GetInPart" & Chr$(13)
  4168.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & Chr$(13)
  4169.    Tmp1 = Tmp1 & cGetInPart(Tmp, "/", True) & " | " & cGetInPart(Tmp, "/", False) & Chr$(13) & Chr$(13)
  4170.    Tmp1 = Tmp1 + "GetInPartR" & Chr$(13)
  4171.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & Chr$(13)
  4172.    Tmp1 = Tmp1 & cGetInPartR(Tmp, "/", True) & " | " & cGetInPartR(Tmp, "/", False) & Chr$(13) & Chr$(13)
  4173.    Tmp = UCase$("c:\vberr.hnd\source.mak\vbtrcprf.mak")
  4174.    Tmp1 = Tmp1 + "GetInPart" & Chr$(13)
  4175.    Tmp1 = Tmp1 + "The first and the second part from the left of [" & Tmp & "] are " & Chr$(13)
  4176.    Tmp1 = Tmp1 & cGetInPart(Tmp, ".", True) & " | " & cGetInPart(Tmp, ".", False) & Chr$(13) & Chr$(13)
  4177.    Tmp1 = Tmp1 + "GetInPartR" & Chr$(13)
  4178.    Tmp1 = Tmp1 + "The first and the second part from the right of [" & Tmp & "] are " & Chr$(13)
  4179.    Tmp1 = Tmp1 & cGetInPartR(Tmp, ".", True) & " | " & cGetInPartR(Tmp, ".", False) & Chr$(13) & Chr$(13)
  4180.    cStartBasisTimer
  4181.    For i = 1 To Item
  4182.       Tmp2 = cGetInR(Tmp, "/", 2)
  4183.    Next i
  4184.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4185.    Label3.Caption = Tmp1
  4186. End Sub
  4187. Sub TestGetNetConnection ()
  4188.    Dim title      As String
  4189.    Dim Tmp        As String
  4190.    Dim Tmp1       As String
  4191.    Dim Tmp2       As String
  4192.    Dim i          As Integer
  4193.    Dim j          As Integer
  4194.    Dim ErrCode    As Integer
  4195.    Tmp1 = ""
  4196.    For i = 1 To 26
  4197.       Tmp = cGetNetConnection(Chr$(64 + i) & ":", ErrCode)
  4198.       If (ErrCode = True) Then
  4199.      Tmp1 = Tmp1 & "'" & Chr$(64 + i) & ":' is " & Tmp & Chr$(13)
  4200.       End If
  4201.    Next i
  4202.    For i = 1 To 3
  4203.       Tmp = cGetNetConnection("LPT" & i & ":", ErrCode)
  4204.       If (ErrCode = True) Then
  4205.      Tmp1 = Tmp1 & "'LPT" & i & ":' is " & Tmp & Chr$(13)
  4206.       End If
  4207.    Next i
  4208.    Tmp1 = Tmp1 + Chr$(13)
  4209.    cStartBasisTimer
  4210.    For i = 1 To ItemFile
  4211.       Tmp = cGetNetConnection("C", ErrCode)
  4212.    Next i
  4213.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4214.    Label3.Caption = Tmp1
  4215. End Sub
  4216. Sub TestGetSystemDirectory ()
  4217.    Dim title      As String
  4218.    Dim Tmp        As String
  4219.    Dim Tmp1       As String
  4220.    Dim Tmp2       As String
  4221.    Dim i          As Integer
  4222.    Dim j          As Integer
  4223.    Tmp = cGetSystemDirectory()
  4224.    Tmp1 = Tmp & " is the system directory for Windows" & Chr$(13) & Chr$(13)
  4225.    cStartBasisTimer
  4226.    For i = 1 To Item
  4227.       Tmp2 = cGetSystemDirectory()
  4228.       If (Tmp <> Tmp2) Then Beep
  4229.    Next i
  4230.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4231.    Label3.Caption = Tmp1
  4232. End Sub
  4233. Sub TestGetTimeSeparator ()
  4234.    Dim title      As String
  4235.    Dim Tmp        As String
  4236.    Dim Tmp1       As String
  4237.    Dim Tmp2       As String
  4238.    Dim i          As Integer
  4239.    Dim j          As Integer
  4240.    Tmp = cGetTimeSeparator()
  4241.    Tmp1 = "The following char '" & Tmp & "' is the time separator" & Chr$(13) & Chr$(13)
  4242.    cStartBasisTimer
  4243.    For i = 1 To Item
  4244.       Tmp2 = cGetTimeSeparator()
  4245.       If (Tmp <> Tmp2) Then Beep
  4246.    Next i
  4247.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4248.    Label3.Caption = Tmp1
  4249. End Sub
  4250. Sub TestGetWindowsDirectory ()
  4251.    Dim title      As String
  4252.    Dim Tmp        As String
  4253.    Dim Tmp1       As String
  4254.    Dim Tmp2       As String
  4255.    Dim i          As Integer
  4256.    Dim j          As Integer
  4257.    Tmp = cGetWindowsDirectory()
  4258.    Tmp1 = Tmp & " is the directory for Windows" & Chr$(13) & Chr$(13)
  4259.    cStartBasisTimer
  4260.    For i = 1 To Item
  4261.       Tmp2 = cGetWindowsDirectory()
  4262.       If (Tmp <> Tmp2) Then Beep
  4263.    Next i
  4264.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4265.    Label3.Caption = Tmp1
  4266. End Sub
  4267. Sub TestGiveBitPalindrome ()
  4268.    Dim title      As String
  4269.    Dim Tmp        As String
  4270.    Dim Tmp1       As String
  4271.    Dim Tmp2       As String
  4272.    Dim i          As Integer
  4273.    Dim j          As Integer
  4274.    title = "The followings chars are Bit Palindrome : " & Chr$(13) & Chr$(13)
  4275.    Tmp1 = Tmp1 & title & "chr(0) and  " & cBlockCharFromRight(cGiveBitPalindrome(), 1) & Chr$(13) & Chr$(13)
  4276.    cStartBasisTimer
  4277.    For i = 1 To Item
  4278.       Tmp2 = cGiveBitPalindrome()
  4279.    Next i
  4280.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4281.    Label3.Caption = Tmp1
  4282. End Sub
  4283. Sub TestGZIP ()
  4284.    Dim title      As String
  4285.    Dim Tmp        As String
  4286.    Dim Tmp1       As String
  4287.    Dim Tmp2       As String
  4288.    Dim Tmp3       As String
  4289.    Dim i          As Integer
  4290.    Dim j          As Long
  4291.    Tmp1 = ""
  4292.    Tmp = "c:\autoexec.bat"
  4293.    Tmp2 = "c:\autoexec.tb1"
  4294.    Tmp3 = "c:\autoexec.tb2"
  4295.    Tmp1 = Tmp1 & "GZIP File Compress '" & Tmp & "' to '" & Tmp2 & "' is " & cGZIPFileCompress(Tmp, Tmp2) & Chr$(13)
  4296.    Tmp1 = Tmp1 & "GZIP File Expand '" & Tmp2 & "' to '" & Tmp3 & "' is " & cGZIPFileExpand(Tmp2, Tmp3) & Chr$(13)
  4297.    Tmp1 = Tmp1 & "Compare file contents (not sensitive) '" & Tmp & "' with '" & Tmp3 & "' is " & IIf(cCmpFileContents(Tmp, Tmp3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  4298.    cStartBasisTimer
  4299.    For i = 1 To Item
  4300.       j = cGZIPFileCompress(Tmp, Tmp2)
  4301.    Next i
  4302.    j = cGZIPFileExpand(Tmp2, Tmp3)
  4303.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4304.    Label3.Caption = Tmp1
  4305. End Sub
  4306. Sub TestGZIPStringCompress ()
  4307.    Dim title      As String
  4308.    Dim Tmp        As String
  4309.    Dim Tmp1       As String
  4310.    Dim Tmp2       As String
  4311.    Dim Tmp3       As String
  4312.    Dim i          As Integer
  4313.    Dim j          As Long
  4314.    Tmp1 = ""
  4315.    Tmp = "TIME TO WIN, TIME TO WIN, TIME TO WIN, TIME TO WIN"
  4316.    Tmp2 = cGZIPStringCompress(Tmp)
  4317.    Tmp3 = cGZIPStringExpand(Tmp2)
  4318.    Tmp1 = Tmp1 & "String Compress '" & Tmp & "' is " & Format$(Len(Tmp)) & " to " & Format$(Len(Tmp2)) & " bytes." & Chr$(13)
  4319.    Tmp1 = Tmp1 & "String Expand is '" & Tmp3 & "'" & Chr$(13)
  4320.    Tmp1 = Tmp1 & "Compare string contents (not sensitive) is " & IIf(LCase$(Tmp) = LCase$(Tmp3), "same", "not same") & Chr$(13) & Chr$(13)
  4321.    cStartBasisTimer
  4322.    For i = 1 To Item
  4323.       Tmp2 = cGZIPStringCompress(Tmp)
  4324.    Next i
  4325.    Tmp3 = cGZIPStringExpand(Tmp2)
  4326.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  4327.    Label3.Caption = Tmp1
  4328. End Sub
  4329. Sub TestHideAllEditForm ()
  4330.    Dim n       As Integer
  4331.    Dim Tmp     As String
  4332.    If (cHideAllEditForm() = True) Then
  4333.       Tmp = "HideAllEditForm SUCCESS"
  4334.    Else
  4335.       Tmp = "HideAllEditForm FAIL"
  4336.    End If
  4337.    Tmp = Tmp & Chr$(13) & "Waiting 2 seconds" & Chr$(13)
  4338.    Label3.Caption = Tmp
  4339.    DoEvents
  4340.    n = cSleep(2000)
  4341.    If (cUnHideAllEditForm() = True) Then
  4342.       Tmp = Tmp & "UnHideAllEditForm SUCCESS"
  4343.    Else
  4344.       Tmp = Tmp & "UnHideAllEditForm FAIL"
  4345.    End If
  4346.    Label3.Caption = Tmp
  4347. End Sub
  4348. Sub TestHideDebugForm ()
  4349.    Dim n       As Integer
  4350.    Dim Tmp     As String
  4351.    If (cHideDebugForm() = True) Then
  4352.       Tmp = "HideDebugForm SUCCESS"
  4353.    Else
  4354.       Tmp = "HideDebugForm FAIL"
  4355.    End If
  4356.    Tmp = Tmp & Chr$(13) & "Waiting 2 seconds" & Chr$(13)
  4357.    Label3.Caption = Tmp
  4358.    DoEvents
  4359.    n = cSleep(2000)
  4360.    If (cUnHideDebugForm() = True) Then
  4361.       Tmp = Tmp & "UnHideDebugForm SUCCESS"
  4362.    Else
  4363.       Tmp = Tmp & "UnHideDebugForm FAIL"
  4364.    End If
  4365.    Label3.Caption = Tmp
  4366. End Sub
  4367. Sub TestHMAL (Management As Integer)
  4368.    Dim Tmp        As String
  4369.    Dim ErrCode    As Integer
  4370.    Dim HMA        As tagHMA
  4371.    HMA.nType = DA_LONG
  4372.    HMA.nIsTyped = False
  4373.    HMA.nRows = 100
  4374.    HMA.nCols = 100
  4375.    HMA.nSheets = 2
  4376.    ErrCode = cHMACreate(HMA)
  4377.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  4378.    If (ErrCode = True) Then
  4379.       
  4380.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  4381.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  4382.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  4383.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  4384.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  4385.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  4386.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  4387.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  4388.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  4389.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  4390.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  4391.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  4392.       
  4393.       Call cHMAPut(HMA, 1, 1, 1, 12345)
  4394.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, 98765)
  4395.       
  4396.       Call cHMAPut(HMA, 1, HMA.nCols, 2, 34567890)
  4397.       Call cHMAPut(HMA, HMA.nRows, 1, 2, 123456789)
  4398.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4399.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4400.       
  4401.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4402.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13) & Chr$(13)
  4403.       If (Management > 0) Then
  4404.      Select Case Management
  4405.         Case 1         'clear all
  4406.            ErrCode = cHMAClear(HMA)
  4407.         Case 2         'clear sheet 2
  4408.            ErrCode = cHMAClearSheet(HMA, 2)
  4409.         Case 3         'clear last row
  4410.            ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4411.         Case 4         'clear last col
  4412.            ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4413.         Case 5         'clear last row in all sheets
  4414.            ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4415.         Case 6         'clear last col in all sheets
  4416.            ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4417.      End Select
  4418.      Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4419.      Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4420.      Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4421.      Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13)
  4422.       End If
  4423.    End If
  4424.    ErrCode = cHMAFree(HMA)
  4425.    Label3.Caption = Tmp
  4426. End Sub
  4427. Sub TestHMAStr (Management As Integer)
  4428.    Dim Tmp        As String
  4429.    Dim ErrCode    As Integer
  4430.    Dim HMA        As tagHMA
  4431.    HMA.nType = 50
  4432.    HMA.nIsTyped = False
  4433.    HMA.nRows = 100
  4434.    HMA.nCols = 100
  4435.    HMA.nSheets = 2
  4436.    ErrCode = cHMACreate(HMA)
  4437.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  4438.    If (ErrCode = True) Then
  4439.       
  4440.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  4441.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  4442.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  4443.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  4444.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  4445.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  4446.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  4447.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  4448.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  4449.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  4450.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  4451.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  4452.       
  4453.       Call cHMAPut(HMA, 1, 1, 1, "D:1, ABCDEFGHIJ")
  4454.       Call cHMAPut(HMA, HMA.nRows, HMA.nCols, 1, "D:1, oprqstuvwxyz")
  4455.       
  4456.       Call cHMAPut(HMA, 1, HMA.nCols, 2, "D:2, 0987654321")
  4457.       Call cHMAPut(HMA, HMA.nRows, 1, 2, "D:2, 12345ABCDE")
  4458.       Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4459.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4460.       
  4461.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4462.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13) & Chr$(13)
  4463.       If (Management > 0) Then
  4464.      Select Case Management
  4465.         Case 1         'clear all
  4466.            ErrCode = cHMAClear(HMA)
  4467.         Case 2         'clear sheet 2
  4468.            ErrCode = cHMAClearSheet(HMA, 2)
  4469.         Case 3         'clear last row
  4470.            ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4471.         Case 4         'clear last col
  4472.            ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4473.         Case 5         'clear last row in all sheets
  4474.            ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4475.         Case 6         'clear last col in all sheets
  4476.            ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4477.      End Select
  4478.      Tmp = Tmp & "R:1  , C:1  , D:1, Value : " & cHMAGet(HMA, 1, 1, 1) & Chr$(13)
  4479.      Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, Value : " & cHMAGet(HMA, HMA.nRows, HMA.nCols, 1) & Chr$(13)
  4480.      Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, Value : " & cHMAGet(HMA, 1, HMA.nCols, 2) & Chr$(13)
  4481.      Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, Value : " & cHMAGet(HMA, HMA.nRows, 1, 2) & Chr$(13)
  4482.       End If
  4483.    End If
  4484.    ErrCode = cHMAFree(HMA)
  4485.    Label3.Caption = Tmp
  4486. End Sub
  4487. Sub TestHMAType (Management As Integer)
  4488.    Dim Tmp        As String
  4489.    Dim ErrCode    As Integer
  4490.    Dim HMA        As tagHMA
  4491.    Dim TE         As tagTASKENTRY
  4492.    HMA.nType = Len(TE)
  4493.    HMA.nIsTyped = True
  4494.    HMA.nRows = 100
  4495.    HMA.nCols = 100
  4496.    HMA.nSheets = 2
  4497.    ErrCode = cHMACreate(HMA)
  4498.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  4499.    If (ErrCode = True) Then
  4500.       
  4501.       Tmp = Tmp & "HMA.daSize       = " & HMA.daSize & Chr$(13)
  4502.       Tmp = Tmp & "HMA.nType        = " & HMA.nType & Chr$(13)
  4503.       Tmp = Tmp & "HMA.nIsTyped     = " & HMA.nIsTyped & Chr$(13)
  4504.       Tmp = Tmp & "HMA.nRows        = " & HMA.nRows & Chr$(13)
  4505.       Tmp = Tmp & "HMA.nCols        = " & HMA.nCols & Chr$(13)
  4506.       Tmp = Tmp & "HMA.nSheets      = " & HMA.nSheets & Chr$(13)
  4507.       Tmp = Tmp & "HMA.rHandle      = " & HMA.rHandle & Chr$(13)
  4508.       Tmp = Tmp & "HMA.rElementSize = " & HMA.rElementSize & Chr$(13)
  4509.       Tmp = Tmp & "HMA.rMemorySize  = " & HMA.rMemorySize & Chr$(13)
  4510.       Tmp = Tmp & "HMA.rParts       = " & HMA.rParts & Chr$(13)
  4511.       Tmp = Tmp & "HMA.rRemain      = " & HMA.rRemain & Chr$(13)
  4512.       Tmp = Tmp & "HMA.rSheetSize   = " & HMA.rSheetSize & Chr$(13) & Chr$(13)
  4513.       ErrCode = cTasks(TE, True)
  4514.       Call cHMAPutType(HMA, 1, 1, 1, TE)
  4515.       ErrCode = cTasks(TE, False)
  4516.       Call cHMAPutType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4517.       
  4518.       ErrCode = cTasks(TE, False)
  4519.       Call cHMAPutType(HMA, 1, HMA.nCols, 2, TE)
  4520.       ErrCode = cTasks(TE, False)
  4521.       Call cHMAPutType(HMA, HMA.nRows, 1, 2, TE)
  4522.       
  4523.       Call cHMAGetType(HMA, 1, 1, 1, TE)
  4524.       Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4525.       Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4526.       Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4527.       
  4528.       Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  4529.       Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4530.       Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  4531.       Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13) & Chr$(13)
  4532.       If (Management > 0) Then
  4533.      Select Case Management
  4534.         Case 1         'clear all
  4535.            ErrCode = cHMAClear(HMA)
  4536.         Case 2         'clear sheet 2
  4537.            ErrCode = cHMAClearSheet(HMA, 2)
  4538.         Case 3         'clear last row
  4539.            ErrCode = cHMAClearRow(HMA, HMA.nRows, 1)
  4540.         Case 4         'clear last col
  4541.            ErrCode = cHMAClearCol(HMA, HMA.nCols, 1)
  4542.         Case 5         'clear last row in all sheets
  4543.            ErrCode = cHMAClearRow(HMA, HMA.nRows, -1)
  4544.         Case 6         'clear last col in all sheets
  4545.            ErrCode = cHMAClearCol(HMA, HMA.nCols, -1)
  4546.      End Select
  4547.      Call cHMAGetType(HMA, 1, 1, 1, TE)
  4548.      Tmp = Tmp & "R:1  , C:1  , D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4549.      Call cHMAGetType(HMA, HMA.nRows, HMA.nCols, 1, TE)
  4550.      Tmp = Tmp & "R:" & HMA.nRows & ", C:" & HMA.nCols & ", D:1, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4551.       
  4552.      Call cHMAGetType(HMA, 1, HMA.nCols, 2, TE)
  4553.      Tmp = Tmp & "R:1  , C:" & HMA.nCols & ", D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4554.      Call cHMAGetType(HMA, HMA.nRows, 1, 2, TE)
  4555.      Tmp = Tmp & "R:" & HMA.nRows & ", C:1  , D:2, TE.szModule : " & cCompress(TE.szModule) & Chr$(13)
  4556.       End If
  4557.    End If
  4558.    ErrCode = cHMAFree(HMA)
  4559.    Label3.Caption = Tmp
  4560. End Sub
  4561. Sub TestHourTo ()
  4562.    Dim title      As String
  4563.    Dim Tmp        As String
  4564.    Dim Tmp1       As String
  4565.    Dim Tmp2       As String
  4566.    Dim i          As Integer
  4567.    Dim j          As Integer
  4568.    Tmp1 = "The time 10:00 is " & cHourTo("10:00") & " minutes" & Chr$(13)
  4569.    Tmp1 = Tmp1 & "The time 23:58 is " & cHourTo("23:58") & " minutes" & Chr$(13)
  4570.    Tmp1 = Tmp1 & "The time 7:36 is " & cHourTo("7:36") & " minutes" & Chr$(13)
  4571.    Tmp1 = Tmp1 & "The time :24 is " & cHourTo(":24") & " minutes" & Chr$(13)
  4572.    Tmp1 = Tmp1 & "The time :4 is " & cHourTo(":4") & " minutes" & Chr$(13)
  4573.    Tmp1 = Tmp1 & "The time : is " & cHourTo(":") & " minutes" & Chr$(13) & Chr$(13)
  4574.    Tmp1 = Tmp1 & "The time -10:00 is " & cHourTo("-10:00") & " minutes" & Chr$(13)
  4575.    Tmp1 = Tmp1 & "The time -23:58 is " & cHourTo("-23:58") & " minutes" & Chr$(13)
  4576.    Tmp1 = Tmp1 & "The time -7:36 is " & cHourTo("-7:36") & " minutes" & Chr$(13)
  4577.    Tmp1 = Tmp1 & "The time -:24 is " & cHourTo("-:24") & " minutes" & Chr$(13)
  4578.    Tmp1 = Tmp1 & "The time -:4 is " & cHourTo("-:4") & " minutes" & Chr$(13)
  4579.    Tmp1 = Tmp1 & "The time -: is " & cHourTo("-:") & " minutes" & Chr$(13) & Chr$(13)
  4580.    cStartBasisTimer
  4581.    For i = 1 To Item
  4582.       j = cHourTo("23:59")
  4583.    Next i
  4584.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4585.    Label3.Caption = Tmp1
  4586. End Sub
  4587. Sub Testing ()
  4588.     Dim File1       As String
  4589.     Dim FVI         As tagFILEVERSIONINFO
  4590.     Dim Status      As Integer
  4591.     Dim i           As Integer
  4592.     Dim Tmp1         As String
  4593.     File1 = cFilesInDirectory("c:\windows\system\*.*", True)
  4594.     While File1 <> ""
  4595.     Status = cGetFileVersionInfo(File1, FVI)
  4596.     i = i + 1
  4597.       Tmp1 = ""
  4598.       Tmp1 = Tmp1 & "   VersionProduct = " & FVI.VersionProduct & Chr$(13)
  4599.       Tmp1 = Tmp1 & "   FileDescription = " & FVI.FileDescription & Chr$(13)
  4600.       Tmp1 = Tmp1 & "   FileVersion = " & FVI.FileVersion & Chr$(13)
  4601.       Tmp1 = Tmp1 & "   InternalName = " & FVI.InternalName & Chr$(13)
  4602.       Tmp1 = Tmp1 & "   LegalCopyright = " & FVI.LegalCopyright & Chr$(13)
  4603.       Tmp1 = Tmp1 & "   LegalTrademarks = " & FVI.LegalTrademarks & Chr$(13)
  4604.       Tmp1 = Tmp1 & "   Comments = " & FVI.Comments & Chr$(13)
  4605.       Tmp1 = Tmp1 & "   ProductName = " & FVI.ProductName & Chr$(13)
  4606.       Tmp1 = Tmp1 & "   ProductVersion = " & FVI.ProductVersion & Chr$(13) & Chr$(13)
  4607.       Label3.Caption = Tmp1
  4608.     Text1.Text = i & " " & File1 & " " & Status & " '" & FVI.FileDescription & "'"
  4609.       DoEvents
  4610.     File1 = cFilesInDirectory("c:\windows\system\*.*", False)
  4611.     Wend
  4612. End Sub
  4613. Sub TestInpBox ()
  4614.    Dim i       As Integer
  4615.    Dim n       As Integer
  4616.    Dim Tmp     As String
  4617.    Dim Tmp1    As String
  4618.    Tmp = "'TIME TO WIN'" & Chr$(13) & Chr$(13)
  4619.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & Chr$(13)
  4620.    Tmp = Tmp & "It looks very better than the standard message box." & Chr$(13)
  4621.    Tmp = Tmp & "All push buttons are displayed in French." & Chr$(13)
  4622.    Tmp = Tmp & "The system menu is also in French."
  4623.    Tmp1 = cLngInpBox(LNG_FRENCH, Tmp, "Input Box in French", "" & Text1.Text)
  4624.    Tmp1 = InputBox$("This is a standard input box", "VB INPUT BOX", "" & Text1.Text)
  4625. End Sub
  4626. Sub TestInsertBlocks ()
  4627.    Dim title      As String
  4628.    Dim Tmp        As String
  4629.    Dim Tmp1       As String
  4630.    Dim Tmp2       As String
  4631.    Dim i          As Integer
  4632.    Dim j          As Integer
  4633.    Tmp = "A~BC~DEF~GHIJ~"
  4634.    title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4635.    Tmp1 = title & cInsertBlocks(Tmp, "a~bc~def~ghij") & Chr$(13) & Chr$(13)
  4636.    title = "Insert '' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4637.    Tmp1 = Tmp1 & title & cInsertBlocks(Tmp, "") & Chr$(13) & Chr$(13)
  4638.    cStartBasisTimer
  4639.    For i = 1 To Item
  4640.       Tmp2 = cInsertBlocks(Tmp, "a")
  4641.    Next i
  4642.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4643.    Label3.Caption = Tmp1
  4644. End Sub
  4645. Sub TestInsertBlocksBy ()
  4646.    Dim title      As String
  4647.    Dim Tmp        As String
  4648.    Dim Tmp1       As String
  4649.    Dim Tmp2       As String
  4650.    Dim i          As Integer
  4651.    Dim j          As Integer
  4652.    Tmp = Text1.Text
  4653.    title = "Insert 'a','bc','def','ghij' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4654.    Tmp1 = title & cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/") & Chr$(13) & Chr$(13)
  4655.    title = "Insert '' into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4656.    Tmp1 = Tmp1 & title & cInsertBlocksBy(Tmp, "", "/") & Chr$(13) & Chr$(13)
  4657.    cStartBasisTimer
  4658.    For i = 1 To Item
  4659.       Tmp2 = cInsertBlocksBy(Tmp, "a/bc/def/ghij", "/")
  4660.    Next i
  4661.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4662.    Label3.Caption = Tmp1
  4663. End Sub
  4664. Sub TestInsertChars ()
  4665.    Dim title      As String
  4666.    Dim Tmp        As String
  4667.    Dim Tmp1       As String
  4668.    Dim Tmp2       As String
  4669.    Dim i          As Integer
  4670.    Dim j          As Integer
  4671.    Tmp = Text1.Text
  4672.    title = "Insert 'a' from 7 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4673.    Tmp1 = title & cInsertChars(Tmp, 7, "a") & Chr$(13) & Chr$(13)
  4674.    title = "Insert '10$' from 2 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4675.    Tmp1 = Tmp1 & title & cInsertChars(Tmp, 2, "10$") & Chr$(13) & Chr$(13)
  4676.    title = "Insert '@' from 21 char into [" & Tmp & "] is " & Chr$(13) & Chr$(13)
  4677.    Tmp1 = Tmp1 & title & cInsertChars(Tmp, 21, "@") & Chr$(13) & Chr$(13)
  4678.    cStartBasisTimer
  4679.    For i = 1 To Item
  4680.       Tmp2 = cInsertChars(Tmp, 1, "a")
  4681.    Next i
  4682.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4683.    Label3.Caption = Tmp1
  4684. End Sub
  4685. Sub TestIntoBalance ()
  4686.    Dim title      As String
  4687.    Dim Tmp        As String
  4688.    Dim Tmp1       As String
  4689.    Dim Tmp2       As String
  4690.    Dim i          As Integer
  4691.    Dim j          As Integer
  4692.    j = 1234
  4693.    title = "Convert minutes into balance : " & Chr$(13) & Chr$(13)
  4694.    Tmp1 = title & Chr$(13)
  4695.    For i = 0 To 11
  4696.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoBalanceFill(j + i) & " }" & Chr$(9) & Chr$(9)
  4697.       Tmp1 = Tmp1 & "{ " & cIntoBalance(j + i) & " }" & Chr$(13)
  4698.    Next i
  4699.    Tmp1 = Tmp1 & Chr$(13)
  4700.    cStartBasisTimer
  4701.    For i = 1 To Item
  4702.       Tmp2 = cIntoBalanceFill(i)
  4703.    Next i
  4704.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4705.    Label3.Caption = Tmp1
  4706. End Sub
  4707. Sub TestIntoFixHour ()
  4708.    Dim title      As String
  4709.    Dim Tmp        As String
  4710.    Dim Tmp1       As String
  4711.    Dim Tmp2       As String
  4712.    Dim i          As Integer
  4713.    Dim j          As Integer
  4714.    j = 12345
  4715.    title = "Convert " & j & " minutes into fixed hour : " & Chr$(13) & Chr$(13)
  4716.    Tmp1 = title & Chr$(13)
  4717.    For i = 0 To 11
  4718.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, True, False) & " }" & Chr$(9) & Chr$(9)
  4719.       Tmp1 = Tmp1 & "{ " & cIntoFixHour(j, i, False, False) & " }" & Chr$(13)
  4720.    Next i
  4721.    Tmp1 = Tmp1 & Chr$(13)
  4722.    cStartBasisTimer
  4723.    For i = 1 To Item
  4724.       Tmp2 = cIntoFixHour(12345, 8, True, False)
  4725.    Next i
  4726.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4727.    Label3.Caption = Tmp1
  4728. End Sub
  4729. Sub TestIntoHour ()
  4730.    Dim title      As String
  4731.    Dim Tmp        As String
  4732.    Dim Tmp1       As String
  4733.    Dim Tmp2       As String
  4734.    Dim i          As Integer
  4735.    Dim j          As Integer
  4736.    j = 1234
  4737.    title = "Convert minutes into hour : " & Chr$(13) & Chr$(13)
  4738.    Tmp1 = title & Chr$(13)
  4739.    For i = 0 To 11
  4740.       Tmp1 = Tmp1 & (j + i) & " { " & cIntoHour(j + i) & " }" & Chr$(13)
  4741.    Next i
  4742.    Tmp1 = Tmp1 & Chr$(13)
  4743.    cStartBasisTimer
  4744.    For i = 1 To Item
  4745.       Tmp2 = cIntoHour(i)
  4746.    Next i
  4747.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4748.    Label3.Caption = Tmp1
  4749. End Sub
  4750. Sub TestIntoVarHour ()
  4751.    Dim title      As String
  4752.    Dim Tmp        As String
  4753.    Dim Tmp1       As String
  4754.    Dim Tmp2       As String
  4755.    Dim i          As Integer
  4756.    Dim j          As Integer
  4757.    Dim k          As Long
  4758.                 
  4759.    title = "Convert minutes into variable hour : " & Chr$(13) & Chr$(13)
  4760.    Tmp1 = title & Chr$(13)
  4761.    For i = 1 To 9
  4762.       Tmp2 = Tmp2 & (10 - i)
  4763.       Tmp1 = Tmp1 & Tmp2 & " { " & cIntoVarHour(Val(Tmp2)) & " }" & Chr$(13)
  4764.    Next i
  4765.    Tmp1 = Tmp1 & Chr$(13)
  4766.    cStartBasisTimer
  4767.    For i = 1 To Item
  4768.       Tmp2 = cIntoVarHour(123456789)
  4769.    Next i
  4770.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4771.    Label3.Caption = Tmp1
  4772. End Sub
  4773. Sub TestIsBitPalindrome ()
  4774.    Dim title      As String
  4775.    Dim Tmp        As String
  4776.    Dim Tmp1       As String
  4777.    Dim Tmp2       As String
  4778.    Dim i          As Integer
  4779.    Dim j          As Integer
  4780.    Tmp = Text1.Text
  4781.    title = "[" & Tmp & "] is "
  4782.    Tmp1 = title & IIf(cIsPalindrome(Tmp), "a Bit Palindrome", " not a Bit Palindrome") & Chr$(13) & Chr$(13)
  4783.    For i = 1 To 255
  4784.       If cIsBitPalindrome(Chr$(i)) Then Tmp2 = Tmp2 + Chr$(i) & "(" & i & ")" & Chr$(9)
  4785.    Next i
  4786.    title = "The followings chars are Bit Palindrome : " & Chr$(13) & Chr$(13)
  4787.    Tmp1 = Tmp1 & title & Tmp2 & Chr$(13) & Chr$(13)
  4788.    cStartBasisTimer
  4789.    For i = 1 To Item
  4790.       j = cIsPalindrome(Tmp)
  4791.    Next i
  4792.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4793.    Label3.Caption = Tmp1
  4794. End Sub
  4795. Sub TestIsFileX ()
  4796.    Dim title      As String
  4797.    Dim Tmp        As String
  4798.    Dim Tmp1       As String
  4799.    Dim Tmp2       As String
  4800.    Dim i          As Integer
  4801.    Dim j          As Integer
  4802.    Tmp = cFilesInDirectory("*.*", True)
  4803.    title = "[" & Tmp & "] is "
  4804.    Tmp1 = title & Chr$(13) & Chr$(13)
  4805.    Tmp1 = Tmp1 & IIf(cIsFilenameValid(Tmp), " a good filename", " is not a good filename") & Chr$(13)
  4806.    Tmp1 = Tmp1 & IIf(cIsFileArchive(Tmp), " archive", " not archive") & Chr$(13)
  4807.    Tmp1 = Tmp1 & IIf(cIsFileHidden(Tmp), " hidden", " not hidden") & Chr$(13)
  4808.    Tmp1 = Tmp1 & IIf(cIsFileNormal(Tmp), " normal", " not normal") & Chr$(13)
  4809.    Tmp1 = Tmp1 & IIf(cIsFileReadOnly(Tmp), " read-only", " not read-only") & Chr$(13)
  4810.    Tmp1 = Tmp1 & IIf(cIsFileSubDir(Tmp), " sub-directory", " not sub-directory") & Chr$(13)
  4811.    Tmp1 = Tmp1 & IIf(cIsFileSystem(Tmp), " system", " not system") & Chr$(13)
  4812.    Tmp1 = Tmp1 & IIf(cIsFileVolId(Tmp), " volume-id", " not volume-id") & Chr$(13) & Chr$(13)
  4813.    cStartBasisTimer
  4814.    For i = 1 To Item
  4815.       j = cIsFileArchive(Tmp)
  4816.    Next i
  4817.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4818.    Label3.Caption = Tmp1
  4819. End Sub
  4820. Sub TestIsPalindrome ()
  4821.    Dim title      As String
  4822.    Dim Tmp        As String
  4823.    Dim Tmp1       As String
  4824.    Dim Tmp2       As String
  4825.    Dim i          As Integer
  4826.    Dim j          As Integer
  4827.    Tmp = Text1.Text
  4828.    title = "[" & Tmp & "] is "
  4829.    Tmp1 = title & IIf(cIsPalindrome(Tmp), "a Palindrome", " not a Palindrome") & Chr$(13) & Chr$(13)
  4830.    cStartBasisTimer
  4831.    For i = 1 To Item
  4832.       j = cIsPalindrome(Tmp)
  4833.    Next i
  4834.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4835.    Label3.Caption = Tmp1
  4836. End Sub
  4837. Sub TestIsX ()
  4838.    Dim title      As String
  4839.    Dim Tmp        As String
  4840.    Dim Tmp1       As String
  4841.    Dim Tmp2       As String
  4842.    Dim i          As Integer
  4843.    Dim j          As Integer
  4844.    Tmp = Text1.Text
  4845.    Tmp1 = "[" & Tmp & "] is " & Chr$(13)
  4846.    Tmp1 = Tmp1 & IIf(cIsDigit(Tmp), "Digit", " not Digit") & Chr$(13)
  4847.    Tmp1 = Tmp1 & IIf(cIsXdigit(Tmp), "XDigit", " not XDigit") & Chr$(13)
  4848.    Tmp1 = Tmp1 & IIf(cIsAlpha(Tmp), "Alpha", " not Alpha") & Chr$(13)
  4849.    Tmp1 = Tmp1 & IIf(cIsLower(Tmp), "Lower", " not Lower") & Chr$(13)
  4850.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & Chr$(13)
  4851.    Tmp1 = Tmp1 & IIf(cIsAlnum(Tmp), "Alnum", " not Alnum") & Chr$(13)
  4852.    Tmp1 = Tmp1 & IIf(cIsUpper(Tmp), "Upper", " not Upper") & Chr$(13)
  4853.    Tmp1 = Tmp1 & IIf(cIsSpace(Tmp), "Space", " not Space") & Chr$(13)
  4854.    Tmp1 = Tmp1 & IIf(cIsPunct(Tmp), "Punct", " not Punct") & Chr$(13)
  4855.    Tmp1 = Tmp1 & IIf(cIsAscii(Tmp), "Ascii", " not Ascii") & Chr$(13)
  4856.    Tmp1 = Tmp1 & IIf(cIsCsym(Tmp), "Csym", " not Csym") & Chr$(13)
  4857.    Tmp1 = Tmp1 & IIf(cIsCsymf(Tmp), "Csymf", " not Csymf") & Chr$(13)
  4858.    Tmp1 = Tmp1 & IIf(cIsISBN(Tmp), "ISBN", " not ISBN") & Chr$(13) & Chr$(13)
  4859.    cStartBasisTimer
  4860.    For i = 1 To Item
  4861.       j = cIsDigit(Tmp)
  4862.    Next i
  4863.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4864.    Label3.Caption = Tmp1
  4865. End Sub
  4866. Sub TestKillDir ()
  4867.    Dim title      As String
  4868.    Dim Tmp        As String
  4869.    Dim Tmp1       As String
  4870.    Dim Tmp2       As String
  4871.    Dim i          As Integer
  4872.    Dim j          As Integer
  4873.    j = cMakeDir("c:\testing")
  4874.    Tmp1 = "Directory 'TESTING' " & IIf(cKillDir("c:\testing") = True, "deleted", "not deleted") & Chr$(13) & Chr$(13)
  4875.    cStartBasisTimer
  4876.    For i = 1 To ItemFile
  4877.       j = cKillDir("c:\testing")
  4878.    Next i
  4879.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4880.    Label3.Caption = Tmp1
  4881. End Sub
  4882. Sub TestKillDirs ()
  4883.    Dim title      As String
  4884.    Dim Tmp        As String
  4885.    Dim Tmp1       As String
  4886.    Dim Tmp2       As String
  4887.    Dim i          As Integer
  4888.    Dim j          As Integer
  4889.    Dim File       As String
  4890.    File = "c:\this1\this2\this3"
  4891.    j = cMakeMultipleDir(File)
  4892.    Tmp1 = "Create '" & File & "' " & IIf(j = True, "created", "not created") & Chr$(13)
  4893.    Tmp1 = Tmp1 & "Directory '" & File & "' " & IIf(cKillDirs(File, True) = True, "deleted", "not deleted") & Chr$(13) & Chr$(13)
  4894.    cStartBasisTimer
  4895.    For i = 1 To ItemFile
  4896.       j = cKillDirs(File, True)
  4897.    Next i
  4898.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4899.    Label3.Caption = Tmp1
  4900. End Sub
  4901. Sub TestKillFile ()
  4902.    Dim title      As String
  4903.    Dim Tmp        As String
  4904.    Dim Tmp1       As String
  4905.    Dim Tmp2       As String
  4906.    Dim i          As Integer
  4907.    Dim j          As Integer
  4908.    Close #1
  4909.    Open "XY~YX~XY.~~~" For Output As #1
  4910.    Print #1, "this is a test";
  4911.    Close #1
  4912.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cKillFile("XY~YX~XY.~~~") = True, "destroyed", "not destroyed") & Chr$(13) & Chr$(13)
  4913.    cStartBasisTimer
  4914.    For i = 1 To Item
  4915.       j = cKillFile("XY~YX~XY.~~~")
  4916.    Next i
  4917.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4918.    Label3.Caption = Tmp1
  4919. End Sub
  4920. Sub TestKillFiles ()
  4921.    Dim title      As String
  4922.    Dim Tmp        As String
  4923.    Dim Tmp1       As String
  4924.    Dim Tmp2       As String
  4925.    Dim i          As Integer
  4926.    Dim j          As Integer
  4927.    For i = 1 To 34
  4928.       Close #1
  4929.       Open "C:\XY~YX~XY." & i For Output As #1
  4930.       Print #1, "this is a test";
  4931.       Close #1
  4932.    Next i
  4933.    Tmp1 = "Number of killed Files from 'C:XY~YX~XY.1' to 'C:XY~YX~XY.34' is " & cKillFiles("C:\XY~YX~XY.*") & Chr$(13) & Chr$(13)
  4934.    cStartBasisTimer
  4935.    For i = 1 To ItemFile
  4936.       j = cKillFiles("C:\XY~YX~XY.~~~")
  4937.    Next i
  4938.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  4939.    Label3.Caption = Tmp1
  4940. End Sub
  4941. Sub TestLanguage ()
  4942.    Dim title      As String
  4943.    Dim Tmp        As String
  4944.    Dim Tmp1       As String
  4945.    Dim Tmp2       As String
  4946.    Dim i          As Integer
  4947.    Dim j          As Integer
  4948.    Dim k          As Long
  4949.    Dim ErrCode    As Integer
  4950.    ReDim Lng(LNG_FRENCH To LNG_NORVEGIAN)
  4951.    k = Int(Now)
  4952.    Lng(LNG_FRENCH) = "LNG_FRENCH"
  4953.    Lng(LNG_DUTCH) = "LNG_DUTCH"
  4954.    Lng(LNG_GERMAN) = "LNG_GERMAN"
  4955.    Lng(LNG_ENGLISH) = "LNG_ENGLISH"
  4956.    Lng(LNG_ITALIAN) = "LNG_ITALIAN"
  4957.    Lng(LNG_SPANISH) = "LNG_SPANISH"
  4958.    Lng(LNG_CATALAN) = "LNG_CATALAN"
  4959.    Lng(LNG_POLISH) = "LNG_POLISH"
  4960.    Lng(LNG_NORVEGIAN) = "LNG_NORVEGIAN"
  4961.    Tmp1 = ""
  4962.    For i = LNG_FRENCH To LNG_NORVEGIAN
  4963.       Tmp1 = Tmp1 + Lng(i) + " : " + cGetLongDay(i, Weekday(k)) & " " & Day(k) & " " & cGetLongMonth(i, Month(k)) & " " & Year(k) & Chr$(13)
  4964.    Next i
  4965.    Tmp1 = Tmp1 + Chr$(13)
  4966.    For i = LNG_FRENCH To LNG_NORVEGIAN
  4967.       Tmp1 = Tmp1 + Lng(i) + " : " + cGetShortDay(i, Weekday(k)) & " " & Day(k) & " " & cGetShortMonth(i, Month(k)) & " " & Year(k) & Chr$(13)
  4968.    Next i
  4969.    Tmp1 = Tmp1 + Chr$(13)
  4970.    cStartBasisTimer
  4971.    For i = 1 To Item
  4972.       Tmp = cGetLongMonth(LNG_FRENCH, 12)
  4973.    Next i
  4974.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4975.    Label3.Caption = Tmp1
  4976. End Sub
  4977. Sub TestLrc ()
  4978.    Dim title      As String
  4979.    Dim Tmp        As String
  4980.    Dim Tmp1       As String
  4981.    Dim Tmp2       As String
  4982.    Dim i          As Integer
  4983.    Dim j          As Integer
  4984.    Tmp = Chr$(2) & "0a12721536"
  4985.    Tmp1 = "Lrc for [" & Tmp & "] is " & cLrc(Tmp) & Chr$(13) & Chr$(13)
  4986.    cStartBasisTimer
  4987.    For i = 1 To Item
  4988.       Tmp2 = cLrc(Tmp)
  4989.    Next i
  4990.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  4991.    Label3.Caption = Tmp1
  4992. End Sub
  4993. Sub TestMakeDir ()
  4994.    Dim title      As String
  4995.    Dim Tmp        As String
  4996.    Dim Tmp1       As String
  4997.    Dim Tmp2       As String
  4998.    Dim i          As Integer
  4999.    Dim j          As Integer
  5000.    j = cKillDir("testing")
  5001.    Tmp1 = "Directory 'TESTING' " & IIf(cMakeDir("testing") = True, "created", "not created") & Chr$(13) & Chr$(13)
  5002.    cStartBasisTimer
  5003.    For i = 1 To ItemFile
  5004.       j = cMakeDir("testing")
  5005.    Next i
  5006.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5007.    Label3.Caption = Tmp1
  5008. End Sub
  5009. Sub TestMakePath ()
  5010.    Dim title      As String
  5011.    Dim Tmp        As String
  5012.    Dim Tmp1       As String
  5013.    Dim Tmp2       As String
  5014.    Dim Tmp3       As String
  5015.    Dim i          As Integer
  5016.    Dim n          As Integer
  5017.    Dim j          As Long
  5018.    Dim SPLITPATH  As tagSPLITPATH
  5019.    Tmp1 = ""
  5020.    Tmp = cMakePath("c", "tmp", "test", "dat")
  5021.    Tmp1 = Tmp1 & "Make Path of (c,tmp,test,dat) is '" & Tmp & "'" & Chr$(13) & Chr$(13)
  5022.    Tmp1 = Tmp1 & "Split Path '" & Tmp & "' into four components is :" & Chr$(13) & Chr$(13)
  5023.    n = cSplitPath(Tmp, SPLITPATH)
  5024.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  5025.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  5026.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  5027.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  5028.    cStartBasisTimer
  5029.    For i = 1 To Item
  5030.       Tmp = cMakePath("c", "tmp", "test", "dat")
  5031.    Next i
  5032.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  5033.    Label3.Caption = Tmp1
  5034. End Sub
  5035. Sub TestMatrixAdd ()
  5036.    Dim Tmp1       As String
  5037.    Dim TmpA       As String
  5038.    Dim TmpB       As String
  5039.    Dim TmpC       As String
  5040.    Dim i          As Integer
  5041.    Dim j          As Integer
  5042.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5043.    ReDim arrayB(1 To 3, 1 To 3) As Double
  5044.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5045.    Randomize Timer
  5046.    For i = 1 To 3
  5047.       For j = 1 To 3
  5048.      arrayA(i, j) = Int(RandI * Rnd(1))
  5049.      arrayB(i, j) = Int(RandI * Rnd(1))
  5050.      arrayC(i, j) = 0
  5051.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5052.      TmpB = TmpB + Format$(arrayB(i, j), "00000  ")
  5053.       Next j
  5054.       TmpA = TmpA + Chr$(13)
  5055.       TmpB = TmpB + Chr$(13)
  5056.    Next i
  5057.    Call cMatrixAdd(3, arrayA(), arrayB(), arrayC())
  5058.    For i = 1 To 3
  5059.       For j = 1 To 3
  5060.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5061.       Next j
  5062.       TmpC = TmpC + Chr$(13)
  5063.    Next i
  5064.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5065.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  5066.    Tmp1 = Tmp1 & "The sum (A) + (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5067.    cStartBasisTimer
  5068.    For i = 1 To ItemFile
  5069.       Call cMatrixAdd(3, arrayA(), arrayB(), arrayC())
  5070.    Next i
  5071.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5072.    Label3.Caption = Tmp1
  5073. End Sub
  5074. Sub TestMatrixCompare ()
  5075.    Dim Tmp1       As String
  5076.    Dim TmpA       As String
  5077.    Dim TmpC       As String
  5078.    Dim i          As Integer
  5079.    Dim j          As Integer
  5080.    Dim Idem       As Integer
  5081.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5082.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5083.    Randomize Timer
  5084.    For i = 1 To 3
  5085.       For j = 1 To 3
  5086.      arrayA(i, j) = Int(RandI * Rnd(1))
  5087.      arrayC(i, j) = Int(RandI * Rnd(1))
  5088.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5089.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5090.       Next j
  5091.       TmpA = TmpA + Chr$(13)
  5092.       TmpC = TmpC + Chr$(13)
  5093.    Next i
  5094.    Idem = cMatrixCompare(3, arrayA(), arrayC())
  5095.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5096.    Tmp1 = Tmp1 & "Second array (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5097.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & Chr$(13) & Chr$(13)
  5098.    TmpA = ""
  5099.    TmpC = ""
  5100.    For i = 1 To 3
  5101.       For j = 1 To 3
  5102.      arrayA(i, j) = Int(RandI * Rnd(1))
  5103.      arrayC(i, j) = arrayA(i, j)
  5104.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5105.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5106.       Next j
  5107.       TmpA = TmpA + Chr$(13)
  5108.       TmpC = TmpC + Chr$(13)
  5109.    Next i
  5110.    Idem = cMatrixCompare(3, arrayA(), arrayC())
  5111.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5112.    Tmp1 = Tmp1 & "Second array (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5113.    Tmp1 = Tmp1 & "Compare of (A) = (C) is " & Idem & Chr$(13) & Chr$(13)
  5114.    cStartBasisTimer
  5115.    For i = 1 To ItemFile
  5116.       Idem = cMatrixCompare(3, arrayA(), arrayC())
  5117.    Next i
  5118.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5119.    Label3.Caption = Tmp1
  5120. End Sub
  5121. Sub TestMatrixCopy ()
  5122.    Dim Tmp1       As String
  5123.    Dim TmpA       As String
  5124.    Dim TmpC       As String
  5125.    Dim i          As Integer
  5126.    Dim j          As Integer
  5127.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5128.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5129.    Randomize Timer
  5130.    For i = 1 To 3
  5131.       For j = 1 To 3
  5132.      arrayA(i, j) = Int(RandI * Rnd(1))
  5133.      arrayC(i, j) = 0
  5134.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5135.       Next j
  5136.       TmpA = TmpA + Chr$(13)
  5137.    Next i
  5138.    Call cMatrixCopy(3, arrayA(), arrayC())
  5139.    For i = 1 To 3
  5140.       For j = 1 To 3
  5141.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5142.       Next j
  5143.       TmpC = TmpC + Chr$(13)
  5144.    Next i
  5145.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5146.    Tmp1 = Tmp1 & "Copy of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5147.    cStartBasisTimer
  5148.    For i = 1 To ItemFile
  5149.       Call cMatrixCopy(3, arrayA(), arrayC())
  5150.    Next i
  5151.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5152.    Label3.Caption = Tmp1
  5153. End Sub
  5154. Sub TestMatrixDet ()
  5155.    Dim Tmp1       As String
  5156.    Dim TmpA       As String
  5157.    Dim TmpC       As String
  5158.    Dim i          As Integer
  5159.    Dim j          As Integer
  5160.    Dim det        As Double
  5161.    Dim nSize      As Integer
  5162.    nSize = 3
  5163.    ReDim arrayA(1 To nSize, 1 To nSize) As Double
  5164.    Randomize Timer
  5165.    For i = 1 To nSize
  5166.       For j = 1 To nSize
  5167.      arrayA(i, j) = Int(RandI * Rnd(1))
  5168.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5169.       Next j
  5170.       TmpA = TmpA + Chr$(13)
  5171.    Next i
  5172.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5173.    Tmp1 = Tmp1 & "Det of (A) = " & cMatrixDet(nSize, arrayA()) & Chr$(13) & Chr$(13)
  5174.    cStartBasisTimer
  5175.    For i = 1 To ItemFile
  5176.       det = cMatrixDet(nSize, arrayA())
  5177.       DoEvents
  5178.    Next i
  5179.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5180.    Label3.Caption = Tmp1
  5181. End Sub
  5182. Sub TestMatrixInv ()
  5183.    Dim Tmp1       As String
  5184.    Dim TmpA       As String
  5185.    Dim TmpC       As String
  5186.    Dim i          As Integer
  5187.    Dim j          As Integer
  5188.    Dim result     As Integer
  5189.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5190.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5191.    Randomize Timer
  5192.    result = cMatrixFill(3, arrayA(), MATRIX_ZERO)
  5193.    result = cMatrixFill(3, arrayC(), MATRIX_UNIT)
  5194.    For i = 1 To 3
  5195.       For j = 1 To 3
  5196.      arrayA(i, j) = Int(RandI * Rnd(1))
  5197.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5198.       Next j
  5199.       TmpA = TmpA + Chr$(13)
  5200.    Next i
  5201.    result = cMatrixInv(3, arrayA(), arrayC())
  5202.    If (result = True) Then
  5203.       For i = 1 To 3
  5204.      For j = 1 To 3
  5205.         TmpC = TmpC + Format$(arrayC(i, j), "0.0000000  ")
  5206.      Next j
  5207.      TmpC = TmpC + Chr$(13)
  5208.       Next i
  5209.    Else
  5210.       TmpC = " 'can be inverted'"
  5211.    End If
  5212.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & TmpA & Chr$(13)
  5213.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & Chr$(13) & TmpC & Chr$(13)
  5214.    TmpA = ""
  5215.    TmpC = ""
  5216.    result = cMatrixFill(3, arrayA(), MATRIX_ZERO)
  5217.    result = cMatrixFill(3, arrayC(), MATRIX_ZERO)
  5218.    For i = 1 To 3
  5219.       For j = 1 To 3
  5220.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5221.       Next j
  5222.       TmpA = TmpA + Chr$(13)
  5223.    Next i
  5224.    result = cMatrixInv(3, arrayA(), arrayC())
  5225.    If (result = True) Then
  5226.       For i = 1 To 3
  5227.      For j = 1 To 3
  5228.         TmpC = TmpC + Format$(arrayC(i, j), "0.0000000  ")
  5229.      Next j
  5230.      TmpC = TmpC + Chr$(13)
  5231.       Next i
  5232.    Else
  5233.       TmpC = " 'can be inverted'"
  5234.    End If
  5235.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & TmpA & Chr$(13)
  5236.    Tmp1 = Tmp1 & "Inv of (A) = (C) is " & Chr$(13) & TmpC & Chr$(13) & Chr$(13)
  5237.    For i = 1 To 3
  5238.       For j = 1 To 3
  5239.      arrayA(i, j) = Int(RandI * Rnd(1))
  5240.       Next j
  5241.    Next i
  5242.    cStartBasisTimer
  5243.    For i = 1 To ItemFile
  5244.       result = cMatrixInv(3, arrayA(), arrayC())
  5245.    Next i
  5246.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5247.    Label3.Caption = Tmp1
  5248. End Sub
  5249. Sub TestMatrixMinCo ()
  5250.    Dim Tmp1       As String
  5251.    Dim TmpA       As String
  5252.    Dim TmpC       As String
  5253.    Dim i          As Integer
  5254.    Dim j          As Integer
  5255.    Dim cofact     As Double
  5256.    Dim nSize      As Integer
  5257.    nSize = 3
  5258.    ReDim arrayA(1 To nSize, 1 To nSize) As Double
  5259.    Randomize Timer
  5260.    For i = 1 To nSize
  5261.       For j = 1 To nSize
  5262.      arrayA(i, j) = Int(RandI * Rnd(1))
  5263.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5264.       Next j
  5265.       TmpA = TmpA + Chr$(13)
  5266.    Next i
  5267.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13) & Chr$(13)
  5268.    Tmp1 = Tmp1 & "CoFactor of A(1,1) = " & cMatrixCoFactor(nSize, arrayA(), 1, 1) & Chr$(13)
  5269.    Tmp1 = Tmp1 & "CoFactor of A(2,2) = " & cMatrixCoFactor(nSize, arrayA(), 2, 2) & Chr$(13)
  5270.    Tmp1 = Tmp1 & "CoFactor of A(3,3) = " & cMatrixCoFactor(nSize, arrayA(), 3, 3) & Chr$(13) & Chr$(13)
  5271.    Tmp1 = Tmp1 & "Minor of A(1,1) = " & cMatrixMinor(nSize, arrayA(), 1, 1) & Chr$(13)
  5272.    Tmp1 = Tmp1 & "Minor of A(2,2) = " & cMatrixMinor(nSize, arrayA(), 2, 2) & Chr$(13)
  5273.    Tmp1 = Tmp1 & "Minor of A(3,3) = " & cMatrixMinor(nSize, arrayA(), 3, 3) & Chr$(13) & Chr$(13)
  5274.    cStartBasisTimer
  5275.    For i = 1 To ItemFile
  5276.       cofact = cMatrixCoFactor(nSize, arrayA(), 1, 1)
  5277.    Next i
  5278.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5279.    Label3.Caption = Tmp1
  5280. End Sub
  5281. Sub TestMatrixMul ()
  5282.    Dim Tmp1       As String
  5283.    Dim TmpA       As String
  5284.    Dim TmpB       As String
  5285.    Dim TmpC       As String
  5286.    Dim i          As Integer
  5287.    Dim j          As Integer
  5288.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5289.    ReDim arrayB(1 To 3, 1 To 3) As Double
  5290.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5291.    Randomize Timer
  5292.    For i = 1 To 3
  5293.       For j = 1 To 3
  5294.      arrayA(i, j) = Int(RandI * Rnd(1))
  5295.      arrayB(i, j) = Int(RandI * Rnd(1))
  5296.      arrayC(i, j) = 0
  5297.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5298.      TmpB = TmpB + Format$(arrayB(i, j), "00000  ")
  5299.       Next j
  5300.       TmpA = TmpA + Chr$(13)
  5301.       TmpB = TmpB + Chr$(13)
  5302.    Next i
  5303.    Call cMatrixMul(3, arrayA(), arrayB(), arrayC())
  5304.    For i = 1 To 3
  5305.       For j = 1 To 3
  5306.      TmpC = TmpC + Format$(arrayC(i, j), "000000000000  ")
  5307.       Next j
  5308.       TmpC = TmpC + Chr$(13)
  5309.    Next i
  5310.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5311.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  5312.    Tmp1 = Tmp1 & "The multiply (A) . (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5313.    cStartBasisTimer
  5314.    For i = 1 To ItemFile
  5315.       Call cMatrixMul(3, arrayA(), arrayB(), arrayC())
  5316.    Next i
  5317.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5318.    Label3.Caption = Tmp1
  5319. End Sub
  5320. Sub TestMatrixSub ()
  5321.    Dim Tmp1       As String
  5322.    Dim TmpA       As String
  5323.    Dim TmpB       As String
  5324.    Dim TmpC       As String
  5325.    Dim i          As Integer
  5326.    Dim j          As Integer
  5327.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5328.    ReDim arrayB(1 To 3, 1 To 3) As Double
  5329.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5330.    Randomize Timer
  5331.    For i = 1 To 3
  5332.       For j = 1 To 3
  5333.      arrayA(i, j) = Int(RandI * Rnd(1))
  5334.      arrayB(i, j) = Int(RandI * Rnd(1))
  5335.      arrayC(i, j) = 0
  5336.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5337.      TmpB = TmpB + Format$(arrayB(i, j), "00000  ")
  5338.       Next j
  5339.       TmpA = TmpA + Chr$(13)
  5340.       TmpB = TmpB + Chr$(13)
  5341.    Next i
  5342.    Call cMatrixSub(3, arrayA(), arrayB(), arrayC())
  5343.    For i = 1 To 3
  5344.       For j = 1 To 3
  5345.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5346.       Next j
  5347.       TmpC = TmpC + Chr$(13)
  5348.    Next i
  5349.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5350.    Tmp1 = Tmp1 & "Second array (B) is " & Chr$(13) & Chr$(13) & TmpB & Chr$(13)
  5351.    Tmp1 = Tmp1 & "The substract (A) - (B) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5352.    cStartBasisTimer
  5353.    For i = 1 To ItemFile
  5354.       Call cMatrixSub(3, arrayA(), arrayB(), arrayC())
  5355.    Next i
  5356.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5357.    Label3.Caption = Tmp1
  5358. End Sub
  5359. Sub TestMatrixSymToeplitz ()
  5360.    Dim Tmp1       As String
  5361.    Dim TmpA       As String
  5362.    Dim TmpC       As String
  5363.    Dim i          As Integer
  5364.    Dim j          As Integer
  5365.    Dim result     As Integer
  5366.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5367.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5368.    Randomize Timer
  5369.    For i = 1 To 1
  5370.       For j = 1 To 3
  5371.      arrayA(i, j) = Int(RandI * Rnd(1))
  5372.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5373.       Next j
  5374.       TmpA = TmpA + Chr$(13)
  5375.    Next i
  5376.    result = cMatrixSymToeplitz(3, arrayA(), arrayC())
  5377.    For i = 1 To 3
  5378.       For j = 1 To 3
  5379.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5380.       Next j
  5381.       TmpC = TmpC + Chr$(13)
  5382.    Next i
  5383.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5384.    Tmp1 = Tmp1 & "Symmetrical Toeplitz of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5385.    cStartBasisTimer
  5386.    For i = 1 To ItemFile
  5387.       result = cMatrixSymToeplitz(3, arrayA(), arrayC())
  5388.    Next i
  5389.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5390.    Label3.Caption = Tmp1
  5391. End Sub
  5392. Sub TestMatrixTranspose ()
  5393.    Dim Tmp1       As String
  5394.    Dim TmpA       As String
  5395.    Dim TmpC       As String
  5396.    Dim i          As Integer
  5397.    Dim j          As Integer
  5398.    ReDim arrayA(1 To 3, 1 To 3) As Double
  5399.    ReDim arrayC(1 To 3, 1 To 3) As Double
  5400.    Randomize Timer
  5401.    For i = 1 To 3
  5402.       For j = 1 To 3
  5403.      arrayA(i, j) = Int(RandI * Rnd(1))
  5404.      arrayC(i, j) = 0
  5405.      TmpA = TmpA + Format$(arrayA(i, j), "00000  ")
  5406.       Next j
  5407.       TmpA = TmpA + Chr$(13)
  5408.    Next i
  5409.    Call cMatrixTranspose(3, arrayA(), arrayC())
  5410.    For i = 1 To 3
  5411.       For j = 1 To 3
  5412.      TmpC = TmpC + Format$(arrayC(i, j), "00000  ")
  5413.       Next j
  5414.       TmpC = TmpC + Chr$(13)
  5415.    Next i
  5416.    Tmp1 = Tmp1 & "First array (A) is " & Chr$(13) & Chr$(13) & TmpA & Chr$(13)
  5417.    Tmp1 = Tmp1 & "Transpose of (A) = (C) is " & Chr$(13) & Chr$(13) & TmpC & Chr$(13)
  5418.    cStartBasisTimer
  5419.    For i = 1 To ItemFile
  5420.       Call cMatrixTranspose(3, arrayA(), arrayC())
  5421.    Next i
  5422.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5423.    Label3.Caption = Tmp1
  5424. End Sub
  5425. Sub TestMaxI ()
  5426.    Dim title      As String
  5427.    Dim Tmp        As String
  5428.    Dim Tmp1       As String
  5429.    Dim Tmp2       As String
  5430.    Dim i          As Integer
  5431.    Dim j          As Integer
  5432.    Dim m          As Double
  5433.    ReDim array(ItemMean) As Integer
  5434.    Randomize Timer
  5435.    For i = LBound(array) To UBound(array)
  5436.       array(i) = RandI * Rnd(1)
  5437.       List1.AddItem "" & array(i)
  5438.    Next i
  5439.    j = cSortI(array())
  5440.    For i = LBound(array) To UBound(array)
  5441.       List2.AddItem "" & array(i)
  5442.    Next i
  5443.    List2.ListIndex = List2.ListCount - 1
  5444.    Tmp1 = "The MAX of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMaxI(array()) & Chr$(13) & Chr$(13)
  5445.    cStartBasisTimer
  5446.    For i = 1 To ItemFile
  5447.       m = cMaxI(array())
  5448.    Next i
  5449.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5450.    Label3.Caption = Tmp1
  5451. End Sub
  5452. Sub TestMD5 ()
  5453.    Dim title      As String
  5454.    Dim Tmp        As String
  5455.    Dim Tmp1       As String
  5456.    Dim Tmp2       As String
  5457.    Dim Tmp3       As String
  5458.    Dim i          As Integer
  5459.    Dim j          As Long
  5460.    Tmp2 = "TIME TO WIN"
  5461.    Tmp = Text1.Text
  5462.    Tmp1 = "HashMD5 for '" & Tmp2 & "' is " & cHashMD5(Tmp2) & Chr$(13) & Chr$(13)
  5463.    Tmp1 = Tmp1 & "HashMD5 for '" & Tmp & "' is " & cHashMD5(Tmp) & Chr$(13) & Chr$(13)
  5464.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp2) & "' is " & cHashMD5(LCase$(Tmp2)) & Chr$(13) & Chr$(13)
  5465.    Tmp1 = Tmp1 & "HashMD5 for '" & LCase$(Tmp) & "' is " & cHashMD5(LCase$(Tmp)) & Chr$(13) & Chr$(13)
  5466.    Tmp1 = Tmp1 & "HashMD5 for '" & Left$(Tmp2, 3) & "' is " & cHashMD5(Left$(Tmp2, 3)) & Chr$(13) & Chr$(13)
  5467.    cStartBasisTimer
  5468.    For i = 1 To Item
  5469.       Tmp3 = cHashMD5(Tmp2)
  5470.    Next i
  5471.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5472.    Label3.Caption = Tmp1
  5473. End Sub
  5474. Sub TestMDA (Management As Integer)
  5475.    Dim Tmp        As String
  5476.    Dim ErrCode    As Integer
  5477.    Dim MDA        As tagMULTIPLEDISKARRAY
  5478.    Dim TE         As tagTASKENTRY
  5479.    ErrCode = cMakeDir("c:\t2w_tmp")
  5480.    MDA.nFilename = "c:\t2w_tmp\mda.tmp"
  5481.    MDA.nType(1) = DA_LONG     'long
  5482.    MDA.nIsTyped(1) = False
  5483.    MDA.nRows(1) = 20
  5484.    MDA.nCols(1) = 20
  5485.    MDA.nSheets(1) = 2
  5486.    MDA.nType(2) = 10          'string
  5487.    MDA.nIsTyped(2) = False
  5488.    MDA.nRows(2) = 20
  5489.    MDA.nCols(2) = 20
  5490.    MDA.nSheets(2) = 2
  5491.    MDA.nType(9) = Len(TE)     'type'd
  5492.    MDA.nIsTyped(9) = True
  5493.    MDA.nRows(9) = 20
  5494.    MDA.nCols(9) = 20
  5495.    MDA.nSheets(9) = 2
  5496.    Select Case Management
  5497.       Case True      'create
  5498.      ErrCode = cMDACreate(MDA, True)
  5499.       Case False     'use
  5500.      ErrCode = cMDACreate(MDA, False)
  5501.       Case 1         'clear all
  5502.      ErrCode = cMDACreate(MDA, False)
  5503.      If (ErrCode = -1) Then ErrCode = cMDAClear(1, MDA)
  5504.      If (ErrCode = -1) Then ErrCode = cMDAClear(2, MDA)
  5505.      If (ErrCode = -1) Then ErrCode = cMDAClear(9, MDA)
  5506.       Case 2         'clear sheet 2
  5507.      ErrCode = cMDACreate(MDA, False)
  5508.      If (ErrCode = -1) Then ErrCode = cMDAClearSheet(1, MDA, 2)
  5509.      If (ErrCode = -1) Then ErrCode = cMDAClearSheet(2, MDA, 2)
  5510.      If (ErrCode = -1) Then ErrCode = cMDAClearSheet(9, MDA, 2)
  5511.       Case 3         'clear last row
  5512.      ErrCode = cMDACreate(MDA, False)
  5513.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), 1)
  5514.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), 1)
  5515.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), 1)
  5516.       Case 4         'clear last col
  5517.      ErrCode = cMDACreate(MDA, False)
  5518.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), 1)
  5519.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), 1)
  5520.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), 1)
  5521.       Case 5         'clear last row in all sheets
  5522.      ErrCode = cMDACreate(MDA, False)
  5523.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(1, MDA, MDA.nRows(1), -1)
  5524.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(2, MDA, MDA.nRows(2), -1)
  5525.      If (ErrCode = -1) Then ErrCode = cMDAClearRow(9, MDA, MDA.nRows(9), -1)
  5526.       Case 6         'clear last col in all sheets
  5527.      ErrCode = cMDACreate(MDA, False)
  5528.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(1, MDA, MDA.nCols(1), -1)
  5529.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(2, MDA, MDA.nCols(2), -1)
  5530.      If (ErrCode = -1) Then ErrCode = cMDAClearCol(9, MDA, MDA.nCols(9), -1)
  5531.    End Select
  5532.    Tmp = Tmp & "ErrCode = " & ErrCode & Chr$(13) & Chr$(13)
  5533.    If (ErrCode = True) Then
  5534.       
  5535.       Tmp = Tmp & "MDA.daSize          = " & MDA.daSize & Chr$(13)
  5536.       Tmp = Tmp & "MDA.Signature       = " & MDA.Signature & Chr$(13)
  5537.       Tmp = Tmp & "MDA.nFilename       = " & Trim$(MDA.nFilename) & Chr$(13)
  5538.       Tmp = Tmp & "MDA.rHandle         = " & MDA.rHandle & Chr$(13)
  5539.       Tmp = Tmp & "MDA.rFileSize       = " & MDA.rFileSize & Chr$(13) & Chr$(13)
  5540.       Tmp = Tmp & "MDA.nType(1)(2)(9)        = (" & MDA.nType(1) & ") (" & MDA.nType(2) & ") (" & MDA.nType(9) & ")" & Chr$(13)
  5541.       Tmp = Tmp & "MDA.nIsTyped(1)(2)(9)     = (" & MDA.nIsTyped(1) & ") (" & MDA.nIsTyped(2) & ") (" & MDA.nIsTyped(9) & ")" & Chr$(13)
  5542.       Tmp = Tmp & "MDA.nRows(1)(2)(9)        = (" & MDA.nRows(1) & ") (" & MDA.nRows(2) & ") (" & MDA.nRows(9) & ")" & Chr$(13)
  5543.       Tmp = Tmp & "MDA.nCols(1)(2)(9)        = (" & MDA.nCols(1) & ") (" & MDA.nCols(2) & ") (" & MDA.nCols(9) & ")" & Chr$(13)
  5544.       Tmp = Tmp & "MDA.nSheets(1)(2)(9)      = (" & MDA.nSheets(1) & ") (" & MDA.nSheets(2) & ") (" & MDA.nSheets(9) & ")" & Chr$(13)
  5545.       Tmp = Tmp & "MDA.rElementSz(1)(2)(9)   = (" & MDA.rElementSz(1) & ") (" & MDA.rElementSz(2) & ") (" & MDA.rElementSz(9) & ")" & Chr$(13)
  5546.       Tmp = Tmp & "MDA.rSheetSz(1)(2)(9)     = (" & MDA.rSheetSz(1) & ") (" & MDA.rSheetSz(2) & ") (" & MDA.rSheetSz(9) & ")" & Chr$(13)
  5547.       Tmp = Tmp & "MDA.rOffsetPos(1)(2)(9)   = (" & MDA.rOffsetPos(1) & ") (" & MDA.rOffsetPos(2) & ") (" & MDA.rOffsetPos(9) & ")" & Chr$(13) & Chr$(13)
  5548.       If (Management = True) Then
  5549.      Call cMDAPut(1, MDA, 1, 1, 1, 123456789)
  5550.      Call cMDAPut(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1), 987654321)
  5551.       
  5552.      Call cMDAPut(2, MDA, 1, 1, 1, "S:1, ABCDEFGHIJ")
  5553.      Call cMDAPut(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2), "S:" & MDA.nSheets(2) & ", oprqstuvwxyz")
  5554.       
  5555.      ErrCode = cTasks(TE, True)
  5556.      Call cMDAPutType(9, MDA, 1, 1, 1, TE)
  5557.      ErrCode = cTasks(TE, False)
  5558.      Call cMDAPutType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  5559.       
  5560.       End If
  5561.       Tmp = Tmp & "A:1  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(1, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & Chr$(13)
  5562.       Tmp = Tmp & "A:1  , R:" & MDA.nRows(1) & ", C:" & MDA.nCols(1) & ", S:" & MDA.nSheets(1) & ", Value : " & Trim$(cMDAGet(1, MDA, MDA.nRows(1), MDA.nCols(1), MDA.nSheets(1))) & "   , time : " & MDA.rTime & Chr$(13)
  5563.       Tmp = Tmp & "A:2  , R:1  , C:1  , S:1, Value : " & Trim$(cMDAGet(2, MDA, 1, 1, 1)) & "   , time : " & MDA.rTime & Chr$(13)
  5564.       Tmp = Tmp & "A:2  , R:" & MDA.nRows(2) & ", C:" & MDA.nCols(2) & ", S:" & MDA.nSheets(2) & ", Value : " & Trim$(cMDAGet(2, MDA, MDA.nRows(2), MDA.nCols(2), MDA.nSheets(2))) & "   , time : " & MDA.rTime & Chr$(13)
  5565.       Call cMDAGetType(9, MDA, 1, 1, 1, TE)
  5566.       Tmp = Tmp & "A:9  , R:1  , C:1  , S:1, TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & Chr$(13)
  5567.       Call cMDAGetType(9, MDA, MDA.nRows(9), MDA.nCols(9), MDA.nSheets(9), TE)
  5568.       Tmp = Tmp & "A:9  , R:" & MDA.nRows(9) & ", C:" & MDA.nCols(9) & ", S:" & MDA.nSheets(9) & ", TE.szModule : " & cCompress(TE.szModule) & "   , time : " & MDA.rTime & Chr$(13)
  5569.    End If
  5570.    Call cMDAClose(MDA, False)
  5571.    Label3.Caption = Tmp
  5572. End Sub
  5573. Sub TestMeanI ()
  5574.    Dim title      As String
  5575.    Dim Tmp        As String
  5576.    Dim Tmp1       As String
  5577.    Dim Tmp2       As String
  5578.    Dim i          As Integer
  5579.    Dim j          As Integer
  5580.    Dim m          As Double
  5581.    ReDim array(ItemMean) As Integer
  5582.    Randomize Timer
  5583.    m = 0
  5584.    For i = LBound(array) To UBound(array)
  5585.       array(i) = Int(RandI * Rnd(1))
  5586.       m = m + array(i)
  5587.       List1.AddItem "" & array(i)
  5588.    Next i
  5589.    Tmp1 = "The Mean of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMeanI(array()) & " (" & (m / (UBound(array) - LBound(array) + 1)) & ")" & Chr$(13) & Chr$(13)
  5590.    cStartBasisTimer
  5591.    For i = 1 To ItemFile
  5592.       m = cMeanI(array())
  5593.    Next i
  5594.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5595.    Label3.Caption = Tmp1
  5596. End Sub
  5597. Sub TestMenuChange ()
  5598.    Call cSysMenuChange(Me.hWnd, 0, "&Restaurer")
  5599.    Call cSysMenuChange(Me.hWnd, 1, "&Positionner")
  5600.    Call cSysMenuChange(Me.hWnd, 2, "&Taille")
  5601.    Call cSysMenuChange(Me.hWnd, 3, "&Ic
  5602.    Call cSysMenuChange(Me.hWnd, 4, "&Plein 
  5603. cran")
  5604.    Call cSysMenuChange(Me.hWnd, 6, "&Fermer" + Chr$(9) + "Alt+F4")
  5605.    Call cSysMenuChange(Me.hWnd, 8, "&T
  5606. che" + Chr$(9) + "Ctrl+Esc")
  5607. End Sub
  5608. Sub TestMin ()
  5609.    Dim title      As String
  5610.    Dim Tmp        As String
  5611.    Dim Tmp1       As String
  5612.    Dim Tmp2       As String
  5613.    Dim i          As Integer
  5614.    Dim j          As Long
  5615.    Tmp1 = "Min of [32760,1234567] is " & cMin(32760, 1234567) & Chr$(13)
  5616.    Tmp1 = Tmp1 + "Max of [32760,1234567] is " & cMax(32760, 1234567) & Chr$(13)
  5617.    cStartBasisTimer
  5618.    For i = 1 To Item
  5619.       j = cMin(32760, 1234567)
  5620.    Next i
  5621.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5622.    Label3.Caption = Tmp1
  5623. End Sub
  5624. Sub TestMinI ()
  5625.    Dim title      As String
  5626.    Dim Tmp        As String
  5627.    Dim Tmp1       As String
  5628.    Dim Tmp2       As String
  5629.    Dim i          As Integer
  5630.    Dim j          As Integer
  5631.    Dim m          As Double
  5632.    ReDim array(ItemMean) As Integer
  5633.    Randomize Timer
  5634.    For i = LBound(array) To UBound(array)
  5635.       array(i) = RandI * Rnd(1)
  5636.       List1.AddItem "" & array(i)
  5637.    Next i
  5638.    j = cSortI(array())
  5639.    For i = LBound(array) To UBound(array)
  5640.       List2.AddItem "" & array(i)
  5641.    Next i
  5642.    List2.ListIndex = 0
  5643.    Tmp1 = "The MIN of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cMinI(array()) & Chr$(13) & Chr$(13)
  5644.    cStartBasisTimer
  5645.    For i = 1 To ItemFile
  5646.       m = cMinI(array())
  5647.    Next i
  5648.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  5649.    Label3.Caption = Tmp1
  5650. End Sub
  5651. Sub TestMixChars ()
  5652.    Dim title      As String
  5653.    Dim Tmp        As String
  5654.    Dim Tmp1       As String
  5655.    Dim Tmp2       As String
  5656.    Dim i          As Integer
  5657.    Dim j          As Integer
  5658.    Tmp = Text1.Text
  5659.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5660.    Tmp = "TIME TO WIN"
  5661.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5662.    Tmp = "Nothing can beat the fox"
  5663.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5664.    Tmp = Text1.Text
  5665.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMixChars(Tmp) & Chr$(13) & Chr$(13)
  5666.    cStartBasisTimer
  5667.    For i = 1 To Item
  5668.       Tmp2 = cMixChars(Tmp)
  5669.    Next i
  5670.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5671.    Label3.Caption = Tmp1
  5672. End Sub
  5673. Sub TestMnuLanguage ()
  5674.    Load frmLng
  5675.    Call cShowWindow(frmLng.hWnd, 1, 340)
  5676.    frmLng.Show
  5677. End Sub
  5678. Sub TestMorse ()
  5679.    Dim title      As String
  5680.    Dim Tmp        As String
  5681.    Dim Tmp1       As String
  5682.    Dim Tmp2       As String
  5683.    Dim i          As Integer
  5684.    Dim j          As Integer
  5685.    Tmp = "SOS"
  5686.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5687.    Tmp = "TIME TO WIN"
  5688.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5689.    Tmp = "Nothing can beat the fox"
  5690.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5691.    Tmp = Text1.Text
  5692.    Tmp1 = Tmp1 + "MixChars of [" & Tmp & "] is " & cMorse(Tmp) & Chr$(13) & Chr$(13)
  5693.    cStartBasisTimer
  5694.    For i = 1 To Item
  5695.       Tmp2 = cMorse(Tmp)
  5696.    Next i
  5697.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5698.    Label3.Caption = Tmp1
  5699. End Sub
  5700. Sub TestMsgBox ()
  5701.    Dim i       As Integer
  5702.    Dim n       As Integer
  5703.    Dim Tmp     As String
  5704.    Tmp = "'TIME TO WIN'" & Chr$(13) & Chr$(13)
  5705.    Tmp = Tmp & " is a powerfull data link library for using with Visual Basic 3.0 for Windows." & Chr$(13) & Chr$(13)
  5706.    Tmp = Tmp & "It looks very better than the standard message box." & Chr$(13) & Chr$(13)
  5707.    Tmp = Tmp & "All push buttons are displayed in French." & Chr$(13) & Chr$(13)
  5708.    Tmp = Tmp & "The system menu is also in French." & Chr$(13) & Chr$(13)
  5709.    Tmp = Tmp & "A TimeOut of 10 seconds has been activated and displayed."
  5710.    For i = 0 To 5
  5711.       Call cLngBoxMsg(LNG_FRENCH, Tmp, i + (16 * i) + 512 + MB_MESSAGE_CENTER + MB_TIMEOUT_10 + MB_DISPLAY_TIMEOUT, "Message Box in French with TimeOut")
  5712.    Next i
  5713. End Sub
  5714. Sub TestOneCharFromLeft ()
  5715.    Dim title      As String
  5716.    Dim Tmp        As String
  5717.    Dim Tmp1       As String
  5718.    Dim Tmp2       As String
  5719.    Dim i          As Integer
  5720.    Dim j          As Integer
  5721.    Tmp = Text1.Text
  5722.    title = "The 3,7,1 chars from left of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  5723.    Tmp = Text1.Text
  5724.    Tmp1 = title & "3:" & cOneCharFromLeft(Tmp, 3) & " | 7:" & cOneCharFromLeft(Tmp, 7) & " | 1:" & cOneCharFromLeft(Tmp, 1) & Chr$(13) & Chr$(13)
  5725.    cStartBasisTimer
  5726.    For i = 1 To Item
  5727.       Tmp2 = cOneCharFromLeft(Tmp, 2)
  5728.    Next i
  5729.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5730.    Label3.Caption = Tmp1
  5731. End Sub
  5732. Sub TestOneCharFromRight ()
  5733.    Dim title      As String
  5734.    Dim Tmp        As String
  5735.    Dim Tmp1       As String
  5736.    Dim Tmp2       As String
  5737.    Dim i          As Integer
  5738.    Dim j          As Integer
  5739.    Tmp = Text1.Text
  5740.    title = "The 3,7,1 chars from right of [" & Tmp & "] are " & Chr$(13) & Chr$(13)
  5741.    Tmp = Text1.Text
  5742.    Tmp1 = title & "3:" & cOneCharFromRight(Tmp, 3) & " | 7:" & cOneCharFromRight(Tmp, 7) & " | 1:" & cOneCharFromRight(Tmp, 1) & Chr$(13) & Chr$(13)
  5743.    cStartBasisTimer
  5744.    For i = 1 To Item
  5745.       Tmp2 = cOneCharFromRight(Tmp, 2)
  5746.    Next i
  5747.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5748.    Label3.Caption = Tmp1
  5749. End Sub
  5750. Sub TestOrToken ()
  5751.    Dim title      As String
  5752.    Dim Tmp        As String
  5753.    Dim Tmp1       As String
  5754.    Dim Tmp2       As String
  5755.    Dim i          As Integer
  5756.    Dim j          As Integer
  5757.    Tmp = "FOX|OVER|THE"
  5758.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5759.    Tmp1 = "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & Chr$(13) & Chr$(13)
  5760.    Tmp = "quick|jumps|the"
  5761.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5762.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrToken(Tmp2, Tmp), "present", "not present") & Chr$(13) & Chr$(13)
  5763.    Tmp = "FOX\OVER\THE"
  5764.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5765.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5766.    Tmp = "quick\jumps\the"
  5767.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5768.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5769.    Tmp = "FOX/OVER/THE"
  5770.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5771.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5772.    Tmp = "quick\JUMPS\the"
  5773.    Tmp2 = "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"
  5774.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5775.    Tmp = LCase$("quick\jumps\THE")
  5776.    Tmp2 = LCase$("THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG")
  5777.    Tmp1 = Tmp1 & "One of token '" & Tmp & "' in '" & Tmp2 & "' is " & IIf(cOrTokenIn(Tmp2, Tmp, "\"), "present", "not present") & Chr$(13) & Chr$(13)
  5778.    cStartBasisTimer
  5779.    For i = 1 To Item
  5780.       j = cOrToken(Tmp2, Tmp)
  5781.    Next i
  5782.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5783.    Label3.Caption = Tmp1
  5784. End Sub
  5785. Sub TestPatternExtMatch ()
  5786.    Dim title      As String
  5787.    Dim Tmp        As String
  5788.    Dim Tmp1       As String
  5789.    Dim Tmp2       As String
  5790.    Dim Tmp3       As String
  5791.    Dim i          As Integer
  5792.    Dim j          As Integer
  5793.    Tmp2 = "Under the blue sky, the sun lights"
  5794.    Tmp1 = "PatternExtMatch '" & Tmp2 & "' with" & Chr$(13) & Chr$(13)
  5795.    Tmp3 = "*"
  5796.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5797.    Tmp3 = "*??*???*?"
  5798.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5799.    Tmp3 = "*Under*"
  5800.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5801.    Tmp3 = "*sky*"
  5802.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5803.    Tmp3 = "*lights"
  5804.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5805.    Tmp3 = "??der*sky*ligh??*"
  5806.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5807.    Tmp3 = "Under?the * s??,*"
  5808.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5809.    Tmp3 = "[U-U][a-z][a-z][a-z][a-z]?the *"
  5810.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5811.    Tmp3 = "[U-U][!A-Z][^A-Z][^A-Z][!A-Z]?the *[s-s]"
  5812.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5813.    Tmp3 = "~55~6E*~73"
  5814.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5815.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rstu]"
  5816.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5817.    Tmp3 = "Under?the *[~72~73~74~75]"
  5818.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5819.    Tmp3 = "*under*"
  5820.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5821.    Tmp3 = "Under*sun"
  5822.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5823.    Tmp3 = "Under t??e*"
  5824.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5825.    Tmp3 = "[U-U][!a-z][^A-Z][^A-Z][!A-Z]?the *[!s-s]"
  5826.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5827.    Tmp3 = "~55~6G*~73"
  5828.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5829.    Tmp3 = "[Uu][Nn][dD][eE][opqrst]?the *[rStu]"
  5830.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13)
  5831.    Tmp3 = "Under?the *[~72~53~74~75]"
  5832.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternExtMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5833.    Tmp3 = "Under?the * s??,*"
  5834.    cStartBasisTimer
  5835.    For i = 1 To Item
  5836.       j = cPatternExtMatch(Tmp2, Tmp3)
  5837.    Next i
  5838.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5839.    Label3.Caption = Tmp1
  5840. End Sub
  5841. Sub TestPatternMatch ()
  5842.    Dim title      As String
  5843.    Dim Tmp        As String
  5844.    Dim Tmp1       As String
  5845.    Dim Tmp2       As String
  5846.    Dim Tmp3       As String
  5847.    Dim i          As Integer
  5848.    Dim j          As Integer
  5849.    Tmp2 = "Under the blue sky, the sun lights"
  5850.    Tmp1 = "PatternMatch '" & Tmp2 & "' with" & Chr$(13) & Chr$(13)
  5851.    Tmp3 = "*"
  5852.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5853.    Tmp3 = "*??*???*?"
  5854.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5855.    Tmp3 = "*Under*"
  5856.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5857.    Tmp3 = "*sky*"
  5858.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5859.    Tmp3 = "*lights"
  5860.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5861.    Tmp3 = "??der*sky*ligh??*"
  5862.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5863.    Tmp3 = "Under?the * s??,*"
  5864.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5865.    Tmp3 = "*under*"
  5866.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5867.    Tmp3 = "Under*sun"
  5868.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13)
  5869.    Tmp3 = "Under t??e*"
  5870.    Tmp1 = Tmp1 & "'" & Tmp3 & "'  is " & cPatternMatch(Tmp2, Tmp3) & Chr$(13) & Chr$(13)
  5871.    Tmp3 = "Under?the * s??,*"
  5872.    cStartBasisTimer
  5873.    For i = 1 To Item
  5874.       j = cPatternMatch(Tmp2, Tmp3)
  5875.    Next i
  5876.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5877.    Label3.Caption = Tmp1
  5878. End Sub
  5879. Sub TestProperName ()
  5880.    Dim title      As String
  5881.    Dim Tmp        As String
  5882.    Dim Tmp1       As String
  5883.    Dim Tmp2       As String
  5884.    Dim i          As Integer
  5885.    Dim j          As Integer
  5886.    Tmp = Text1.Text
  5887.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5888.    Tmp = "John fitz,jr"
  5889.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5890.    Tmp = "john Fitz, jr"
  5891.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5892.    Tmp = "macdonald"
  5893.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5894.    Tmp = "mac donald"
  5895.    Tmp1 = Tmp1 + "ProperName of [" & Tmp & "] is " & cProperName(Tmp) & Chr$(13) & Chr$(13)
  5896.    cStartBasisTimer
  5897.    For i = 1 To Item
  5898.       Tmp2 = cProperName(Tmp)
  5899.    Next i
  5900.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5901.    Label3.Caption = Tmp1
  5902. End Sub
  5903. Sub TestProperName2 ()
  5904.    Dim title      As String
  5905.    Dim Tmp        As String
  5906.    Dim Tmp1       As String
  5907.    Dim Tmp2       As String
  5908.    Dim i          As Integer
  5909.    Dim j          As Integer
  5910.    Tmp = Text1.Text
  5911.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  5912.    Tmp = "JOHN FITZ,JR"
  5913.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_UPPERCASE Or PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5914.    Tmp = "john Fitz,jr"
  5915.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5916.    Tmp = "macdonald"
  5917.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  5918.    Tmp = "mac donald"
  5919.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", 0) & "'" & Chr$(13) & Chr$(13)
  5920.    Tmp = "a.l. greene jr."
  5921.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5922.    Tmp = "shale and sandstone and till"
  5923.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/of/a/an/and", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5924.    Tmp = "a sandstone or a shale"
  5925.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "the/or/of/a/an/and", PN_PUNCTUATION) & "'" & Chr$(13) & Chr$(13)
  5926.    Tmp = "RR2 BARRHEAD"
  5927.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "rr2", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL) & "'" & Chr$(13) & Chr$(13)
  5928.    Tmp = "ANDY MACDONALD"
  5929.    Tmp1 = Tmp1 + "ProperName2 of '" & Tmp & "' is '" & cProperName2(Tmp, "mac", PN_UPPERCASE Or PN_PUNCTUATION Or PN_KEEP_ORIGINAL Or PN_ONLY_LEADER_SPACE) & "'" & Chr$(13) & Chr$(13)
  5930.    cStartBasisTimer
  5931.    For i = 1 To Item
  5932.       Tmp2 = cProperName2(Tmp, "", 0)
  5933.    Next i
  5934.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  5935.    Label3.Caption = Tmp1
  5936. End Sub
  5937. Sub TestRcsCountFileDir ()
  5938.    Dim title      As String
  5939.    Dim Tmp        As String
  5940.    Dim Tmp1       As String
  5941.    Dim Tmp2       As String
  5942.    Dim i          As Integer
  5943.    Dim j          As Integer
  5944.    Dim k          As Integer
  5945.    Tmp1 = ""
  5946.    Tmp1 = Tmp1 & "Total directories in C: is " & cRcsCountFileDir(False, "C:", "", True) & Chr$(13)
  5947.    Tmp1 = Tmp1 & "Total directories in D: is " & cRcsCountFileDir(False, "D:", "", True) & Chr$(13)
  5948.    Tmp1 = Tmp1 & Chr$(13)
  5949.    Tmp1 = Tmp1 & "Total files in C: is " & cRcsCountFileDir(True, "C:", "", True) & Chr$(13)
  5950.    Tmp1 = Tmp1 & "Total files in D: is " & cRcsCountFileDir(True, "D:", "", True) & Chr$(13)
  5951.    Tmp1 = Tmp1 & Chr$(13)
  5952.    Tmp1 = Tmp1 & "Total files in C:*.DAT is " & cRcsCountFileDir(True, "C:", "*.DAT", True) & Chr$(13)
  5953.    Tmp1 = Tmp1 & "Total files in D:*.DAT is " & cRcsCountFileDir(True, "D:", "*.DAT", True) & Chr$(13)
  5954.    Tmp1 = Tmp1 & Chr$(13)
  5955.    Tmp1 = Tmp1 & "Total directories in C:\ is " & cRcsCountFileDir(False, "C:", "", False) & Chr$(13)
  5956.    Tmp1 = Tmp1 & "Total directories in D:\ is " & cRcsCountFileDir(False, "D:", "", False) & Chr$(13)
  5957.    Tmp1 = Tmp1 & Chr$(13)
  5958.    Tmp1 = Tmp1 & "Total files in C:\ is " & cRcsCountFileDir(True, "C:", "", False) & Chr$(13)
  5959.    Tmp1 = Tmp1 & "Total files in D:\ is " & cRcsCountFileDir(True, "D:", "", False) & Chr$(13)
  5960.    Tmp1 = Tmp1 & Chr$(13)
  5961.    Tmp1 = Tmp1 & "Total files in C:\*.DAT is " & cRcsCountFileDir(True, "C:", "*.DAT", False) & Chr$(13)
  5962.    Tmp1 = Tmp1 & "Total files in D:\*.DAT is " & cRcsCountFileDir(True, "D:", "*.DAT", False) & Chr$(13)
  5963.    Tmp1 = Tmp1 & Chr$(13)
  5964.    cStartBasisTimer
  5965.    For i = 1 To 10
  5966.       k = cRcsCountFileDir(False, "C:", "", False)
  5967.    Next i
  5968.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  5969.    Label3.Caption = Tmp1
  5970. End Sub
  5971. Sub TestRcsFilesSize ()
  5972.    Dim title      As String
  5973.    Dim Tmp        As String
  5974.    Dim Tmp1       As String
  5975.    Dim Tmp2       As String
  5976.    Dim i          As Integer
  5977.    Dim j          As Integer
  5978.    Dim k          As Long
  5979.    Dim Size1      As Long
  5980.    Dim Size2      As Long
  5981.    Tmp1 = ""
  5982.    Tmp1 = Tmp1 & "Size of files c:\*.* is " & cRcsFilesSize("c:\", "*.*", False) & Chr$(13)
  5983.    Tmp1 = Tmp1 & "Size of files c:\*.exe is " & cRcsFilesSize("c:\", "*.exe", False) & Chr$(13)
  5984.    Tmp1 = Tmp1 & "Size of files c:\*.com is " & cRcsFilesSize("c:\", "*.com", False) & Chr$(13)
  5985.    Tmp1 = Tmp1 & Chr$(13)
  5986.    Tmp1 = Tmp1 & "Size of files c:\*.* on disk is " & cRcsFilesSizeOnDisk("c:\", "*.*", False) & Chr$(13)
  5987.    Tmp1 = Tmp1 & "Size of files c:\*.exe on disk is " & cRcsFilesSizeOnDisk("c:\", "*.exe", False) & Chr$(13)
  5988.    Tmp1 = Tmp1 & "Size of files c:\*.com on disk is " & cRcsFilesSizeOnDisk("c:\", "*.com", False) & Chr$(13)
  5989.    Tmp1 = Tmp1 & Chr$(13)
  5990.    Tmp1 = Tmp1 & "Slack of files c:\*.* on disk is " & cRcsFilesSlack("c:\", "*.*", False, Size1, Size2) & " %" & Chr$(13)
  5991.    Tmp1 = Tmp1 & "Slack of files c:\*.exe on disk is " & cRcsFilesSlack("c:\", "*.exe", False, Size1, Size2) & " %" & Chr$(13)
  5992.    Tmp1 = Tmp1 & "Slack of files c:\*.com on disk is " & cRcsFilesSlack("c:\", "*.com", False, Size1, Size2) & " %" & Chr$(13)
  5993.    Tmp1 = Tmp1 & Chr$(13)
  5994.    Tmp1 = Tmp1 & "Size of files starting with c:\*.* is " & cRcsFilesSize("c:\", "*.*", True) & Chr$(13)
  5995.    Tmp1 = Tmp1 & "Size of files starting with c:\*.exe is " & cRcsFilesSize("c:\", "*.exe", True) & Chr$(13)
  5996.    Tmp1 = Tmp1 & "Size of files starting with c:\*.com is " & cRcsFilesSize("c:\", "*.com", True) & Chr$(13)
  5997.    Tmp1 = Tmp1 & Chr$(13)
  5998.    Tmp1 = Tmp1 & "Size of files starting with c:\*.* on disk is " & cRcsFilesSizeOnDisk("c:\", "*.*", True) & Chr$(13)
  5999.    Tmp1 = Tmp1 & "Size of files starting with c:\*.exe on disk is " & cRcsFilesSizeOnDisk("c:\", "*.exe", True) & Chr$(13)
  6000.    Tmp1 = Tmp1 & "Size of files starting with c:\*.com on disk is " & cRcsFilesSizeOnDisk("c:\", "*.com", True) & Chr$(13)
  6001.    Tmp1 = Tmp1 & Chr$(13)
  6002.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.* on disk is " & cRcsFilesSlack("c:\", "*.*", True, Size1, Size2) & " %" & Chr$(13)
  6003.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.exe on disk is " & cRcsFilesSlack("c:\", "*.exe", True, Size1, Size2) & " %" & Chr$(13)
  6004.    Tmp1 = Tmp1 & "Slack of files starting with c:\*.com on disk is " & cRcsFilesSlack("c:\", "*.com", True, Size1, Size2) & " %" & Chr$(13)
  6005.    Tmp1 = Tmp1 & Chr$(13)
  6006.    cStartBasisTimer
  6007.    For i = 1 To 10
  6008.       k = cRcsFilesSize("c:\", "*.*", False)
  6009.    Next i
  6010.    Tmp1 = Tmp1 & "speed for " & 10 & " = " & cReadBasisTimer() & " ms"
  6011.    Label3.Caption = Tmp1
  6012. End Sub
  6013. Sub TestReadLanguage ()
  6014.    Load frmLng
  6015.    Call cShowWindow(frmLng.hWnd, 1, 340)
  6016.    frmLng.Show
  6017. End Sub
  6018. Sub TestRegistrationKey ()
  6019.    Dim title      As String
  6020.    Dim Tmp        As String
  6021.    Dim Tmp1       As String
  6022.    Dim Tmp2       As String
  6023.    Dim Tmp3       As String
  6024.    Dim i          As Integer
  6025.    Dim j          As Long
  6026.    Tmp2 = "TIME TO WIN"
  6027.    Tmp3 = "12345"
  6028.    Tmp = Text1.Text
  6029.    Tmp1 = "Registration key for '" & Tmp2 & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp2, Val(Tmp3)) & Chr$(13) & Chr$(13)
  6030.    Tmp1 = Tmp1 & "Registration key for '" & cBlockCharFromLeft(Tmp2, 1) & "n" & "' with '" & Tmp3 & "' is " & cRegistrationKey(cBlockCharFromLeft(Tmp2, 1) + "n", Val(Tmp3)) & Chr$(13) & Chr$(13)
  6031.    Tmp1 = Tmp1 & "Registration key for '" & Tmp & "' with '" & Tmp3 & "' is " & cRegistrationKey(Tmp, Val(Tmp3)) & Chr$(13) & Chr$(13)
  6032.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp2) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp2), Val(Tmp3)) & Chr$(13) & Chr$(13)
  6033.    Tmp1 = Tmp1 & "Registration key for '" & LCase$(Tmp) & "' with '" & Tmp3 & "' is " & cRegistrationKey(LCase$(Tmp), Val(Tmp3)) & Chr$(13) & Chr$(13)
  6034.    Tmp1 = Tmp1 & "Registration key for '" & Left$(Tmp2, 3) & "' with '" & Tmp3 & "' is " & cRegistrationKey(Left$(Tmp2, 3), Val(Tmp3)) & Chr$(13) & Chr$(13)
  6035.    cStartBasisTimer
  6036.    For i = 1 To Item
  6037.       j = cRegistrationKey(Tmp2, Val(Tmp3))
  6038.    Next i
  6039.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6040.    Label3.Caption = Tmp1
  6041. End Sub
  6042. Sub TestRemoveBlockChar ()
  6043.    Dim title      As String
  6044.    Dim Tmp        As String
  6045.    Dim Tmp1       As String
  6046.    Dim Tmp2       As String
  6047.    Dim i          As Integer
  6048.    Dim j          As Integer
  6049.    Tmp = Text1.Text
  6050.    title = "Removing 3 chars from the 7 of [" & Tmp & "] is "
  6051.    Tmp = cRemoveBlockChar(Tmp, 7, 3)
  6052.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  6053.    cStartBasisTimer
  6054.    For i = 1 To Item
  6055.       Tmp = cRemoveBlockChar(Tmp, 1, 2)
  6056.    Next i
  6057.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6058.    Label3.Caption = Tmp1
  6059. End Sub
  6060. Sub TestRemoveOneChar ()
  6061.    Dim title      As String
  6062.    Dim Tmp        As String
  6063.    Dim Tmp1       As String
  6064.    Dim Tmp2       As String
  6065.    Dim i          As Integer
  6066.    Dim j          As Integer
  6067.    Tmp = Text1.Text
  6068.    title = "Removing the 7 char of [" & Tmp & "] is "
  6069.    Tmp = cRemoveOneChar(Tmp, 7)
  6070.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  6071.    cStartBasisTimer
  6072.    For i = 1 To Item
  6073.       Tmp = cRemoveOneChar(Tmp, 1)
  6074.    Next i
  6075.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6076.    Label3.Caption = Tmp1
  6077. End Sub
  6078. Sub TestRenameFile ()
  6079.    Dim title      As String
  6080.    Dim Tmp        As String
  6081.    Dim Tmp1       As String
  6082.    Dim Tmp2       As String
  6083.    Dim i          As Integer
  6084.    Dim j          As Integer
  6085.    j = cKillFile("XY~YX~XY.~~~")
  6086.    j = cKillFile("XY-YX-XY.---")
  6087.    Close #1
  6088.    Open "XY~YX~XY.~~~" For Output As #1
  6089.    Print #1, "this is a test";
  6090.    Close #1
  6091.    Tmp1 = "File XY~YX~XY.~~~ " & IIf(cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---") = True, "renamed in XY-YX-XY.---", "is not renamed") & Chr$(13) & Chr$(13)
  6092.    cStartBasisTimer
  6093.    For i = 1 To ItemFile
  6094.       j = cRenameFile("XY~YX~XY.~~~", "XY-YX-XY.---")
  6095.    Next i
  6096.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6097.    Label3.Caption = Tmp1
  6098. End Sub
  6099. Sub TestResizeString ()
  6100.    Dim title      As String
  6101.    Dim Tmp        As String
  6102.    Dim Tmp1       As String
  6103.    Dim Tmp2       As String
  6104.    Dim i          As Integer
  6105.    Dim j          As Integer
  6106.    Tmp = Text1.Text
  6107.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 5 chars " & cResizeString(Tmp, 5) & Chr$(13) & Chr$(13)
  6108.    cStartBasisTimer
  6109.    For i = 1 To Item
  6110.       Tmp2 = cResizeString(Tmp, 3)
  6111.    Next i
  6112.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6113.    Label3.Caption = Tmp1
  6114. End Sub
  6115. Sub TestResizeStringAndFill ()
  6116.    Dim title      As String
  6117.    Dim Tmp        As String
  6118.    Dim Tmp1       As String
  6119.    Dim Tmp2       As String
  6120.    Dim i          As Integer
  6121.    Dim j          As Integer
  6122.    Tmp = Text1.Text
  6123.    Tmp1 = Tmp & " is resized from " & Len(Tmp) & " to 35 chars and lengthened with @ is " & Chr$(13) & Chr$(13) & cResizeStringAndFill(Tmp, 35, "@") & Chr$(13) & Chr$(13)
  6124.    cStartBasisTimer
  6125.    For i = 1 To Item
  6126.       Tmp2 = cResizeStringAndFill(Tmp, 35, "@")
  6127.    Next i
  6128.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6129.    Label3.Caption = Tmp1
  6130. End Sub
  6131. Sub TestReverse ()
  6132.    Dim title      As String
  6133.    Dim Tmp        As String
  6134.    Dim Tmp1       As String
  6135.    Dim Tmp2       As String
  6136.    Dim i          As Integer
  6137.    Dim j          As Integer
  6138.    Tmp = Text1.Text
  6139.    title = "Reverse of [" & Tmp & "] is "
  6140.    Tmp1 = title & cReverse(Tmp) & Chr$(13) & Chr$(13)
  6141.    cStartBasisTimer
  6142.    For i = 1 To Item
  6143.       Tmp2 = cReverse(Tmp)
  6144.    Next i
  6145.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6146.    Label3.Caption = Tmp1
  6147. End Sub
  6148. Sub TestReverseAllBits ()
  6149.    Dim title      As String
  6150.    Dim Tmp        As String
  6151.    Dim Tmp1       As String
  6152.    Dim Tmp2       As String
  6153.    Dim i          As Integer
  6154.    Dim j          As Integer
  6155.    Tmp = Text1.Text
  6156.    title = "Reverse all bits of [" & Tmp & "] is "
  6157.    Call cReverseAllBits(Tmp)
  6158.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  6159.    title = "Reverse all bits of [" & Tmp & "] is "
  6160.    Call cReverseAllBits(Tmp)
  6161.    Tmp1 = Tmp1 & title & Tmp & Chr$(13) & Chr$(13)
  6162.    cStartBasisTimer
  6163.    For i = 1 To Item
  6164.       Call cReverseAllBits(Tmp)
  6165.    Next i
  6166.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6167.    Label3.Caption = Tmp1
  6168. End Sub
  6169. Sub TestReverseAllBitsByChar ()
  6170.    Dim title      As String
  6171.    Dim Tmp        As String
  6172.    Dim Tmp1       As String
  6173.    Dim Tmp2       As String
  6174.    Dim i          As Integer
  6175.    Dim j          As Integer
  6176.    Tmp = Text1.Text
  6177.    title = "Reverse all bits by char of [" & Tmp & "] is "
  6178.    Call cReverseAllBitsByChar(Tmp)
  6179.    Tmp1 = title & Tmp & Chr$(13) & Chr$(13)
  6180.    title = "Reverse all bits by char of [" & Tmp & "] is "
  6181.    Call cReverseAllBitsByChar(Tmp)
  6182.    Tmp1 = Tmp1 & title & Tmp & Chr$(13) & Chr$(13)
  6183.    cStartBasisTimer
  6184.    For i = 1 To Item
  6185.       Call cReverseAllBitsByChar(Tmp)
  6186.    Next i
  6187.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6188.    Label3.Caption = Tmp1
  6189. End Sub
  6190. Sub TestReverseSortI ()
  6191.    Dim title      As String
  6192.    Dim Tmp        As String
  6193.    Dim Tmp1       As String
  6194.    Dim Tmp2       As String
  6195.    Dim i          As Integer
  6196.    Dim j          As Integer
  6197.    Dim m          As Integer
  6198.    ReDim array(ItemMean) As Integer
  6199.    Randomize Timer
  6200.    For i = LBound(array) To UBound(array)
  6201.       array(i) = RandI * Rnd(1)
  6202.       List1.AddItem "" & array(i)
  6203.    Next i
  6204.    j = cReverseSortI(array())
  6205.    For i = LBound(array) To UBound(array)
  6206.       List2.AddItem "" & array(i)
  6207.    Next i
  6208.    cStartBasisTimer
  6209.    For i = 1 To ItemFile
  6210.       j = cReverseSortI(array())
  6211.    Next i
  6212.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6213.    Label3.Caption = Tmp1
  6214. End Sub
  6215. Sub TestRndX ()
  6216.    Dim title      As String
  6217.    Dim Tmp        As String
  6218.    Dim Tmp1       As String
  6219.    Dim Tmp2       As String
  6220.    Dim i          As Integer
  6221.    Dim j          As Integer
  6222.    Call cRndInit(-1)
  6223.    Tmp1 = "Some random Integer number" & Chr$(13) & Chr$(13)
  6224.    For i = 1 To 2
  6225.       Tmp1 = Tmp1 & cRndI() & Chr$(13)
  6226.    Next i
  6227.    Tmp1 = Tmp1 & Chr$(13)
  6228.    Tmp1 = Tmp1 & "Some random Long number" & Chr$(13) & Chr$(13)
  6229.    For i = 1 To 2
  6230.       Tmp1 = Tmp1 & cRndL() & Chr$(13)
  6231.    Next i
  6232.    Tmp1 = Tmp1 & Chr$(13)
  6233.    Tmp1 = Tmp1 & "Some random Single number" & Chr$(13) & Chr$(13)
  6234.    For i = 1 To 2
  6235.       Tmp1 = Tmp1 & cRndS() & Chr$(13)
  6236.    Next i
  6237.    Tmp1 = Tmp1 & Chr$(13)
  6238.    Tmp1 = Tmp1 & "Some random Double number" & Chr$(13) & Chr$(13)
  6239.    For i = 1 To 2
  6240.       Tmp1 = Tmp1 & cRndD() & Chr$(13)
  6241.    Next i
  6242.    Tmp1 = Tmp1 & Chr$(13)
  6243.    Tmp1 = Tmp1 & "Some random Double number between 0.0 and 1.0" & Chr$(13) & Chr$(13)
  6244.    For i = 1 To 2
  6245.       Tmp1 = Tmp1 & cRnd() & Chr$(13)
  6246.    Next i
  6247.    Tmp1 = Tmp1 & Chr$(13)
  6248.    cStartBasisTimer
  6249.    For i = 1 To Item
  6250.       j = cRndI()
  6251.    Next i
  6252.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6253.    Label3.Caption = Tmp1
  6254. End Sub
  6255. Sub TestRtoA ()
  6256.    Dim Tmp        As String
  6257.    Dim Tmp1       As String
  6258.    Tmp = UCase$(cArabicToRoman(Year(Int(Now))))
  6259.    Tmp1 = Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  6260.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) - 1))
  6261.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  6262.    Tmp = UCase$(cArabicToRoman(Year(Int(Now)) + 1))
  6263.    Tmp1 = Tmp1 & Tmp & " in Arabic is " & cRomanToArabic(LCase$(Tmp)) & Chr$(13)
  6264.    Label3.Caption = Tmp1
  6265. End Sub
  6266. Sub TestRUBYencrypt (Mode As Integer)
  6267.    Dim lngResult        As Long
  6268.    Dim strResult        As String
  6269.    Dim strDisplay       As String
  6270.    Dim i                As Integer
  6271.    Dim Str1             As String
  6272.    Dim Str2             As String
  6273.    Dim Key              As String
  6274.    Dim DescMode         As String
  6275.    strResult = ""
  6276.    strDisplay = ""
  6277.    Select Case Mode
  6278.       Case RUBY_MODE_MINIMUM: DescMode = "RUBY - minimum"
  6279.       Case RUBY_MODE_DESK_LOCK: DescMode = "RUBY - desk lock"
  6280.       Case RUBY_MODE_DEAD_BOLT: DescMode = "RUBY - dead bolt"
  6281.       Case RUBY_MODE_PORTABLE_SAFE: DescMode = "RUBY - portable safe"
  6282.       Case RUBY_MODE_ANCHORED_SAFE: DescMode = "RUBY - anchored safe"
  6283.       Case RUBY_MODE_BANK_VAULT: DescMode = "RUBY - bank vault"
  6284.       Case RUBY_MODE_FORT_KNOX: DescMode = "RUBY - FORT KNOX"
  6285.    End Select
  6286.    strDisplay = strDisplay & DescMode & Chr$(13) & Chr$(13)
  6287.    Key = "1234567890123456"
  6288.    Str1 = "TIME TO WIN"
  6289.    Str2 = cRUBYencrypt(Str1, Key, Mode)
  6290.    strDisplay = strDisplay & "encrypt [" & Str1 & "] with '?' is [" & cFilterChars(Str2, Chr$(0)) & "]" & Chr$(13)
  6291.    strDisplay = strDisplay & "decrypt [" & cFilterChars(Str2, Chr$(0)) & "] with '?' is [" & cRUBYdecrypt(Str2, Key, Mode) & "]" & Chr$(13)
  6292.    strDisplay = strDisplay & Chr$(13)
  6293.    Str1 = "TIME2WIN a DLL for VB 3.0"
  6294.    Str2 = cRUBYencrypt(Str1, Key, Mode)
  6295.    strDisplay = strDisplay & "encrypt [" & Str1 & "] with '?' is [" & cFilterChars(Str2, Chr$(0)) & "]" & Chr$(13)
  6296.    strDisplay = strDisplay & "decrypt [" & cFilterChars(Str2, Chr$(0)) & "] with '?' is [" & cRUBYdecrypt(Str2, Key, Mode) & "]" & Chr$(13)
  6297.    strDisplay = strDisplay & Chr$(13)
  6298.    Str1 = "Under the sky, the sun lights"
  6299.    Str2 = cRUBYencrypt(Str1, Key, Mode)
  6300.    strDisplay = strDisplay & "encrypt [" & Str1 & "] with '?' is [" & cFilterChars(Str2, Chr$(0)) & "]" & Chr$(13)
  6301.    strDisplay = strDisplay & "decrypt [" & cFilterChars(Str2, Chr$(0)) & "] with '?' is [" & cRUBYdecrypt(Str2, Key, Mode) & "]" & Chr$(13)
  6302.    strDisplay = strDisplay & Chr$(13)
  6303.    Str1 = "the fox jump over over the lazy dogs"
  6304.    Str2 = cRUBYencrypt(Str1, Key, Mode)
  6305.    strDisplay = strDisplay & "encrypt [" & Str1 & "] with '?' is [" & cFilterChars(Str2, Chr$(0)) & "]" & Chr$(13)
  6306.    strDisplay = strDisplay & "decrypt [" & cFilterChars(Str2, Chr$(0)) & "] with '?' is [" & cRUBYdecrypt(Str2, Key, Mode) & "]" & Chr$(13)
  6307.    strDisplay = strDisplay & Chr$(13)
  6308.    'time the function
  6309.    cStartBasisTimer
  6310.    For i = 1 To Item
  6311.       strResult = cRUBYencrypt(Str1, Key, Mode)
  6312.    Next i
  6313.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6314.    Label3.Caption = strDisplay
  6315. End Sub
  6316. Sub TestRUBYencryptFile (Mode As Integer)
  6317.    Dim lngResult        As Long
  6318.    Dim strResult        As String
  6319.    Dim strDisplay       As String
  6320.    Dim i                As Integer
  6321.    Dim File1            As String
  6322.    Dim File2            As String
  6323.    Dim File3            As String
  6324.    Dim Key              As String
  6325.    Dim DescMode         As String
  6326.    strResult = ""
  6327.    strDisplay = ""
  6328.    Select Case Mode
  6329.       Case RUBY_MODE_MINIMUM: DescMode = "RUBY - minimum"
  6330.       Case RUBY_MODE_DESK_LOCK: DescMode = "RUBY - desk lock"
  6331.       Case RUBY_MODE_DEAD_BOLT: DescMode = "RUBY - dead bolt"
  6332.       Case RUBY_MODE_PORTABLE_SAFE: DescMode = "RUBY - portable safe"
  6333.       Case RUBY_MODE_ANCHORED_SAFE: DescMode = "RUBY - anchored safe"
  6334.       Case RUBY_MODE_BANK_VAULT: DescMode = "RUBY - bank vault"
  6335.       Case RUBY_MODE_FORT_KNOX: DescMode = "RUBY - FORT KNOX"
  6336.    End Select
  6337.    strDisplay = strDisplay & DescMode & Chr$(13) & Chr$(13)
  6338.    File1 = "c:\autoexec.bat"
  6339.    File2 = "c:\autoexec.rub"
  6340.    File3 = "c:\autoexec.bur"
  6341.    Key = "1234567890123456"
  6342.    strDisplay = strDisplay & "encryptFile '" & File1 & "' with '?' to '" & File2 & "' is " & cRUBYencryptFile(File1, File2, Key, Mode) & Chr$(13)
  6343.    strDisplay = strDisplay & "decryptFile '" & File2 & "' with '?' to '" & File3 & "' is " & cRUBYdecryptFile(File2, File3, Key, Mode) & Chr$(13)
  6344.    strDisplay = strDisplay & "Compare (ns) '" & File1 & "' with '" & File3 & "' is " & IIf(cCmpFileContents(File1, File3, False) = -1, "same", "not same") & Chr$(13) & Chr$(13)
  6345.    cStartBasisTimer
  6346.    For i = 1 To Item
  6347.       lngResult = cRUBYencryptFile(File1, File2, Key, Mode)
  6348.    Next i
  6349.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6350.    Label3.Caption = strDisplay
  6351. End Sub
  6352. Sub TestSearchI ()
  6353.    Dim title      As String
  6354.    Dim Tmp        As String
  6355.    Dim Tmp1       As String
  6356.    Dim Tmp2       As String
  6357.    Dim i          As Integer
  6358.    Dim j          As Integer
  6359.    Dim m          As Integer
  6360.    ReDim array(20) As Integer
  6361.    Call cRndInit(-1)
  6362.    For i = LBound(array) To UBound(array)
  6363.       array(i) = cRndI()
  6364.       List1.AddItem "" & array(i)
  6365.    Next i
  6366.    Tmp1 = Tmp1 & "Search '" & array(5) & "' is " & cSearchI(array(), array(5)) & Chr$(13)
  6367.    Tmp1 = Tmp1 & "Search '" & array(10) & "' is " & cSearchI(array(), array(10)) & Chr$(13)
  6368.    Tmp1 = Tmp1 & "Search '" & array(15) & "' is " & cSearchI(array(), array(15)) & Chr$(13)
  6369.    Tmp1 = Tmp1 & "Search '" & array(20) & "' is " & cSearchI(array(), array(20)) & Chr$(13)
  6370.    Tmp1 = Tmp1 & "Search '" & -1234 & "' is " & cSearchI(array(), -1234) & Chr$(13)
  6371.    cStartBasisTimer
  6372.    For i = 1 To ItemFile
  6373.       j = cSearchI(array(), array(1))
  6374.    Next i
  6375.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6376.    Label3.Caption = Tmp1
  6377. End Sub
  6378. Sub TestSerial ()
  6379.    Dim Tmp           As String
  6380.    Dim Tmp1          As String
  6381.    Dim getSD         As tagSERIALDATA
  6382.    Dim putSD         As tagSERIALDATA
  6383.    Dim i             As Integer
  6384.    Dim j             As Integer
  6385.    Call CreateFile
  6386.    Tmp1 = "TEST.DAT"
  6387.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & Chr$(13) & Chr$(13)
  6388.    putSD.Description1 = "TIME TO WIN demonstration"
  6389.    putSD.Description2 = "Under the blue sky, the sun lights"
  6390.    putSD.Number = 136
  6391.    Tmp = Tmp & "Put/Modify '" & Trim$(putSD.Description1) & "' - '" & Trim$(putSD.Description2) & "' - '" & putSD.Number & "'" & Chr$(13) & "into file '" & Tmp1 & "' is " & IIf(cSerialPut(Tmp1, putSD), "OK", "KO") & Chr$(13)
  6392.    i = cSerialGet(Tmp1, getSD)
  6393.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  6394.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  6395.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  6396.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  6397.    Tmp = Tmp & "Add 2 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, 2), "OK", "KO") & Chr$(13)
  6398.    i = cSerialGet(Tmp1, getSD)
  6399.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  6400.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  6401.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  6402.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  6403.    Tmp = Tmp & "Substract 9 to serialized number part into file '" & Tmp1 & "' is " & IIf(cSerialInc(Tmp1, -9), "OK", "KO") & Chr$(13)
  6404.    i = cSerialGet(Tmp1, getSD)
  6405.    Tmp = Tmp & "Get from '" & Tmp1 & "' is : " & Chr$(13)
  6406.    Tmp = Tmp & "  description 1 : " & Trim$(getSD.Description1) & Chr$(13)
  6407.    Tmp = Tmp & "  description 2 : " & Trim$(getSD.Description2) & Chr$(13)
  6408.    Tmp = Tmp & "  number : " & getSD.Number & Chr$(13) & Chr$(13)
  6409.    Tmp = Tmp & "File '" & Tmp1 & "' is " & IIf(cIsSerial(Tmp1) = True, "serialized", "not serialized") & Chr$(13) & Chr$(13)
  6410.    cStartBasisTimer
  6411.    For i = 1 To ItemFile
  6412.       j = cSerialGet(Tmp1, getSD)
  6413.    Next i
  6414.    Tmp = Tmp & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6415.    Label3.Caption = Tmp
  6416. End Sub
  6417. Sub TestSetAllBits ()
  6418.    Dim title      As String
  6419.    Dim Tmp        As String
  6420.    Dim Tmp1       As String
  6421.    Dim Tmp2       As String
  6422.    Dim i          As Integer
  6423.    Dim j          As Integer
  6424.    Tmp = Text1.Text
  6425.    title = "Set all bits of [" & Tmp & "] on True is "
  6426.    Call cSetAllBits(Tmp, True)
  6427.    Tmp1 = title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6428.    title = "Set all bits of [" & Tmp & "] on False is "
  6429.    Call cSetAllBits(Tmp, False)
  6430.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6431.    cStartBasisTimer
  6432.    For i = 1 To Item
  6433.       Call cSetAllBits(Tmp, True)
  6434.    Next i
  6435.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6436.    Label3.Caption = Tmp1
  6437. End Sub
  6438. Sub TestSetBit ()
  6439.    Dim title      As String
  6440.    Dim Tmp        As String
  6441.    Dim Tmp1       As String
  6442.    Dim Tmp2       As String
  6443.    Dim i          As Integer
  6444.    Dim j          As Integer
  6445.    Tmp = Text1.Text
  6446.    title = "Set bit 0,5,3 of [" & Tmp & "] on True is "
  6447.    Call cSetBit(Tmp, 0, True)
  6448.    Call cSetBit(Tmp, 5, True)
  6449.    Call cSetBit(Tmp, 3, True)
  6450.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6451.    title = "Set bit 22,30,38 of [" & Tmp & "] on False is "
  6452.    Call cSetBit(Tmp, 22, False)
  6453.    Call cSetBit(Tmp, 30, False)
  6454.    Call cSetBit(Tmp, 38, False)
  6455.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6456.    title = "Set bit 0,5,3 of [" & Tmp & "] on False is "
  6457.    Call cSetBit(Tmp, 0, False)
  6458.    Call cSetBit(Tmp, 5, False)
  6459.    Call cSetBit(Tmp, 3, False)
  6460.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6461.    title = "Set bit 22,30,38 of [" & Tmp & "] on True is "
  6462.    Call cSetBit(Tmp, 22, True)
  6463.    Call cSetBit(Tmp, 30, True)
  6464.    Call cSetBit(Tmp, 38, True)
  6465.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6466.    cStartBasisTimer
  6467.    For i = 1 To Item
  6468.       Call cSetBit(Tmp, 7, True)
  6469.    Next i
  6470.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6471.    Label3.Caption = Tmp1
  6472. End Sub
  6473. Sub TestSetBitValue ()
  6474.    Dim intResult        As Integer
  6475.    Dim strResult        As String
  6476.    Dim strDisplay       As String
  6477.    Dim iData            As Integer
  6478.    Dim lData            As Long
  6479.    Dim sData            As Single
  6480.    Dim dData            As Double
  6481.    Dim i                As Integer
  6482.    intResult = 0
  6483.    strResult = ""
  6484.    strDisplay = ""
  6485.    iData = Abs(cRndI())
  6486.    lData = Abs(cRndL())
  6487.    sData = Abs(cRndS())
  6488.    dData = Abs(cRndD())
  6489.      
  6490.    strDisplay = strDisplay + "Integer value : " & iData & " (" & cToBinary(cMKI(iData)) & ")" & Chr$(13)
  6491.    Call cSetBitI(iData, 3, True)
  6492.    strDisplay = strDisplay + "   set bit 3 is " & iData & " (" & cToBinary(cMKI(iData)) & ")" & Chr$(13)
  6493.    Call cSetBitI(iData, 6, False)
  6494.    strDisplay = strDisplay + "   reset bit 6 is " & iData & " (" & cToBinary(cMKI(iData)) & ")" & Chr$(13)
  6495.    Call cSetBitI(iData, 9, True)
  6496.    strDisplay = strDisplay + "   set bit 9 is " & iData & " (" & cToBinary(cMKI(iData)) & ")" & Chr$(13) & Chr$(13)
  6497.    strDisplay = strDisplay + "Long value : " & lData & " (" & cToBinary(cMKL(lData)) & ")" & Chr$(13)
  6498.    Call cSetBitL(lData, 6, True)
  6499.    strDisplay = strDisplay + "   set bit 6 is " & lData & " (" & cToBinary(cMKL(lData)) & ")" & Chr$(13)
  6500.    Call cSetBitL(lData, 12, False)
  6501.    strDisplay = strDisplay + "   reset bit 12 is " & lData & " (" & cToBinary(cMKL(lData)) & ")" & Chr$(13)
  6502.    Call cSetBitL(lData, 24, True)
  6503.    strDisplay = strDisplay + "   set bit 24 is " & lData & " (" & cToBinary(cMKL(lData)) & ")" & Chr$(13) & Chr$(13)
  6504.    strDisplay = strDisplay + "Single value : " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13)
  6505.    Call cSetBitS(sData, 0, True)
  6506.    strDisplay = strDisplay + "   set bit 0 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13)
  6507.    Call cSetBitS(sData, 3, True)
  6508.    strDisplay = strDisplay + "   set bit 3 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13)
  6509.    Call cSetBitS(sData, 6, True)
  6510.    strDisplay = strDisplay + "   set bit 6 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13)
  6511.    Call cSetBitS(sData, 12, True)
  6512.    strDisplay = strDisplay + "   set bit 12 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13)
  6513.    Call cSetBitS(sData, 24, True)
  6514.    strDisplay = strDisplay + "   set bit 24 is " & sData & " (" & cToBinary(cMKS(sData)) & ")" & Chr$(13) & Chr$(13)
  6515.    strDisplay = strDisplay + "Double value : " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13)
  6516.    Call cSetBitD(dData, 0, False)
  6517.    strDisplay = strDisplay + "   reset bit 0 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13)
  6518.    Call cSetBitD(dData, 3, False)
  6519.    strDisplay = strDisplay + "   reset bit 3 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13)
  6520.    Call cSetBitD(dData, 12, False)
  6521.    strDisplay = strDisplay + "   reset bit 12 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13)
  6522.    Call cSetBitD(dData, 24, False)
  6523.    strDisplay = strDisplay + "   reset bit 24 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13)
  6524.    Call cSetBitD(dData, 48, False)
  6525.    strDisplay = strDisplay + "   reset bit 48 is " & dData & " (" & cToBinary(cMKD(dData)) & ")" & Chr$(13) & Chr$(13)
  6526.    'time the function
  6527.    cStartBasisTimer
  6528.    For i = 1 To ItemFile
  6529.       Call cSetBitI(iData, 0, True)
  6530.    Next i
  6531.    strDisplay = strDisplay & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6532.    Label3.Caption = strDisplay
  6533. End Sub
  6534. Sub TestSetI ()
  6535.    Dim title      As String
  6536.    Dim Tmp        As String
  6537.    Dim Tmp1       As String
  6538.    Dim Tmp2       As String
  6539.    Dim i          As Integer
  6540.    Dim j          As Integer
  6541.    Dim m          As Double
  6542.    ReDim array(ItemMean) As Integer
  6543.    Randomize Timer
  6544.    For i = LBound(array) To UBound(array)
  6545.       array(i) = 0
  6546.       List1.AddItem "" & array(i)
  6547.    Next i
  6548.    j = cSetI(array(), 1024)
  6549.    For i = LBound(array) To UBound(array)
  6550.       List2.AddItem "" & array(i)
  6551.    Next i
  6552.    Tmp1 = Tmp1 & "Set 1024 to element 1 of an integer array is : " & array(1) & Chr$(13) & Chr$(13)
  6553.    Tmp1 = Tmp1 & "Set 1024 to element " & ItemMean & " of an integer array is : " & array(ItemMean) & Chr$(13) & Chr$(13)
  6554.    cStartBasisTimer
  6555.    For i = 1 To ItemFile
  6556.       j = cSetI(array(), 1.11)
  6557.    Next i
  6558.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6559.    Label3.Caption = Tmp1
  6560. End Sub
  6561. Sub TestSortI ()
  6562.    Dim title      As String
  6563.    Dim Tmp        As String
  6564.    Dim Tmp1       As String
  6565.    Dim Tmp2       As String
  6566.    Dim i          As Integer
  6567.    Dim j          As Integer
  6568.    Dim m          As Integer
  6569.    ReDim array(ItemMean) As Integer
  6570.    Randomize Timer
  6571.    For i = LBound(array) To UBound(array)
  6572.       array(i) = RandI * Rnd(1)
  6573.       List1.AddItem "" & array(i)
  6574.    Next i
  6575.    j = cSortI(array())
  6576.    For i = LBound(array) To UBound(array)
  6577.       List2.AddItem "" & array(i)
  6578.    Next i
  6579.    cStartBasisTimer
  6580.    For i = 1 To ItemFile
  6581.       j = cSortI(array())
  6582.    Next i
  6583.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6584.    Label3.Caption = Tmp1
  6585. End Sub
  6586. Sub TestSpellMoney ()
  6587.    Dim title      As String
  6588.    Dim Tmp        As String
  6589.    Dim Tmp1       As String
  6590.    Dim Tmp2       As String
  6591.    Dim i          As Integer
  6592.    Dim j          As Integer
  6593.    Dim Units      As String
  6594.    Dim Cents      As String
  6595.    Units = "dollars"
  6596.    Cents = "cents"
  6597.    Tmp1 = "Spelling the following money value " & Chr$(13) & Chr$(13)
  6598.    Tmp1 = Tmp1 & "4.12 is '" & cSpellMoney(4.12, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6599.    Tmp1 = Tmp1 & "16 is '" & cSpellMoney(16, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6600.    Tmp1 = Tmp1 & "25 is '" & cSpellMoney(25, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6601.    Tmp1 = Tmp1 & "34 is '" & cSpellMoney(34, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6602.    Tmp1 = Tmp1 & "43 is '" & cSpellMoney(43, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6603.    Tmp1 = Tmp1 & "61 is '" & cSpellMoney(61, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6604.    Tmp1 = Tmp1 & "98765.43 is '" & cSpellMoney(98765.43, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6605.    Tmp1 = Tmp1 & "123456789.75 is '" & cSpellMoney(123456789.75, Units, Cents) & "'" & Chr$(13) & Chr$(13)
  6606.    cStartBasisTimer
  6607.    For i = 1 To Item
  6608.       Tmp2 = cSpellMoney(12.34, Units, Cents)
  6609.    Next i
  6610.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6611.    Label3.Caption = Tmp1
  6612. End Sub
  6613. Sub TestSplitPath ()
  6614.    Dim title      As String
  6615.    Dim Tmp        As String
  6616.    Dim Tmp1       As String
  6617.    Dim Tmp2       As String
  6618.    Dim Tmp3       As String
  6619.    Dim i          As Integer
  6620.    Dim n          As Integer
  6621.    Dim j          As Long
  6622.    Dim SPLITPATH  As tagSPLITPATH
  6623.    Tmp1 = ""
  6624.    Tmp = "C:\AUTOEXEC.BAT"
  6625.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & Chr$(13) & Chr$(13)
  6626.    n = cSplitPath(Tmp, SPLITPATH)
  6627.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  6628.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  6629.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  6630.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  6631.    Tmp = cGetSystemDirectory() & "\TIME2WIN.DLL"
  6632.    Tmp1 = Tmp1 & "Split Path " & Tmp & " into four components is :" & Chr$(13) & Chr$(13)
  6633.    n = cSplitPath(Tmp, SPLITPATH)
  6634.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDrive & Chr$(13)
  6635.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nDir & Chr$(13)
  6636.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nName & Chr$(13)
  6637.    Tmp1 = Tmp1 & Space$(3) & SPLITPATH.nExt & Chr$(13) & Chr$(13)
  6638.    cStartBasisTimer
  6639.    For i = 1 To Item
  6640.       n = cSplitPath(Tmp, SPLITPATH)
  6641.    Next i
  6642.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6643.    Label3.Caption = Tmp1
  6644. End Sub
  6645. Sub TestStringCompress ()
  6646.    Dim title      As String
  6647.    Dim Tmp        As String
  6648.    Dim Tmp1       As String
  6649.    Dim Tmp2       As String
  6650.    Dim Tmp3       As String
  6651.    Dim i          As Integer
  6652.    Dim j          As Long
  6653.    Tmp1 = ""
  6654.    Tmp = "TIME TO WIN, TIME TO WIN, TIME TO WIN, TIME TO WIN"
  6655.    Tmp2 = cStringCompress(Tmp)
  6656.    Tmp3 = cStringExpand(Tmp2)
  6657.    Tmp1 = Tmp1 & "String Compress '" & Tmp & "' is " & Format$(Len(Tmp)) & " to " & Format$(Len(Tmp2)) & " bytes." & Chr$(13)
  6658.    Tmp1 = Tmp1 & "String Expand is '" & Tmp3 & "'" & Chr$(13)
  6659.    Tmp1 = Tmp1 & "Compare string contents (not sensitive) is " & IIf(LCase$(Tmp) = LCase$(Tmp3), "same", "not same") & Chr$(13) & Chr$(13)
  6660.    cStartBasisTimer
  6661.    For i = 1 To Item
  6662.       Tmp2 = cStringCompress(Tmp)
  6663.    Next i
  6664.    Tmp3 = cStringExpand(Tmp2)
  6665.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6666.    Label3.Caption = Tmp1
  6667. End Sub
  6668. Sub TestStringCRC32 ()
  6669.    Dim title      As String
  6670.    Dim Tmp        As String
  6671.    Dim Tmp1       As String
  6672.    Dim Tmp2       As String
  6673.    Dim i          As Integer
  6674.    Dim j          As Integer
  6675.    Dim k          As Long
  6676.    Tmp = Text1.Text
  6677.    title = "CRC32 for string [" & Tmp & "] is "
  6678.    Tmp1 = title & Hex$(cStringCRC32(Tmp)) & Chr$(13) & Chr$(13)
  6679.    title = "CRC32 for string [" & cReverse(Tmp) & "] is "
  6680.    Tmp1 = Tmp1 & title & Hex$(cStringCRC32(cReverse(Tmp))) & Chr$(13) & Chr$(13)
  6681.    title = "CRC32 for string [" & LCase$(Tmp) & "] is "
  6682.    Tmp1 = Tmp1 & title & Hex$(cStringCRC32(LCase$(Tmp))) & Chr$(13) & Chr$(13)
  6683.    title = "CRC32 for string [" & LCase$(cReverse(Tmp)) & "] is "
  6684.    Tmp1 = Tmp1 & title & Hex$(cStringCRC32(LCase$(cReverse(Tmp)))) & Chr$(13) & Chr$(13)
  6685.    cStartBasisTimer
  6686.    For i = 1 To Item
  6687.       k = cStringCRC32(Tmp)
  6688.    Next i
  6689.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6690.    Label3.Caption = Tmp1
  6691. End Sub
  6692. Sub TestStringSAR ()
  6693.    Dim title      As String
  6694.    Dim Tmp        As String
  6695.    Dim Tmp1       As String
  6696.    Dim Tmp2       As String
  6697.    Dim Tmp3       As String
  6698.    Dim i          As Integer
  6699.    Dim j          As Long
  6700.    Tmp1 = ""
  6701.    Tmp = "TIME TO WIN, TIME TO WIN, TIME TO WIN, TIME TO WIN IS A DLL"
  6702.    Tmp2 = cStringSAR(Tmp, "TIME TO WIN", "time2win", False)
  6703.    Tmp1 = Tmp1 & "Replace 'TIME TO WIN' by 'time2win'" & Chr$(13)
  6704.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  6705.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  6706.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  6707.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  6708.    Tmp2 = cStringSAR(Tmp, " TO ", "2", True)
  6709.    Tmp1 = Tmp1 & "Replace ' TO ' by '2'" & Chr$(13)
  6710.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  6711.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  6712.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  6713.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  6714.    Tmp2 = cStringSAR(Tmp, "TIME TO WIN, ", "", True)
  6715.    Tmp1 = Tmp1 & "Replace 'TIME TO WIN, ' by ''" & Chr$(13)
  6716.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  6717.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  6718.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  6719.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  6720.    Tmp2 = cStringSAR(Tmp, "I", "i", False)
  6721.    Tmp1 = Tmp1 & "Replace 'I' by 'i'" & Chr$(13)
  6722.    Tmp1 = Tmp1 & "     in" & Chr$(13)
  6723.    Tmp1 = Tmp1 & Tmp & Chr$(13)
  6724.    Tmp1 = Tmp1 & "     is" & Chr$(13)
  6725.    Tmp1 = Tmp1 & Tmp2 & Chr$(13) & Chr$(13)
  6726.    cStartBasisTimer
  6727.    For i = 1 To Item
  6728.       Tmp2 = cStringSAR(Tmp, "TIME TO WIN", "time2win", False)
  6729.    Next i
  6730.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6731.    Label3.Caption = Tmp1
  6732. End Sub
  6733. Sub TestSubDirectory ()
  6734.    Dim title      As String
  6735.    Dim Tmp        As String
  6736.    Dim Tmp1       As String
  6737.    Dim Tmp2       As String
  6738.    Dim i          As Integer
  6739.    Dim j          As Integer
  6740.    Dim k          As Long
  6741.    title = "The 7 first directories in this directory are" & Chr$(13) & Chr$(13)
  6742.    Tmp1 = title
  6743.    Tmp2 = cSubDirectory("*.*", True)
  6744.    For i = 1 To 7
  6745.       Tmp1 = Tmp1 & Tmp2 & Chr$(13)
  6746.       Tmp2 = cSubDirectory("*.*", False)
  6747.    Next i
  6748.    Tmp1 = Tmp1 & Chr$(13)
  6749.    cStartBasisTimer
  6750.    For i = 1 To Item
  6751.       Tmp = cSubDirectory("*.*", True)
  6752.    Next i
  6753.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6754.    Label3.Caption = Tmp1
  6755. End Sub
  6756. Sub TestSumI ()
  6757.    Dim title      As String
  6758.    Dim Tmp        As String
  6759.    Dim Tmp1       As String
  6760.    Dim Tmp2       As String
  6761.    Dim i          As Integer
  6762.    Dim j          As Integer
  6763.    Dim m          As Double
  6764.    ReDim array(ItemMean) As Integer
  6765.    Randomize Timer
  6766.    m = 0
  6767.    For i = LBound(array) To UBound(array)
  6768.       array(i) = Int(RandI * Rnd(1))
  6769.       m = m + array(i)
  6770.       List1.AddItem "" & array(i)
  6771.    Next i
  6772.    Tmp1 = "The Sum of a integer array of " & (ItemMean + 1) & " elements is " & Chr$(13) & Chr$(13) & cSumI(array()) & " (" & m & ")" & Chr$(13) & Chr$(13)
  6773.    cStartBasisTimer
  6774.    For i = 1 To ItemFile
  6775.       m = cSumI(array())
  6776.    Next i
  6777.    Tmp1 = Tmp1 & "speed for " & ItemFile & " = " & cReadBasisTimer() & " ms"
  6778.    Label3.Caption = Tmp1
  6779. End Sub
  6780. Sub TestSwap ()
  6781.    Dim title      As String
  6782.    Dim Tmp        As String
  6783.    Dim Tmp1       As String
  6784.    Dim Tmp2       As String
  6785.    Dim i          As Integer
  6786.    Dim j          As Long
  6787.    Dim i1         As Integer
  6788.    Dim i2         As Integer
  6789.    Dim s1         As String
  6790.    Dim s2         As String
  6791.    i1 = 3276
  6792.    i2 = 12345
  6793.    s1 = "Hello"
  6794.    s2 = "World"
  6795.    Tmp1 = "SwapI of [" & i1 & "," & i2 & "] is "
  6796.    Call cSwapI(i1, i2)
  6797.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & Chr$(13)
  6798.    Tmp1 = Tmp1 + "SwapI of [" & i1 & "," & i2 & "] is "
  6799.    Call cSwapI(i1, i2)
  6800.    Tmp1 = Tmp1 + "[" & i1 & "," & i2 & "]" & Chr$(13)
  6801.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  6802.    Call cSwapStr(s1, s2)
  6803.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & Chr$(13)
  6804.    Tmp1 = Tmp1 + "SwapStr of [" & s1 & "," & s2 & "] is "
  6805.    Call cSwapStr(s1, s2)
  6806.    Tmp1 = Tmp1 + "[" & s1 & "," & s2 & "]" & Chr$(13)
  6807.    cStartBasisTimer
  6808.    For i = 1 To Item
  6809.       Call cSwapI(i1, i2)
  6810.    Next i
  6811.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6812.    Label3.Caption = Tmp1
  6813. End Sub
  6814. Sub TestSysMenuChange (Language As Integer)
  6815.    Call cLngSysMenu(Language, Me.hWnd)
  6816. End Sub
  6817. Sub TestTime ()
  6818.    Dim Tmp1       As String
  6819.    Dim i          As Integer
  6820.    Dim nNow       As Long
  6821.    Dim nHour      As Integer
  6822.    Dim nMinute    As Integer
  6823.    Dim nSecond    As Integer
  6824.    nHour = Hour(Now)
  6825.    nMinute = Minute(Now)
  6826.    nSecond = Second(Now)
  6827.    nNow = cTimeToScalar(nHour, nMinute, nSecond)
  6828.    Tmp1 = Tmp1 & "Now scalar time is '" & nNow & "'" & Chr$(13)
  6829.    nHour = 0
  6830.    nMinute = 0
  6831.    nSecond = 0
  6832.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  6833.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & Chr$(13) & Chr$(13)
  6834.    nNow = cTimeToScalar(32767, 59, 59)
  6835.    Tmp1 = Tmp1 & "Maximum scalar time is '" & nNow & "'" & Chr$(13)
  6836.    nHour = 0
  6837.    nMinute = 0
  6838.    nSecond = 0
  6839.    Call cScalarToTime(nNow, nHour, nMinute, nSecond)
  6840.    Tmp1 = Tmp1 & "Hour : " & nHour & ", Minute : " & nMinute & ", Second : " & nSecond & Chr$(13) & Chr$(13)
  6841.    cStartBasisTimer
  6842.    For i = 1 To Item
  6843.       nNow = cTimeToScalar(nHour, nMinute, nSecond)
  6844.    Next i
  6845.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6846.    Label3.Caption = Tmp1
  6847. End Sub
  6848. Sub TestTimeBetween ()
  6849.    Dim title      As String
  6850.    Dim Tmp        As String
  6851.    Dim Tmp1       As String
  6852.    Dim Tmp2       As String
  6853.    Dim i          As Integer
  6854.    Dim j          As Integer
  6855.    Tmp1 = "The time between 10:00 and 12:01 is " & cTimeBetween(600, 721) & " minutes" & Chr$(13) & Chr$(13)
  6856.    Tmp1 = Tmp1 & "The time between 23:58 and 01:02 is " & cTimeBetween(1438, 62) & " minutes" & Chr$(13) & Chr$(13)
  6857.    cStartBasisTimer
  6858.    For i = 1 To Item
  6859.       j = cTimeBetween(0, 1439)
  6860.    Next i
  6861.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6862.    Label3.Caption = Tmp1
  6863. End Sub
  6864. Sub TestTimer ()
  6865.    Dim Tmp1          As String
  6866.    Dim Tmp           As String
  6867.    Dim Tmp2          As String
  6868.    Dim i             As Integer
  6869.    Dim j             As Integer
  6870.    Dim k             As Long
  6871.    Dim TimerHandle   As Integer
  6872.    Dim StartOk       As Integer
  6873.    Dim CloseOk       As Integer
  6874.    Tmp1 = "BASIS TIMER" & Chr$(13) & Chr$(13)
  6875.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  6876.    cStartBasisTimer
  6877.    For i = 1 To 32766
  6878.    Next i
  6879.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6880.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  6881.    j = 0
  6882.    cStartBasisTimer
  6883.    For i = 1 To 32766
  6884.       j = j + 1
  6885.    Next i
  6886.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6887.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  6888.    k = 0
  6889.    cStartBasisTimer
  6890.    For i = 1 To 32766
  6891.       k = i * 2&
  6892.    Next i
  6893.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6894.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  6895.    cStartBasisTimer
  6896.    For i = 1 To 1000
  6897.       Tmp2 = Tmp2 + "a"
  6898.    Next i
  6899.    Tmp1 = Tmp1 & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6900.    Call cStartBasisTimer
  6901.    StartOk = cSleep(1000)
  6902.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  6903.    TimerHandle = cTimerOpen()
  6904.    Tmp1 = Tmp1 & "EXTENDED TIMER (handle is '" & TimerHandle & "')" & Chr$(13) & Chr$(13)
  6905.    Tmp1 = Tmp1 & "The elapsed time for a empty loop of 32766 iterations is "
  6906.    StartOk = cTimerStart(TimerHandle)
  6907.    For i = 1 To 32766
  6908.    Next i
  6909.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6910.    Tmp1 = Tmp1 & "The elapsed time for a integer loop of 32766 iterations is "
  6911.    j = 0
  6912.    StartOk = cTimerStart(TimerHandle)
  6913.    For i = 1 To 32766
  6914.       j = j + 1
  6915.    Next i
  6916.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6917.    Tmp1 = Tmp1 & "The elapsed time for a long loop of 32766 iterations is "
  6918.    k = 0
  6919.    StartOk = cTimerStart(TimerHandle)
  6920.    For i = 1 To 32766
  6921.       k = i * 2&
  6922.    Next i
  6923.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6924.    Tmp1 = Tmp1 & "The elapsed time for a string loop of 1000 iterations is "
  6925.    StartOk = cTimerStart(TimerHandle)
  6926.    For i = 1 To 1000
  6927.       Tmp2 = Tmp2 + "a"
  6928.    Next i
  6929.    Tmp1 = Tmp1 & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6930.    StartOk = cTimerStart(TimerHandle)
  6931.    StartOk = cSleep(1000)
  6932.    Tmp1 = Tmp1 & "True time for 1 wait second is " & cTimerRead(TimerHandle) & " ms" & Chr$(13) & Chr$(13)
  6933.    Label3.Caption = Tmp1
  6934.    CloseOk = cTimerClose(TimerHandle)
  6935. End Sub
  6936. Sub TestToggleAllBits ()
  6937.    Dim title      As String
  6938.    Dim Tmp        As String
  6939.    Dim Tmp1       As String
  6940.    Dim Tmp2       As String
  6941.    Dim i          As Integer
  6942.    Dim j          As Integer
  6943.    Tmp = Text1.Text
  6944.    title = "Toggle all bits of [" & Tmp & "] is "
  6945.    Call cToggleAllBits(Tmp)
  6946.    Tmp1 = title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6947.    title = "Toggle all bits of [" & Tmp & "] is "
  6948.    Call cToggleAllBits(Tmp)
  6949.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6950.    cStartBasisTimer
  6951.    For i = 1 To Item
  6952.       Call cToggleAllBits(Tmp)
  6953.    Next i
  6954.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6955.    Label3.Caption = Tmp1
  6956. End Sub
  6957. Sub TestToggleBit ()
  6958.    Dim title      As String
  6959.    Dim Tmp        As String
  6960.    Dim Tmp1       As String
  6961.    Dim Tmp2       As String
  6962.    Dim i          As Integer
  6963.    Dim j          As Integer
  6964.    Tmp = Text1.Text
  6965.    title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  6966.    Call cToggleBit(Tmp, 7)
  6967.    Call cToggleBit(Tmp, 22)
  6968.    Call cToggleBit(Tmp, 15)
  6969.    Tmp1 = title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6970.    title = "Toggle bit 7,22,15 of [" & Tmp & "] is "
  6971.    Call cToggleBit(Tmp, 7)
  6972.    Call cToggleBit(Tmp, 22)
  6973.    Call cToggleBit(Tmp, 15)
  6974.    Tmp1 = Tmp1 & title & "[" & Tmp & "] " & Chr$(13) & Chr$(13)
  6975.    cStartBasisTimer
  6976.    For i = 1 To Item
  6977.       Call cToggleBit(Tmp, i)
  6978.    Next i
  6979.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  6980.    Label3.Caption = Tmp1
  6981. End Sub
  6982. Sub TestToHexa ()
  6983.    Dim intResult        As Integer
  6984.    Dim strResult        As String
  6985.    Dim strDisplay       As String
  6986.    Dim i                As Integer
  6987.    Dim Str1             As String
  6988.    Dim Str2             As String
  6989.    intResult = 0
  6990.    strResult = ""
  6991.    strDisplay = ""
  6992.    Str1 = Text1.Text
  6993.    Str2 = cToHexa(Str1)
  6994.    strDisplay = strDisplay & "To Hexa of '" & Str1 & "' is" & Chr$(13) & Chr$(13)
  6995.    strDisplay = strDisplay & "'" & Str2 & "'" & Chr$(13) & Chr$(13)
  6996.    strDisplay = strDisplay & "From Hexa of '" & Str2 & "' is" & Chr$(13) & Chr$(13)
  6997.    strDisplay = strDisplay & "'" & cFromHexa(Str2) & "'" & Chr$(13) & Chr$(13)
  6998.    Str1 = "ABCDEFGH"
  6999.    Str2 = cToHexa(Str1)
  7000.    strDisplay = strDisplay & "To Hexa of '" & Str1 & "' is" & Chr$(13) & Chr$(13)
  7001.    strDisplay = strDisplay & "'" & Str2 & "'" & Chr$(13) & Chr$(13)
  7002.    strDisplay = strDisplay & "From Hexa of '" & Str2 & "' is" & Chr$(13) & Chr$(13)
  7003.    strDisplay = strDisplay & "'" & cFromHexa(Str2) & "'" & Chr$(13) & Chr$(13)
  7004.    Str1 = "01234567890"
  7005.    Str2 = cToHexa(Str1)
  7006.    strDisplay = strDisplay & "To Hexa of '" & Str1 & "' is" & Chr$(13) & Chr$(13)
  7007.    strDisplay = strDisplay & "'" & Str2 & "'" & Chr$(13) & Chr$(13)
  7008.    strDisplay = strDisplay & "From Hexa of '" & Str2 & "' is" & Chr$(13) & Chr$(13)
  7009.    strDisplay = strDisplay & "'" & cFromHexa(Str2) & "'" & Chr$(13) & Chr$(13)
  7010.    'time the function
  7011.    Str1 = Text1.Text
  7012.    cStartBasisTimer
  7013.    For i = 1 To Item
  7014.       strResult = cToHexa(Str1)
  7015.    Next i
  7016.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7017.    Label3.Caption = strDisplay
  7018. End Sub
  7019. Sub TestToken ()
  7020.    Dim title      As String
  7021.    Dim Tmp        As String
  7022.    Dim Tmp1       As String
  7023.    Dim Tmp2       As String
  7024.    Dim i          As Integer
  7025.    Dim j          As Integer
  7026.    Tmp = "A/BC\DEF=GHIJ?KLMNO:PQRSTUV"
  7027.    title = "The 2,4,1,5 blocks of [" & Tmp & "] separated by any one of '/\=?' are " & Chr$(13)
  7028.    Tmp1 = title & "  2:" & cTokenIn(Tmp, "/\=?", 2) & Chr$(13) & "  4:" & cTokenIn(Tmp, "/\=?", 4) & Chr$(13) & "  1:" & cTokenIn(Tmp, "/\=?", 1) & Chr$(13) & "  5:" & cTokenIn(Tmp, "/\=?", 5) & Chr$(13) & Chr$(13)
  7029.    cStartBasisTimer
  7030.    For i = 1 To Item
  7031.       Tmp2 = cTokenIn(Tmp, "/\=?", 2)
  7032.    Next i
  7033.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7034.    Label3.Caption = Tmp1
  7035. End Sub
  7036. Sub TestToZ9 ()
  7037.    Dim intResult        As Integer
  7038.    Dim strResult        As String
  7039.    Dim strDisplay       As String
  7040.    Dim i                As Integer
  7041.    Dim Str1             As String
  7042.    Dim Str2             As String
  7043.    intResult = 0
  7044.    strResult = ""
  7045.    strDisplay = ""
  7046.    Str1 = Text1.Text
  7047.    Str2 = cToZ9(Str1)
  7048.    strDisplay = strDisplay & "To Z9 of '" & Str1 & "' is" & Chr$(13) & Chr$(13)
  7049.    strDisplay = strDisplay & "'" & Str2 & "'" & Chr$(13) & Chr$(13)
  7050.    strDisplay = strDisplay & "From Z9 of '" & Str2 & "' is" & Chr$(13) & Chr$(13)
  7051.    strDisplay = strDisplay & "'" & cFromZ9(Str2) & "'" & Chr$(13) & Chr$(13)
  7052.    Str1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  7053.    Str2 = cToZ9(Str1)
  7054.    strDisplay = strDisplay & "To Z9 of '" & Str1 & "' is" & Chr$(13) & Chr$(13)
  7055.    strDisplay = strDisplay & "'" & Str2 & "'" & Chr$(13) & Chr$(13)
  7056.    strDisplay = strDisplay & "From Z9 of '" & Str2 & "' is" & Chr$(13) & Chr$(13)
  7057.    strDisplay = strDisplay & "'" & cFromZ9(Str2) & "'" & Chr$(13) & Chr$(13)
  7058.    Str1 = "01234567890"
  7059.    Str2 = cToZ9(Str1)
  7060.    strDisplay = strDisplay & "To Z9 of '" & Str1 & "' is" & Chr$(13) & Chr$(13)
  7061.    strDisplay = strDisplay & "'" & Str2 & "'" & Chr$(13) & Chr$(13)
  7062.    strDisplay = strDisplay & "From Z9 of '" & Str2 & "' is" & Chr$(13) & Chr$(13)
  7063.    strDisplay = strDisplay & "'" & cFromZ9(Str2) & "'" & Chr$(13) & Chr$(13)
  7064.    'time the function
  7065.    Str1 = Text1.Text
  7066.    cStartBasisTimer
  7067.    For i = 1 To Item
  7068.       strResult = cToZ9(Str1)
  7069.    Next i
  7070.    strDisplay = strDisplay & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7071.    Label3.Caption = strDisplay
  7072. End Sub
  7073. Sub TestTrueBetween ()
  7074.    Dim title      As String
  7075.    Dim Tmp        As String
  7076.    Dim Tmp1       As String
  7077.    Dim Tmp2       As String
  7078.    Dim i          As Integer
  7079.    Dim j          As Integer
  7080.    Tmp1 = "601 is not true between 720 and 840 => " & cTrueBetween(601, 720, 840) & Chr$(13) & Chr$(13)
  7081.    Tmp1 = Tmp1 & "601 is true between 540 and 602 => " & cTrueBetween(601, 540, 602) & Chr$(13) & Chr$(13)
  7082.    Tmp1 = Tmp1 & "61 is not true between 61 and 62 => " & cTrueBetween(61, 61, 62) & Chr$(13) & Chr$(13)
  7083.    cStartBasisTimer
  7084.    For i = 1 To Item
  7085.       j = cTrueBetween(720, 0, 1439)
  7086.    Next i
  7087.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7088.    Label3.Caption = Tmp1
  7089. End Sub
  7090. Sub TestTruncatePath ()
  7091.    Dim title      As String
  7092.    Dim Tmp        As String
  7093.    Dim Tmp1       As String
  7094.    Dim Tmp2       As String
  7095.    Dim Tmp3       As String
  7096.    Dim i          As Integer
  7097.    Dim j          As Long
  7098.    Tmp1 = ""
  7099.    Tmp1 = Tmp1 & "Truncate the following path with a length of 25" & Chr$(13) & Chr$(13)
  7100.    Tmp = "time2win.bas"
  7101.    Tmp2 = cTruncatePath(Tmp, 25)
  7102.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7103.    Tmp = "windows\system\time2win.bas"
  7104.    Tmp2 = cTruncatePath(Tmp, 25)
  7105.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7106.    Tmp = "c:\windows\system\time2win.bas"
  7107.    Tmp2 = cTruncatePath(Tmp, 25)
  7108.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7109.    Tmp = "c:\windows\system\visual\time2win\time2win.bas"
  7110.    Tmp2 = cTruncatePath(Tmp, 25)
  7111.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7112.    Tmp = "c:\windows\system\visual\source\time2win\time2win.bas"
  7113.    Tmp2 = cTruncatePath(Tmp, 25)
  7114.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13) & Chr$(13)
  7115.    Tmp1 = Tmp1 & "Truncate the following path with a length of 35" & Chr$(13) & Chr$(13)
  7116.    Tmp = "time2win.bas"
  7117.    Tmp2 = cTruncatePath(Tmp, 35)
  7118.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7119.    Tmp = "windows\system\time2win.bas"
  7120.    Tmp2 = cTruncatePath(Tmp, 35)
  7121.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7122.    Tmp = "c:\windows\system\time2win.bas"
  7123.    Tmp2 = cTruncatePath(Tmp, 35)
  7124.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7125.    Tmp = "c:\windows\system\visual\time2win\time2win.bas"
  7126.    Tmp2 = cTruncatePath(Tmp, 35)
  7127.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13)
  7128.    Tmp = "c:\windows\system\visual\source\time2win\time2win.bas"
  7129.    Tmp2 = cTruncatePath(Tmp, 35)
  7130.    Tmp1 = Tmp1 & Tmp & Chr$(13) & " -> " & Tmp2 & "  (len=" & Len(Tmp2) & ")" & Chr$(13) & Chr$(13)
  7131.    cStartBasisTimer
  7132.    For i = 1 To Item
  7133.       Tmp2 = cTruncatePath(Tmp, 25)
  7134.    Next i
  7135.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms" & Chr$(13) & Chr$(13)
  7136.    Label3.Caption = Tmp1
  7137. End Sub
  7138. Sub TestUncompact ()
  7139.    Dim title      As String
  7140.    Dim Tmp        As String
  7141.    Dim Tmp1       As String
  7142.    Dim Tmp2       As String
  7143.    Dim i          As Integer
  7144.    Dim j          As Integer
  7145.    Tmp = "987654321"
  7146.    title = "Uncompact '" & Tmp & "' is "
  7147.    Tmp1 = title & cUncompact(Tmp) & Chr$(13) & Chr$(13)
  7148.    cStartBasisTimer
  7149.    For i = 1 To Item
  7150.       Tmp2 = cUncompact(Tmp)
  7151.    Next i
  7152.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7153.    Label3.Caption = Tmp1
  7154. End Sub
  7155. Sub TestUniqueFileName ()
  7156.    Dim title      As String
  7157.    Dim Tmp        As String
  7158.    Dim Tmp1       As String
  7159.    Dim Tmp2       As String
  7160.    Dim i          As Integer
  7161.    Dim j          As Integer
  7162.    Tmp1 = "Generate unique filename with template WN is " & cUniqueFileName("WN") & Chr$(13) & Chr$(13)
  7163.    cStartBasisTimer
  7164.    For i = 1 To Item
  7165.       Tmp2 = cUniqueFileName("WN")
  7166.    Next i
  7167.    Tmp1 = Tmp1 & "speed for " & Item & " = " & cReadBasisTimer() & " ms"
  7168.    Label3.Caption = Tmp1
  7169. End Sub
  7170. Sub TestVersion ()
  7171.    Dim Tmp        As String
  7172.    Dim Version    As Single
  7173.    Version = cGetVersion()
  7174.    Tmp = Tmp + "Version is " & Version
  7175.    Label3.Caption = Tmp
  7176. End Sub
  7177. Sub TestWalkThruWindow ()
  7178.    Dim nClass        As String
  7179.    Dim nCaption      As String
  7180.    Dim nOwnerClass   As String
  7181.    Dim nOwnerCaption As String
  7182.    Dim nOwnerHwnd    As Integer
  7183.    Dim nhWnd         As Integer
  7184.    Dim i             As Integer
  7185.    Frame1.Visible = True
  7186.    List1.Clear
  7187.    List2.Clear
  7188.    List1.FontBold = False
  7189.    List2.FontBold = False
  7190.    nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, True)
  7191.    Do While (nhWnd <> 0)
  7192.       i = i + 1
  7193.       List1.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nhWnd), 4) & " " & nCaption & " (" & nClass & ")"
  7194.       List2.AddItem "[" & Format$(i, "00") & "] " & Right$("0000" + Hex$(nOwnerHwnd), 4) & " " & nOwnerCaption & " (" & nOwnerClass & ")"
  7195.       nhWnd = cWalkThruWindow(nClass, nCaption, nOwnerHwnd, nOwnerClass, nOwnerCaption, False)
  7196.    Loop
  7197. End Sub
  7198. Sub TestWindowsIni ()
  7199.    Dim Tmp        As String
  7200.    Tmp = Tmp + "DateSeparator is " + cGetDateSeparator() + Chr$(13)
  7201.    Tmp = Tmp + "TimeSeparator is " + cGetTimeSeparator() + Chr$(13)
  7202.    Tmp = Tmp + "ListSeparator is " + cGetListSeparator() + Chr$(13)
  7203.    Tmp = Tmp + "DateFormat    is " + cGetDateFormat() + Chr$(13)
  7204.    Tmp = Tmp + "HourFormat    is " + cGetHourFormat() + Chr$(13)
  7205.    Tmp = Tmp + "Currency      is " + cGetCurrency() + Chr$(13)
  7206.    Tmp = Tmp + "Language      is " + cGetLanguage() + Chr$(13)
  7207.    Tmp = Tmp + "Country       is " + cGetCountry() + Chr$(13)
  7208.    Tmp = Tmp + "CountryCode   is " + cGetCountryCode() + Chr$(13)
  7209.    Label3.Caption = Tmp
  7210. End Sub
  7211. Sub TestWinINI1 ()
  7212.    Label3.Caption = cGetDevices() & Chr$(13) & Chr$(13) & "Length = " & Len(cGetDevices())
  7213. End Sub
  7214. Sub TestWinINI2 ()
  7215.    Label3.Caption = cGetPrinterPorts() & Chr$(13) & Chr$(13) & "Length = " & Len(cGetPrinterPorts())
  7216. End Sub
  7217. Sub TestWinINI3 ()
  7218.    Label3.Caption = cGetWinSection("windows") & Chr$(13) & Chr$(13) & "Length = " & Len(cGetWinSection("windows"))
  7219. End Sub
  7220.