Changes

Hints and Recipes for VB6

780 bytes removed, 20:24, 12 February 2008
The following lines were added (+) and removed (-):
== Write/Create a new file using FileSystemObject ==*must add 'reference' to "Microsoft Scripting Runtime"  Dim fso As New FileSystemObject, fsoStream As TextStream  Dim rec1, strLine, strFileSpec  Dim cnt0 As Integer, tag1 As Integer  strFileSpec = Environ("HOMEPATH") & "\My Documents\kaching.log"  strLine = "kaching incident " & Date & " " & Format(time, "HH:mm:ss") & vbCrLf  Set fsoStream = fso.CreateTextFile(strFileSpec, True)  fsoStream.Write strLine  fsoStream.Close  Set fsoStream = Nothing: Set fso = Nothing== Write if exists, create if doesn't exist using FileSystemObject ==  If fso.FileExists(strFileSpec) Then    Set fsoStream = fso.OpenTextFile(strFileSpec, 2)  Else    Set fsoStream = fso.CreateTextFile(strFileSpec, True)  End If    fsoStream.Write strLine  fsoStream.Close  Set fsoStream = Nothing: Set fso = Nothing  ' strFileSpec, 1 : ForReading 2 : ForWriting  8 : ForAppending  == Write to control on another form and display ==  Dim lblCaught As Label  Set lblCaught = frmKaching.lblCaught  frmKaching.WindowState = vbNormal  lblCaught = "You've Been Naughty!"  frmKaching.Show== Determine is a form has been loaded ==== Quickly determine which option button is selected ==The wrong way:Often OptionButton controls are arranged in control arrays. To quickly find the index of the only selected OptionButton control apply this little math trick.  The following example assumes there are 3 option buttons in a control array.  if form1.visible = true thenThe reason:Due to the way the intrinsic variable instance works in VB, the line above will actually cause form1 to load. Forms are loaded automatically whenever referenced in code, whether loaded visibly or not.  intSelected = Option(0).Value * 0 - Option(1).Value * 1 - Option(2).Value * 2Special thanks to a gentleman named Steve Gerrard who posted a correct sample script on another forum.  His example works by going through a list of loaded forms and matching by the form name you are looking for.Note that the first operand is always zero, and you can simplify the above expression as follows:  Public Function FormIsLoaded(FormName As String) As Boolean intSelected = -Option(1).Value - Option(2).Value * 2    Dim oFrm As Form    For Each oFrm In Forms      If oFrm.Name = FormName Then        FormIsLoaded = True        Exit For      End If    Next oFrm  End Functionlovely!Credit to [http://msdnx.com/visual-basic-archive/23/43-36-236214.shtm Ed Lampman for this VB trick].  == Command Line Parameter ==This example was taking from the Sales Logix Assistant Program: Private Function CheckLauncherParamter() ' blnDebug  If InStr(LCase(Command), "/verified") > 0 Then    CheckLauncherParamter = True    blnDebug = False    mnuFileExit.Enabled = False  ElseIf InStr(LCase(Command), "/debug") > 0 Then    CheckLauncherParamter = True    blnDebug = True    mnuFileExit.Enabled = True  Else    CheckLauncherParamter = False  End If End Function 
Bureaucrat, administrator
16,192
edits