RbBF2>ÔBlokProjPSIVStrn2012.02 ACnmStrnAChpStrnACsvStrnlocalhost:7325 Ver1Strn1 Ver2Strn0 Ver3Strn0 RelsStrn0 NnRlStrn0 RegnStrn0 SVerStrnLVerStrn'(C) Copyright 2005-2010 by Barry Traver IVerStrn,Utility to analyze and modify RB source codeaiviInt DVewInt ½¹|5prTpInt DLanInt CLanInt DEncInt BflgInt UsBFInt prWAInt IconGrupjEndGInt jMacCStrnBCarStrnCHMac BCMOStrnCHMacOSXBunIStrnBSizInt @BMSzInt BSzSStrn4096BMSSStrn2048MDIcStrnBWinStrnCodeHelper.exe BMDIInt WcmNStrnWpNmStrnWiNmStrnGDIpInt BL86StrnCHLinux fTypGruptjnameStrntextMacCStrnR*chtypeStrnTEXTdefnStrnflagInt kUTIStrnIconGrupjEndGInt jEndGInt jfTypGrup|jnameStrnXML FIleMacCStrnHSIItypeStrnTEXTdefnStrn.xmlflagInt kUTIStrnIconGrupjEndGInt jEndGInt jfTypGrup€jnameStrn Text File MacCStrnHSIItypeStrnTEXTdefnStrn.txtflagInt kUTIStrnIconGrupjEndGInt jEndGInt jfTypGrupdjnameStrn Source File MacCStrnHSIItypeStrnTEXTdefnStrn.sceflagInt kUTIStrnEndGInt jDgCLStrnWprtInt WpclInt WdptInt WbsrInt WbLSStrn Launching...WHTMStrnWbDSStrn:The application has gone off-line. Please try again later. PadnPadn`********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************BlokpFTyc‡ÿNameStrn FileTypes ContInt paswStrnfTypGrup„jnameStrntextMacCStrnR*chtypeStrnTEXTdefnStrnflagInt kUTIStrnNameStrnTextIconGrupjEndGInt jEndGInt jfTypGrupjnameStrnXML FIleMacCStrnHSIItypeStrnTEXTdefnStrn.xmlflagInt kUTIStrnNameStrnXMLFIle IconGrupjEndGInt jEndGInt jfTypGrup”jnameStrn Text File MacCStrnHSIItypeStrnTEXTdefnStrn.txtflagInt kUTIStrnNameStrnTextFileIconGrupjEndGInt jEndGInt jfTypGrup|jnameStrn Source File MacCStrnHSIItypeStrnTEXTdefnStrn.sceflagInt kUTIStrnNameStrn SourceFile EndGInt jPadnPadn ************************************************************************************************************************************************************************************************************************************************************************************************BlokpVew½¹|5 ¬NameStrnWindow1 ContInt paswStrnbClsInt SuprStrnWindow flagInt bNtrInt CompStrnHInsGrup@j nameStrn CancelClose CompStrnVsblInt sorcGrupôj!EncoInt srclStrn7Function CancelClose(appQuitting as Boolean) As Boolean srclStrnDim ReturnValue As Integer srclStrnIf FileSaved = False Then srclStrnCReturnValue = MsgBox ( "Changes have been made. Save the file?", _ srclStrn4, "CodeHelper" ) srclStrnIf ReturnValue = 6 Then srclStrnSaveXML srclStrnElsesrclStrnQuitsrclStrnEnd If srclStrnEnd If srclStrnMsgBox "Program completed." srclStrnDim Prop As Integer srclStrn End FunctionEndGInt j!EndGInt j HInsGrupÄj"nameStrnEnableMenuItems CompStrnVsblInt sorcGruptj#EncoInt srclStrnSub EnableMenuItems() srclStrnmnuEdit.Enabled = True /// mn srclStrnEnd Sub EndGInt j#EndGInt j"HInsGrup´j$nameStrnKeyDown CompStrnVsblInt sorcGruplj%EncoInt srclStrn*Function KeyDown(Key As String) As Boolean srclStrnIf Asc ( Key ) = 202 Then srclStrn%If TabPanel1.Value = SourcePanel Then srclStrn SearchSourcesrclStrnElse srclStrn"If TabPanel1.Value = XMLPanel Then srclStrn SearchXML srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrn End FunctionEndGInt j%EndGInt j$HInsGrupàj&nameStrnOpenCompStrnVsblInt sorcGrupœj'EncoInt srclStrn Sub Open() srclStrn)TabPanel1.Caption ( 0 ) = " Main Menu " srclStrn&TabPanel1.Caption ( 1 ) = " Source " srclStrn#TabPanel1.Caption ( 2 ) = " XML " srclStrn'TabPanel1.Caption ( 3 ) = " Results " srclStrnmnuGeneralHelp.Visible = False srclStrnmnuHelpDebug1.Visible = TruesrclStrnmnuHelpDebug2.Visible = TruesrclStrnmnuHelpDebug3.Visible = TruesrclStrnEOL = EndOfLine srclStrnBuildingBookmarks = False srclStrnFirstTImeMainMenu = TruesrclStrnMakeMenu = True srclStrn' 'mnuEdit.Text = "" /// mn srclStrnHorizontalMargin = 10 srclStrnVerticalMargin = 10 srclStrnStandardHeight = 30 srclStrnSpaceBetween = 15 srclStrnUsefulTop = 50 srclStrnKindOfList = "Main Menu"srclStrnCR = ChrB ( 13 ) srclStrnLF = ChrB ( 10 ) srclStrn#If TargetWin32 srclStrnEditFieldEndOfLine = CR srclStrn#Else srclStrnEditFieldEndOfLine = EOLsrclStrn#EndIf srclStrnmnuSaveResults.Visible = False srclStrnmnuSaveSource.Visible = False srclStrnmnuSaveXML.Visible = False srclStrnLastSearchPosition = 0 srclStrnKindOfList = "Main Menu"srclStrnMyResizesrclStrnmnuHelpDebug1.Enabled = TruesrclStrnmnuHelpDebug2.Enabled = TruesrclStrnmnuHelpDebug3.Enabled = TruesrclStrnWindow1.Left = 100 srclStrnWindow1.Width = 1000srclStrnWindow1.Top = 100 srclStrnWindow1.Height = 600srclStrn MakeMainMenusrclStrnIndentFactor = 0srclStrn/// mnuSaveXML.Visible = True srclStrnFileSaved = TruesrclStrnXMLEditField.ReadOnly = TruesrclStrnSourceEditField.ReadOnly = True srclStrnEnd Sub EndGInt j'EndGInt j&HInsGrupj(nameStrnResized CompStrnVsblInt sorcGrupÀj)EncoInt srclStrn Sub Resized() srclStrnIf NotFirstTime = False ThensrclStrnNotFirstTime = True srclStrnExitsrclStrnEnd If srclStrnMyResizesrclStrnEnd Sub EndGInt j)EndGInt j(MnuHGrupüj*nameStrn mnuEditXML CompStrnVsblInt sorcGrup°j+EncoInt srclStrn Function mnuEditXML() As BooleansrclStrn*MsgBox "Use .87 on Main Menu to edit XML." srclStrn Return True srclStrnsrclStrn End FunctionEndGInt j+EndGInt j*MnuHGrupj,nameStrnmnuGeneralHelp CompStrnVsblInt sorcGrupÀj-EncoInt srclStrn$Function mnuGeneralHelp() As BooleansrclStrn7MsgBox "Window1.mnuGeneralHelp" /// Remove this MsgBox. srclStrn' HelpWindow.ShowModal srclStrn End FunctionEndGInt j-EndGInt j,MnuHGrupÄj.nameStrn mnuHelpAboutCompStrnVsblInt sorcGrupxj/EncoInt srclStrn"Function mnuHelpAbout() As Boolean srclStrnDim M As String srclStrnDM = "Program by Barry Traver (email: barrytraver@gmail.com)." + EOLsrclStrnBM = M + " with a lot of help from RB friends." + EOL srclStrnAM = M + "(Please send comments and bug reports to Barry Traver.)" srclStrnMsgBox MsrclStrn End FunctionEndGInt j/EndGInt j.MnuHGrup¼j0nameStrn mnuHelpDebug1 CompStrnVsblInt sorcGruplj1EncoInt srclStrn#Function mnuHelpDebug1() As Boolean srclStrnDebug1 srclStrn End FunctionEndGInt j1EndGInt j0MnuHGrupÔj2nameStrn mnuHelpDebug2 CompStrnVsblInt sorcGrup„j3EncoInt srclStrn#Function mnuHelpDebug2() As Boolean srclStrnDebug2 srclStrn Return True srclStrn End FunctionEndGInt j3EndGInt j2MnuHGrupÔj4nameStrn mnuHelpDebug3 CompStrnVsblInt sorcGrup„j5EncoInt srclStrn#Function mnuHelpDebug3() As Boolean srclStrnDebug3 srclStrn Return True srclStrn End FunctionEndGInt j5EndGInt j4MnuHGrupÐj6nameStrn mnuHelpDebugCompStrnVsblInt sorcGrup„j7EncoInt srclStrn"Function mnuHelpDebug() As Boolean srclStrnDebug1 srclStrn Return True srclStrn End FunctionEndGInt j7EndGInt j6MnuHGrup´j8nameStrn mnuOpenXML CompStrnVsblInt sorcGruphj9EncoInt srclStrn Function mnuOpenXML() As BooleansrclStrnOpenXML srclStrn End FunctionEndGInt j9EndGInt j8MnuHGrupÄj:nameStrnmnuPrintResults CompStrnVsblInt sorcGruptj;EncoInt srclStrn%Function mnuPrintResults() As Boolean srclStrn PrintResultssrclStrn End FunctionEndGInt j;EndGInt j:MnuHGrupÀjnameStrn mnuPrintXML CompStrnVsblInt sorcGruplj?EncoInt srclStrn!Function mnuPrintXML() As Boolean srclStrnPrintXMLsrclStrn End FunctionEndGInt j?EndGInt j>MnuHGrupÀj@nameStrnmnuSaveResults CompStrnVsblInt sorcGruppjAEncoInt srclStrn$Function mnuSaveResults() As BooleansrclStrn SaveResults srclStrn End FunctionEndGInt jAEndGInt j@MnuHGrupÀjBnameStrn mnuSaveSource CompStrnVsblInt sorcGruppjCEncoInt srclStrn#Function mnuSaveSource() As Boolean srclStrn SaveSource srclStrn End FunctionEndGInt jCEndGInt jBMnuHGrup´jDnameStrn mnuSaveXML CompStrnVsblInt sorcGruphjEEncoInt srclStrn Function mnuSaveXML() As BooleansrclStrnSaveXML srclStrn End FunctionEndGInt jEEndGInt jDMnuHGrupjFnameStrn mnuEditSource CompStrnVsblInt sorcGrup´jGEncoInt srclStrn#Function mnuEditSource() As Boolean srclStrn*MsgBox "Use .87 on Main Menu to edit XML." srclStrn Return True srclStrnsrclStrn End FunctionEndGInt jGEndGInt jFMnuHGrupÔjHnameStrn mnuEditCopy CompStrnVsblInt sorcGrupˆjIEncoInt srclStrn!Function mnuEditCopy() As Boolean srclStrnsrclStrn Return True srclStrnsrclStrn End FunctionEndGInt jIEndGInt jHMethGrup¤jJnameStrn AddBlankLines CompStrnVsblInt sorcGrupìjKEncoInt srclStrn0Sub AddBlankLines(NumberOfBlankLines As Integer)srclStrnDim BlankSourceLine As String srclStrn&Dim Counter, LineAdjustment As Integer srclStrn&Dim NumberOfExtraBlankLines As Integer srclStrnDim RightTemp, Temp As String srclStrnLineAdjustment = 0 srclStrnRemoveBlankLinessrclStrnNumberOfExtraBlankLines = 0 srclStrnStartProgressBar2 srclStrn-For XMLLineNumber = 0 To Ubound ( XMLLines ) srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrnTemp = Trim ( SourceCodeLine ) srclStrn3RightTemp = RIghtB ( Trim ( SourceCodeLine ) , 1 ) srclStrnIf RightTemp = "_" Then srclStrn#LineAdjustment = LineAdjustment + 1 srclStrn5NumberOfExtraBlankLines = NumberOfExtraBlankLines + 1 srclStrnElseIf Temp <> "End Sub" _ srclStrnAnd Temp <> "End Function" Then srclStrn&BlankSourceLine = TagBefore + TagAfter srclStrn%For Counter = 1 To NumberOfBlankLines srclStrn2XMLLInes.Insert XMLLineNumber + 1, BlankSourceLine srclStrnNext Counter srclStrn*For Counter = 1 To NumberOfExtraBlankLines srclStrn2XMLLInes.Insert XMLLineNumber + 1, BlankSourceLine srclStrnNext Counter srclStrn!For Counter = 1 To LineAdjustment srclStrn!XMLLineNumber = XMLLineNumber - 1 srclStrnNext Counter srclStrnXMLLineNumber = XMLLineNumber _ srclStrn/ + NumberOfBlankLines + NumberOfExtraBlankLines srclStrnNumberOfExtraBlankLines = 0 srclStrnLineAdjustment = 0 srclStrnElse srclStrnLineAdjustment = 0 srclStrnEnd If srclStrnEnd If srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnEnd Sub EndGInt jKEncoInt AlasStrnflagInt shrdInt parmStrnNumberOfBlankLines As Integer rsltStrnEndGInt jJMethGrup øjLnameStrnAddElseComments CompStrnVsblInt sorcGrup `jMEncoInt srclStrnSub AddElseComments() srclStrn1Dim ElseIfUsed ( 25 ) , ElseUsed ( 25 ) As String srclStrnDim IfLevel As Integer srclStrn0Dim IfLine, IfLines ( 25 ) , WholeLine As StringsrclStrnControlNumber = 0 srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrnElse srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn9GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine ) srclStrnSourceCodeLine = WholeLine srclStrnEnd If srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimSource = Trim ( Source ) srclStrnGetCurrentInfoS srclStrn(If StartsWith ( TrimSource, "If " ) ThensrclStrn'If EndsWith ( TrimSource, "Then" ) Then srclStrnIfLevel = IfLevel + 1 srclStrnElseUsed ( IfLevel ) = "False" srclStrn ElseIfUsed ( IfLevel ) = "False"srclStrnAIfLine = LeftB ( Trim ( Source ) , Len ( Trim ( Source ) ) - 5 ) srclStrnIfLine = MidB ( IfLine, 4 ) srclStrnIfLines ( IfLevel ) = IfLinesrclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn,If StartsWith ( TrimSource, "ElseIf " ) ThensrclStrnElseIfUsed ( IfLevel ) = "True" srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn*If StartsWith ( TrimSource, "Else " ) Then srclStrnAIf InStrB ( Lowercase ( SourceCodeLine ) , " '/ if not" ) = 0 _ srclStrn"Then /// if it's not already there srclStrn(If ElseIfUsed ( IfLevel ) <> "True" ThensrclStrn Source = RTrim ( Source ) + " "srclStrnPComment = "'/ If NOT (" + IfLines ( IfLevel ) + ")" + " " + LTrim ( Comment ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnElse srclStrn Source = RTrim ( Source ) + " "srclStrnAComment = "'/ (Caution: at least one ElseIf in this statement)" srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnEnd If srclStrnElseUsed ( IfLevel ) = "True" srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn0If StartsWith ( SourceCodeLine, "End If " ) ThensrclStrnIfLevel = IfLevel - 1 srclStrnIf IfLevel < 0 Then srclStrn IfLevel = 0 srclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrn@Next XMLLineNumber '/ For XMLLineNumber = 0 To UpperBoundXML srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt jMEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jLMethGrup ˆjNnameStrnAddEndIfCommentsCompStrnVsblInt sorcGrup ðjOEncoInt srclStrnSub AddEndIfComments() srclStrn1Dim ElseIfUsed ( 25 ) , ElseUsed ( 25 ) As String srclStrnDim IfLevel As Integer srclStrn0Dim IfLine, IfLines ( 25 ) , WholeLine As StringsrclStrnControlNumber = 0 srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn8GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine )srclStrnSourceCodeLine = WholeLine srclStrnEnd If srclStrn7GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimSource = Trim ( Source )srclStrnElsesrclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn(If StartsWith ( TrimSource, "If " ) ThensrclStrn'If EndsWith ( TrimSource, "Then" ) Then srclStrnIfLevel = IfLevel + 1 srclStrnElseUsed ( IfLevel ) = "False" srclStrn ElseIfUsed ( IfLevel ) = "False"srclStrn-IfLine = LeftB ( Source, Len ( Source ) - 5 ) srclStrnIfLine = MidB ( IfLine, 4 ) srclStrnIfLines ( IfLevel ) = IfLinesrclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn,If StartsWith ( TrimSource, "ElseIf " ) ThensrclStrnElseIfUsed ( IfLevel ) = "True" srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn*If StartsWith ( TrimSource, "Else " ) Then srclStrnElseUsed ( IfLevel ) = "True" srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn+If StartsWith ( TrimSource, "End If" ) Then srclStrn>If InStrB ( Lowercase ( SourceCodeLine ) , " '/ if " ) = 0 _ srclStrn"Then /// if it's not already there srclStrn Source = RTrim ( Source ) + " "srclStrn'If ( ElseUsed ( IfLevel ) = "False" ) _ srclStrn-And ( ElseIfUsed ( IfLevel ) = "False" ) Then srclStrnDComment = "'/ If " + IfLines ( IfLevel ) + " " + LTrim ( Comment )srclStrn*ElseIf ( ElseUsed ( IfLevel ) = "True" ) _ srclStrn-And ( ElseIfUsed ( IfLevel ) = "False" ) Then srclStrn6Comment = "'/ If NOT (" + IfLines ( IfLevel ) + ")" _ srclStrn+ " " + LTrim ( Comment ) srclStrn+ElseIf ElseIfUsed ( IfLevel ) = "True" Then srclStrnAComment = "'/ (Caution: at least one ElseIf in this statement)" srclStrnEnd If srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnIfLevel = IfLevel - 1 srclStrnEnd If srclStrnDoNextLineNumber: srclStrn>Next XMLLineNumber '/ For XMLLineNumber = 0 To UpperBoundXML srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrnXMLEditField.Text = MainBuffer srclStrn WorkFinishedsrclStrnRestoreDetailBooleans srclStrnFinishWithSourcesrclStrnFinishedRoutine = True srclStrnEnd Sub EndGInt jOEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jNMethGrup4jPnameStrnAddExtraSpacesOfAllTypesCompStrnVsblInt sorcGrup”jQEncoInt srclStrnSub AddExtraSpacesOfAllTypes() srclStrnDim I As IntegersrclStrnDim Regex1 As New RegEx srclStrnDim UpperBound2 As Integer srclStrn:///If TaskSelected <> "Add Extra Spaces Of All Types" Then srclStrn ///MainBufferBackup = MainBuffersrclStrn ///End If srclStrnRegex1.Options.Greedy = False srclStrn'Regex1.Options.ReplaceAllMatches = True srclStrn WorkStarted srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnMainBuffer = "" srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrn+Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn*Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn)Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn/Piece = ReplaceAllB ( Piece, "< ", "<" ) srclStrn/Piece = ReplaceAllB ( Piece, "> ", ">" ) srclStrn/Piece = ReplaceAllB ( Piece, " <", "<" ) srclStrn/Piece = ReplaceAllB ( Piece, " >", ">" ) srclStrn)Piece = ReplaceAllB ( Piece, "= ", "=" ) srclStrn)Piece = ReplaceAllB ( Piece, " =", "=" ) srclStrn)Piece = ReplaceAllB ( Piece, "+ ", "+" ) srclStrn)Piece = ReplaceAllB ( Piece, " +", "+" ) srclStrn)Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn)Piece = ReplaceAllB ( Piece, "- ", "-" ) srclStrn)Piece = ReplaceAllB ( Piece, " -", "-" ) srclStrn)Piece = ReplaceAllB ( Piece, "* ", "*" ) srclStrn)Piece = ReplaceAllB ( Piece, " *", "*" ) srclStrn)Piece = ReplaceAllB ( Piece, "/ ", "/" ) srclStrn)Piece = ReplaceAllB ( Piece, " /", "/" ) srclStrn)Piece = ReplaceAllB ( Piece, "^ ", "^" ) srclStrn)Piece = ReplaceAllB ( Piece, " ^", "^" ) srclStrn)Piece = ReplaceAllB ( Piece, "( ", "(" ) srclStrn)Piece = ReplaceAllB ( Piece, " (", "(" ) srclStrn)Piece = ReplaceAllB ( Piece, ") ", ")" ) srclStrn)Piece = ReplaceAllB ( Piece, " )", ")" ) srclStrn)Piece = ReplaceAllB ( Piece, ", ", "," ) srclStrn7Piece = ReplaceAllB ( Piece, "<> ", "<>" ) srclStrn7Piece = ReplaceAllB ( Piece, " <>", "<>" ) srclStrn1Piece = ReplaceAllB ( Piece, "<= ", "<=" ) srclStrn1Piece = ReplaceAllB ( Piece, " <=", "<=" ) srclStrn1Piece = ReplaceAllB ( Piece, ">= ", ">=" ) srclStrn1Piece = ReplaceAllB ( Piece, " >=", ">=" ) srclStrn /// Space + srclStrn Regex1.SearchPattern = "(?! )\+"srclStrn Regex1.ReplacementPattern = " +"srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// + Space srclStrn Regex1.SearchPattern = "\+(?! )"srclStrn Regex1.ReplacementPattern = "+ "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// Space - srclStrn Regex1.SearchPattern = "(?! )\-"srclStrn Regex1.ReplacementPattern = " -"srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// - Space srclStrn Regex1.SearchPattern = "\-(?! )"srclStrn Regex1.ReplacementPattern = "- "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// Space * srclStrnRegex1.SearchPattern = "(?! )/" srclStrn Regex1.ReplacementPattern = " /"srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// * Space srclStrn Regex1.SearchPattern = "\*(?! )"srclStrn Regex1.ReplacementPattern = "* "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// Space / srclStrn Regex1.SearchPattern = "(?! )\*"srclStrn Regex1.ReplacementPattern = " *"srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// / Space srclStrnRegex1.SearchPattern = "/(?! )" srclStrn Regex1.ReplacementPattern = "/ "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// Space ^ srclStrn Regex1.SearchPattern = "(?! )\^"srclStrn Regex1.ReplacementPattern = " ^"srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// ^ Space srclStrn Regex1.SearchPattern = "\^(?! )"srclStrn Regex1.ReplacementPattern = "^ "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// Space = srclStrnRegex1.SearchPattern = "(?! )=" srclStrn Regex1.ReplacementPattern = " ="srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// = Space srclStrnRegex1.SearchPattern = "=(?! )" srclStrn Regex1.ReplacementPattern = "= "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// Space < srclStrn"Regex1.SearchPattern = "(?! )<" srclStrn#Regex1.ReplacementPattern = " <" srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// < Space srclStrn"Regex1.SearchPattern = "<(?! )" srclStrn#Regex1.ReplacementPattern = "< " srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// Space > srclStrn"Regex1.SearchPattern = "(?! )>" srclStrn#Regex1.ReplacementPattern = " >" srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// > Space srclStrn"Regex1.SearchPattern = ">(?! )" srclStrn#Regex1.ReplacementPattern = "> " srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// Space ( srclStrn Regex1.SearchPattern = "(?! )\("srclStrn Regex1.ReplacementPattern = " ("srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// ( Space srclStrn Regex1.SearchPattern = "\((?! )"srclStrn Regex1.ReplacementPattern = "( "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// Space ) srclStrn Regex1.SearchPattern = "(?! )\)"srclStrn Regex1.ReplacementPattern = " )"srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// ) Space srclStrn Regex1.SearchPattern = "\)(?! )"srclStrn Regex1.ReplacementPattern = ") "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// , Space srclStrnRegex1.SearchPattern = ",(?! )" srclStrn Regex1.ReplacementPattern = ", "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn8Piece = ReplaceAllB ( Piece, "< >", "<>" ) srclStrn7Piece = ReplaceAllB ( Piece, "< >", "<>" ) srclStrn2Piece = ReplaceAllB ( Piece, "< =", "<=" ) srclStrn1Piece = ReplaceAllB ( Piece, "< =", "<=" ) srclStrn2Piece = ReplaceAllB ( Piece, "> =", ">=" ) srclStrn1Piece = ReplaceAllB ( Piece, "> =", ">=" ) srclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt jQEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jPMethGruppjRnameStrnAddNextComments CompStrnVsblInt sorcGrupØjSEncoInt srclStrnSub AddNextComments() srclStrn"Dim NextComments ( - 1 ) As String srclStrnDim Pos1 As Integer srclStrn"Dim Throwaway, WholeLine As String srclStrn WorkStarted srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn)SourceCodeLine = Trim ( SourceCodeLine ) srclStrnElse srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn,If StartsWith ( SourceCodeLine, "For" ) ThensrclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn9GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine ) srclStrn$SourceCodeLine = Trim ( WholeLine ) srclStrnEnd If srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn"Source = "'/ " + Trim ( Source ) srclStrnNextComments.Append Source srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn-If StartsWith ( SourceCodeLine, "Next" ) Then srclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn9GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine ) srclStrn$SourceCodeLine = Trim ( WholeLine ) srclStrnEnd If srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrn4GetSourceAndComment ( WholeLine1, Source, Comment ) srclStrnGetCurrentInfoS srclStrnTemp1 = Trim ( Source ) srclStrn$If Left ( Temp1, 9 ) = "Function " _srclStrn"Or Left ( Temp1, 4 ) = "Sub " Then srclStrn Pos1 = InStrB ( Temp1, " " ) + 1srclStrn&Pos2 = InStrB ( Pos1, Temp1, "(" ) - 1 srclStrn+CurrentMethod = Mid1 ( Temp1, Pos1, Pos2 ) srclStrn(Temp2 = FormatForList ( CurrentMethod ) srclStrnEnd If srclStrn,If StartsWith ( Temp1, "End Function" ) Or _srclStrn$StartsWith ( Temp1, "End Sub" ) ThensrclStrn)XMLLine = XMLLInes ( XMLLineNumber - 1 ) srclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn6If Right ( Trim ( SourceCodeLine ) , 3 ) <> " '" Then srclStrnBLine3 = TagBefore + "Exception" + Rpt ( " ", 46 ) + "'" + TagAfter srclStrn=Line4 = TagBefore + "MsgBox " + Q + "An error occurred in " _ srclStrn? + FormatForList ( CurrentMethod ) + "." + Q + " '" + TagAfter srclStrn$XMLLInes.Insert XMLLineNumber, Line4srclStrn$XMLLInes.Insert XMLLineNumber, Line3srclStrn!XMLLineNumber = XMLLineNumber + 4 srclStrn$UpperBoundXML = Ubound ( XMLLines ) srclStrnEnd If srclStrnEnd If srclStrnElse srclStrnGetCurrentInfoX srclStrn(Temp2 = FormatForList ( CurrentMethod ) srclStrnEnd If srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnRestoreDetailBooleans srclStrnDisplaySourceCode srclStrnTabPanel1.Value = SourcePanel srclStrnEnd Sub EndGInt jUEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jTMethGrupLjVnameStrnAddProcedureHeaders1CompStrnVsblInt sorcGrup°jWEncoInt srclStrnSub AddProcedureHeaders1() srclStrn0MainMenuNewNameText.Text = "Name of Programmer:"srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(TaskSelected = "Add Procedure Headers 2"srclStrn5MainMenuBottomPushButton.Caption = "Perform the Task" srclStrn'MainMenuBottomPushButton.Visible = True srclStrn!MainMenuNewNameEditField.SetFocus srclStrnPerformTheTask srclStrnEnd Sub EndGInt jWEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jVMethGrup HjXnameStrnAddProcedureHeaders2CompStrnVsblInt sorcGrup ¬jYEncoInt srclStrnSub AddProcedureHeaders2() srclStrn#Dim CurrentMethodLocation As String srclStrnDim Da As New Date srclStrn(Dim Line2, Line3, Line4, Line5 As StringsrclStrnDim Pos1, Pos2 As Integer srclStrn+Dim SourceCodeLine2, Temp1, Temp2 As String srclStrn.Dim WhiteSpace, WholeLine1, XMLLine2 As String srclStrnDim XMLLineNumber2 As Integer srclStrnSaveDetailBooleans srclStrnLocationDetails = True srclStrnAlphabeticalByLocation = True srclStrnWhiteSpace = Rpt ( " ", 64 )srclStrn WorkStarted srclStrn$XMLLInes = Split ( MainBuffer, EOL )srclStrnNumberOfBlankLines = 3 srclStrnStartProgressBar2 srclStrn ResetCounters srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn9GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrn3GetSourceAndComment ( WholeLine1, Source, Comment ) srclStrnGetCurrentInfoS srclStrnTemp1 = Trim ( Source ) srclStrn%If LeftB ( Temp1, 9 ) = "Function " _ srclStrn#Or LeftB ( Temp1, 4 ) = "Sub " Then srclStrn"XMLLineNumber2 = XMLLineNumber + 1 srclStrn&XMLLine2 = XMLLInes ( XMLLineNumber2 ) srclStrn:SourceCodeLine2 = BetweenTags ( XMLLine2, "" ) srclStrn Temp2 = Trim ( SourceCodeLine2 )srclStrnBIf Left ( Temp2, 4 ) <> "'/ " And Left ( Temp2, 3 ) <> "///" Then srclStrn Pos1 = InStrB ( Temp1, " " ) + 1srclStrn&Pos2 = InStrB ( Pos1, Temp1, "(" ) - 1 srclStrn*CurrentMethod = Mid1 ( Temp1, Pos1, Pos2 ) srclStrn@Line2 = TagBefore + WhiteSpace + "'/ " + "Name of Routine: " _srclStrn+ CurrentMethod + TagAfter srclStrnSCurrentMethodLocation = AllExceptLastItem ( FormatForList ( CurrentMethod ) , " " ) srclStrn9Line3 = TagBefore + WhiteSpace + "'/ " + "Location: " _ srclStrn"+ CurrentMethodLocation + TagAfter srclStrn;Line4 = TagBefore + WhiteSpace + "'/ " + "Programmer: " _ srclStrn+ Programmer + TagAfter srclStrnDLine5 = TagBefore + WhiteSpace + "'/ " + "Date: " + Da.ShortDate _srclStrn + TagAfter srclStrn(XMLLInes.Insert XMLLineNumber + 1, Line5srclStrn(XMLLInes.Insert XMLLineNumber + 1, Line4srclStrn(XMLLInes.Insert XMLLineNumber + 1, Line3srclStrn(XMLLInes.Insert XMLLineNumber + 1, Line2srclStrn!XMLLineNumber = XMLLineNumber + 5 srclStrn#UpperBoundXML = Ubound ( XMLLines ) srclStrnEnd If srclStrnEnd If srclStrnElsesrclStrnGetCurrentInfoX srclStrnEnd If srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnMainMenuNewNameText.Text = "" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn5MainMenuBottomPushButton.Caption = "Perform the Task" srclStrn'MainMenuBottomPushButton.Visible = True srclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnRestoreDetailBooleans srclStrnTabPanel1.SetFocus srclStrn EndModify srclStrnEnd Sub EndGInt jYEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jXMethGrupŒjZnameStrnAddXMLLineNumbersToSource CompStrnVsblInt sorcGrupèj[EncoInt srclStrnSub AddXMLLineNumbersToSource() srclStrnWithXMLLineNumbers = True srclStrnSourceDisplayChanged = True srclStrnDisplaySourceCode srclStrnWithXMLLineNumbers = False srclStrnEnd Sub EndGInt j[EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jZMethGrupTj\nameStrnAddXMLLineNumbersToSourceAndXML CompStrnVsblInt sorcGrup¬j]EncoInt srclStrn%Sub AddXMLLineNumbersToSourceAndXML() srclStrn#If XMLLineNumbersWanted = True Then srclStrnMsgBox "Already done!" srclStrnExit SubsrclStrnEnd If srclStrnAddXMLLineNumbersToSource srclStrnAddXMLLineNumbersToXML srclStrnXMLLineNumbersWanted = True srclStrnTabPanel1.Value = SourcePanel srclStrn*MsgBox "XML Line Numbers have been added." srclStrnEnd Sub EndGInt j]EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j\MethGrup˜j^nameStrnAddXMLLineNumbersToXML CompStrnVsblInt sorcGrupøj_EncoInt srclStrnSub AddXMLLineNumbersToXML()srclStrnDim I As IntegersrclStrn#If XMLLineNumbersWanted = True Then srclStrnExit SubsrclStrnEnd If srclStrn!For I = 0 To Ubound ( XMLLines ) srclStrn2XMLLines ( I ) = Str ( I ) + " " + XMLLines ( I ) srclStrn Next I srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLines, EOL ) srclStrnXMLEditField.Text = MainBuffer srclStrnXMLLineNumbersWanted = True srclStrnEnd Sub EndGInt j_EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j^MethGrup ˆj`nameStrnAdjustMainMenuListBox CompStrnVsblInt sorcGrup èjaEncoInt srclStrnSub AdjustMainMenuListBox() srclStrnTabPanel1.Left = 0 srclStrnTabPanel1.Width = Window1.Width srclStrnTabPanel1.Top = 10 srclStrn&TabPanel1.Height = Window1.Height - 10 srclStrn(MainMenuTopLabel.Left = HorizontalMarginsrclStrn4MainMenuTopLabel.Width = ( TabPanel1.Width/ 2 ) - 10srclStrn MainMenuTopLabel.Top = UsefulTopsrclStrn(MainMenuTopLabel.Height = StandardHeightsrclStrn5MainMenuBottomPushButton.Left = 2 * HorizontalMargin srclStrnMMainMenuBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnTMainMenuBottomPushButton.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn0MainMenuBottomPushButton.Height = StandardHeightsrclStrn0MainMenuNewNameEditField.Left = HorizontalMarginsrclStrnMMainMenuNewNameEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnYMainMenuNewNameEditField.Top = TabPanel1.Height - 2 * ( StandardHeight + SpaceBetween ) srclStrn0MainMenuNewNameEditField.Height = StandardHeightsrclStrn+MainMenuNewNameText.Left = HorizontalMargin srclStrnEMainMenuNewNameText.Width = ( TabPanel1.Width/ 2 ) - HorizontalMargin srclStrnTMainMenuNewNameText.Top = TabPanel1.Height - 3 * ( StandardHeight + SpaceBetween ) srclStrn+MainMenuNewNameText.Height = StandardHeight srclStrn0MainMenuOldNameEditField.Left = HorizontalMarginsrclStrnMMainMenuOldNameEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnYMainMenuOldNameEditField.Top = TabPanel1.Height - 4 * ( StandardHeight + SpaceBetween ) srclStrn0MainMenuOldNameEditField.Height = StandardHeightsrclStrn+MainMenuOldNameText.Left = HorizontalMargin srclStrn7MainMenuOldNameText.Width = ( TabPanel1.Width/ 2 ) - 10 srclStrnTMainMenuOldNameText.Top = TabPanel1.Height - 5 * ( StandardHeight + SpaceBetween ) srclStrn+MainMenuOldNameText.Height = StandardHeight srclStrn5MainMenuBottomPushButton.Left = 2 * HorizontalMargin srclStrnMMainMenuBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnTMainMenuBottomPushButton.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn0MainMenuBottomPushButton.Height = StandardHeightsrclStrnMMainMenuBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrn0MainMenuProgressBar.Left = 2 * HorizontalMarginsrclStrnHMainMenuProgressBar.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnOMainMenuProgressBar.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn+MainMenuProgressBar.Height = StandardHeight srclStrn'MainMenuListBox.Left = HorizontalMargin srclStrn,MainMenuListBox.Width = TabPanel1.Width - 20srclStrnMainMenuListBox.Top = 85srclStrn*If MainMenuOldNameText.Visible = True Then srclStrnUMainMenuListBox.Height = MainMenuOldNameText.Top - SpaceBetween - MainMenuListBox.Top srclStrn.ElseIf MainMenuNewNameText.Visible = True Then srclStrnUMainMenuListBox.Height = MainMenuNewNameText.Top - SpaceBetween - MainMenuListBox.Top srclStrnElse srclStrnZMainMenuListBox.Height = MainMenuBottomPushButton.Top - SpaceBetween - MainMenuListBox.Top srclStrnEnd If srclStrnMainMenuListBox.Refresh srclStrnEnd Sub EndGInt jaEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j`MethGrup $jbnameStrnAdjustResultsListBoxCompStrnVsblInt sorcGrup ˆjcEncoInt srclStrnSub AdjustResultsListBox() srclStrnTabPanel1.Left = 0 srclStrnTabPanel1.Width = Window1.Width srclStrnTabPanel1.Top = 10 srclStrn&TabPanel1.Height = Window1.Height - 10 srclStrn'ResultsTopLabel.Left = HorizontalMargin srclStrn3ResultsTopLabel.Width = ( TabPanel1.Width/ 2 ) - 10 srclStrnResultsTopLabel.Top = UsefulTop srclStrn'ResultsTopLabel.Height = StandardHeight srclStrn4ResultsBottomPushButton.Left = 2 * HorizontalMarginsrclStrnLResultsBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnSResultsBottomPushButton.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn/ResultsBottomPushButton.Height = StandardHeight srclStrn/ResultsNewNameEditField.Left = HorizontalMargin srclStrnLResultsNewNameEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnXResultsNewNameEditField.Top = TabPanel1.Height - 2 * ( StandardHeight + SpaceBetween ) srclStrn/ResultsNewNameEditField.Height = StandardHeight srclStrn*ResultsNewNameText.Left = HorizontalMargin srclStrnDResultsNewNameText.Width = ( TabPanel1.Width/ 2 ) - HorizontalMarginsrclStrnSResultsNewNameText.Top = TabPanel1.Height - 3 * ( StandardHeight + SpaceBetween ) srclStrn*ResultsNewNameText.Height = StandardHeight srclStrn/ResultsOldNameEditField.Left = HorizontalMargin srclStrnLResultsOldNameEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnXResultsOldNameEditField.Top = TabPanel1.Height - 4 * ( StandardHeight + SpaceBetween ) srclStrn/ResultsOldNameEditField.Height = StandardHeight srclStrn*ResultsOldNameText.Left = HorizontalMargin srclStrn6ResultsOldNameText.Width = ( TabPanel1.Width/ 2 ) - 10 srclStrnSResultsOldNameText.Top = TabPanel1.Height - 5 * ( StandardHeight + SpaceBetween ) srclStrn*ResultsOldNameText.Height = StandardHeight srclStrn4ResultsBottomPushButton.Left = 2 * HorizontalMarginsrclStrnLResultsBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnSResultsBottomPushButton.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn/ResultsBottomPushButton.Height = StandardHeight srclStrnKResultsProgressBar.Left = 2 * HorizontalMargin /// ( TabPanel1.Width / 2 ) srclStrnuResultsProgressBar.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) /// ( TabPanel1.Width / 2 ) - HorizontalMargin srclStrnNResultsProgressBar.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn*ResultsProgressBar.Height = StandardHeight srclStrn&ResultsListBox.Left = HorizontalMargin srclStrn+ResultsListBox.Width = TabPanel1.Width - 20 srclStrnResultsListBox.Top = 60 srclStrn)If ResultsOldNameText.Visible = True Then srclStrnTResultsListBox.Height = MainMenuOldNameText.Top - SpaceBetween - MainMenuListBox.TopsrclStrn-ElseIf ResultsNewNameText.Visible = True Then srclStrnTResultsListBox.Height = MainMenuNewNameText.Top - SpaceBetween - MainMenuListBox.TopsrclStrnElse srclStrnYResultsListBox.Height = MainMenuBottomPushButton.Top - SpaceBetween - MainMenuListBox.Top srclStrnEnd If srclStrnEnd Sub EndGInt jcEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jbMethGrupÈjdnameStrnAdjustXMLForEditField CompStrnVsblInt sorcGrup(jeEncoInt srclStrnSub AdjustXMLForEditField() srclStrn#If TargetWin32 srclStrn?XMLDisplayBuffer = ReplaceLineEndings ( XMLDisplayBuffer, CR ) srclStrn#Else srclStrn@XMLDisplayBuffer = ReplaceLineEndings ( XMLDisplayBuffer, EOL ) srclStrn#EndIf srclStrnEnd Sub EndGInt jeEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jdMethGrup¼jfnameStrnAllExceptLastTwoItems CompStrnVsblInt sorcGrupjgEncoInt srclStrn9Function AllExceptLastTwoItems(Line1 As String) As String srclStrn)Line1 = AllExceptLastItem ( Line1, " " ) srclStrn)Line1 = AllExceptLastItem ( Line1, " " ) srclStrnReturn Trim ( Line1 ) srclStrn End FunctionEndGInt jgEncoInt AlasStrnflagInt shrdInt parmStrnLine1 As String rsltStrnString EndGInt jfMethGrup0jhnameStrnAlphabetizeAllMethods CompStrnVsblInt sorcGrupjiEncoInt srclStrnSub AlphabetizeAllMethods() srclStrn.////MsgBox "Starting Alphabetize Alll Methods" srclStrn////MsgBox TaskSelected srclStrnAlphabetizeUserDefinedMethods srclStrnAlphabetizeMenuItemssrclStrnAlphabetizeEventHandlerssrclStrn EndModify srclStrn,////MsgBox "Ending Alphabetize Alll Methods"srclStrn////MsgBox TaskSelected srclStrnEnd Sub EndGInt jiEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jhMethGrupDjjnameStrnAlphabetizeEventHandlersCompStrnVsblInt sorcGrup¤jkEncoInt srclStrnSub AlphabetizeEventHandlers() srclStrn3////MsgBox "Startinging Alphabetize Event Handlers" srclStrn////MsgBox TaskSelected srclStrnDim A, B As String srclStrnDim FirstTime As BooleansrclStrnDim FrontPart As String srclStrn"Dim Holder, I, J, Left3 As Integer srclStrnDim NewBuffer As String srclStrnDim Right3, Right4 As Integer srclStrn"Dim SectionArray ( - 1 ) As String srclStrn!Dim SectionArrayNumber As Integer srclStrnDim Temp1, Temp2 As String srclStrnFirstTime = TruesrclStrn Right3 = 0 srclStrn4MainBuffer = ReplaceLineEndings ( MainBuffer, EOL ) srclStrnNewBuffer = "" srclStrnI = - 1 srclStrn Right4 = 0 srclStrnSectionArrayNumber = 0 srclStrnXMLEditField.Text = "" srclStrnDo srclStrn I = I + 1 srclStrnLeft3 = Right3 + 1 srclStrn9Temp2 = Left ( Trim ( Mid ( MainBuffer, Left3 ) ) , 14 ) srclStrn If Temp2 = "" ThensrclStrnHolder = Right3 srclStrn=Right3 = InStr ( Right3 + 1, MainBuffer, "" ) srclStrnIf Right3 = 0 Then Exit srclStrnRight3 = Right3 + 16srclStrn+Temp1 = Mid1 ( MainBuffer, Left3, Right3 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrnKIf Right ( Temp1, 1 ) = " " Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnSectionArray.Append Temp1 srclStrnElse srclStrnHolder = Right3 srclStrn" ) srclStrnIf Right3 = 0 Then Exit srclStrn.Right3 = RevInStr ( Right3, MainBuffer, EOL ) srclStrn!Right3 = Right3 + Len ( EOL ) - 1 srclStrn+Temp1 = Mid1 ( MainBuffer, Left3, Right3 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrnKIf Right ( Temp1, 1 ) = " " Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnSectionArray.Append Temp1 srclStrnEnd If srclStrnLoopsrclStrnRight3 = Len ( MainBuffer ) srclStrn+Temp1 = Mid1 ( MainBuffer, Left3, Right3 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrnKIf Right ( Temp1, 1 ) = " " Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnSectionArray.Append Temp1 srclStrn( /// Now make them sortablesrclStrnJ = 0 srclStrn1SectionArray ( 0 ) = "0000" + SectionArray ( 0 ) srclStrn(For I = 0 To Ubound ( SectionArray ) - 1srclStrn A = Trim ( SectionArray ( I ) ) srclStrn$B = Trim ( SectionArray ( I + 1 ) ) srclStrn)If Asc ( A ) > 27 And Asc ( A ) < 58 Then srclStrnA = Mid ( A, 5 ) srclStrnEnd If srclStrnA = Left ( Trim ( A ) , 14 ) srclStrnB = Left ( Trim ( B ) , 14 ) srclStrnIf A <> B Then srclStrn J = J + 1 srclStrnEnd If srclStrnFrontPart = Str ( J ) srclStrnIf Len ( FrontPart ) = 1 Then srclStrnFrontPart = "000" + FrontPart srclStrnEnd If srclStrnIf Len ( FrontPart ) = 2 Then srclStrnFrontPart = "00" + FrontPartsrclStrnEnd If srclStrnIf Len ( FrontPart ) = 3 Then srclStrnFrontPart = "0" + FrontPart srclStrnEnd If srclStrn" ) srclStrnIf Right3 = 0 Then Exit srclStrnRight3 = Right3 + 15srclStrn+Temp1 = Mid1 ( MainBuffer, Left3, Right3 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrnKIf Right ( Temp1, 1 ) = " " Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnSectionArray.Append Temp1 srclStrnElse srclStrnHolder = Right3 srclStrn;Right3 = InStr ( Right3 + 1, MainBuffer, "" ) srclStrnIf Right3 = 0 Then Exit srclStrn.Right3 = RevInStr ( Right3, MainBuffer, EOL ) srclStrn!Right3 = Right3 + Len ( EOL ) - 1 srclStrn+Temp1 = Mid1 ( MainBuffer, Left3, Right3 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrnKIf Right ( Temp1, 1 ) = " " Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnSectionArray.Append Temp1 srclStrnEnd If srclStrnLoopsrclStrnRight3 = Len ( MainBuffer ) srclStrn+Temp1 = Mid1 ( MainBuffer, Left3, Right3 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrnKIf Right ( Temp1, 1 ) = " " Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnSectionArray.Append Temp1 srclStrn( /// Now make them sortablesrclStrnJ = 0 srclStrn1SectionArray ( 0 ) = "0000" + SectionArray ( 0 ) srclStrn(For I = 0 To Ubound ( SectionArray ) - 1srclStrn A = Trim ( SectionArray ( I ) ) srclStrn$B = Trim ( SectionArray ( I + 1 ) ) srclStrn)If Asc ( A ) > 27 And Asc ( A ) < 58 Then srclStrnA = Mid ( A, 5 ) srclStrnEnd If srclStrnA = Left ( Trim ( A ) , 14 ) srclStrnB = Left ( Trim ( B ) , 14 ) srclStrnIf A <> B Then srclStrn J = J + 1 srclStrnEnd If srclStrnFrontPart = Str ( J ) srclStrnIf Len ( FrontPart ) = 1 Then srclStrnFrontPart = "000" + FrontPart srclStrnEnd If srclStrnIf Len ( FrontPart ) = 2 Then srclStrnFrontPart = "00" + FrontPartsrclStrnEnd If srclStrnIf Len ( FrontPart ) = 3 Then srclStrnFrontPart = "0" + FrontPart srclStrnEnd If srclStrn" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimSource = Trim ( Source ) srclStrn)If LeftB ( TrimSource , 4 ) = "Dim " Then srclStrn If StartingLineNumber = - 1 ThensrclStrn"StartingLineNumber = XMLLineNumber srclStrnEnd If srclStrnTempDimArray.Append XMLLine srclStrnElse srclStrn!If StartingLineNumber <> - 1 Then srclStrn$EndingLineNumber = XMLLineNumber - 1srclStrnTempDimArray.Sort srclStrnJ = - 1 srclStrn.For I = StartingLineNumber To EndingLineNumber srclStrn J = J + 1 srclStrn$XMLLInes ( I ) = TempDimArray ( J ) srclStrn Next I srclStrnStartingLineNumber = - 1srclStrnReDim TempDimArray ( - 1 ) srclStrnElse srclStrn /// Do nothingsrclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLInes, EOL ) srclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnEnd Sub EndGInt joEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jnMethGrup<jpnameStrnAlphabetizeUserDefinedMethods CompStrnVsblInt sorcGrup”jqEncoInt srclStrn#Sub AlphabetizeUserDefinedMethods() srclStrn6////MsgBox "Starting Alphabetize User-Defined Methods" srclStrn////MsgBox TaskSelected srclStrnDim A, B As String srclStrnDim FirstTime As BooleansrclStrnDim FrontPart As String srclStrn"Dim Holder, I, J, Left3 As Integer srclStrnDim NewBuffer As String srclStrnDim Right3, Right4 As Integer srclStrn"Dim SectionArray ( - 1 ) As String srclStrn!Dim SectionArrayNumber As Integer srclStrnDim Temp1, Temp2 As String srclStrnFirstTime = TruesrclStrn Right3 = 0 srclStrn4MainBuffer = ReplaceLineEndings ( MainBuffer, EOL ) srclStrnNewBuffer = "" srclStrnI = - 1 srclStrn Right4 = 0 srclStrnSectionArrayNumber = 0 srclStrnXMLEditField.Text = "" srclStrnDo srclStrn I = I + 1 srclStrnLeft3 = Right3 + 1 srclStrn8Temp2 = Left ( Trim ( Mid ( MainBuffer, Left3 ) ) , 8 ) srclStrnIf Temp2 = "" Then srclStrnHolder = Right3 srclStrn7Right3 = InStr ( Right3 + 1, MainBuffer, "" ) srclStrnIf Right3 = 0 Then Exit srclStrnRight3 = Right3 + 10srclStrn+Temp1 = Mid1 ( MainBuffer, Left3, Right3 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrnKIf Right ( Temp1, 1 ) = " " Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnSectionArray.Append Temp1 srclStrnElse srclStrnHolder = Right3 srclStrn6Right3 = InStr ( Right3 + 1, MainBuffer, "" ) srclStrnIf Right3 = 0 Then Exit srclStrn.Right3 = RevInStr ( Right3, MainBuffer, EOL ) srclStrn!Right3 = Right3 + Len ( EOL ) - 1 srclStrn+Temp1 = Mid1 ( MainBuffer, Left3, Right3 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrnKIf Right ( Temp1, 1 ) = " " Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnSectionArray.Append Temp1 srclStrnEnd If srclStrnLoopsrclStrnRight3 = Len ( MainBuffer ) srclStrn+Temp1 = Mid1 ( MainBuffer, Left3, Right3 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrn@If Left ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Mid ( Temp1, 2 ) srclStrnKIf Right ( Temp1, 1 ) = " " Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 13 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnRIf Right ( Temp1, 1 ) = Chr ( 10 ) Then Temp1 = Left ( Temp1, Len ( Temp1 ) - 1 ) srclStrnSectionArray.Append Temp1 srclStrn( /// Now make them sortablesrclStrnJ = 0 srclStrn1SectionArray ( 0 ) = "0000" + SectionArray ( 0 ) srclStrn(For I = 0 To Ubound ( SectionArray ) - 1srclStrn A = Trim ( SectionArray ( I ) ) srclStrn$B = Trim ( SectionArray ( I + 1 ) ) srclStrn)If Asc ( A ) > 27 And Asc ( A ) < 58 Then srclStrnA = Mid ( A, 5 ) srclStrnEnd If srclStrnA = Left ( Trim ( A ) , 8 ) srclStrnB = Left ( Trim ( B ) , 8 ) srclStrnIf A <> B Then srclStrn J = J + 1 srclStrnEnd If srclStrnFrontPart = Str ( J ) srclStrnIf Len ( FrontPart ) = 1 Then srclStrnFrontPart = "000" + FrontPart srclStrnEnd If srclStrnIf Len ( FrontPart ) = 2 Then srclStrnFrontPart = "00" + FrontPartsrclStrnEnd If srclStrnIf Len ( FrontPart ) = 3 Then srclStrnFrontPart = "0" + FrontPart srclStrnEnd If srclStrn" ) srclStrnIf Pos1 = 0 Then Return "" srclStrn3Pos2 = RevInStr ( Len ( XMLLine ) , XMLLine, "<" ) srclStrnIf Pos2 = 0 Then Return "" srclStrn3Pos3 = RevInStr ( Len ( XMLLine ) , XMLLine, ">" ) srclStrnIf Pos3 = 0 Then Return "" srclStrn&TagBefore = Mid1 ( XMLLine, 1, Pos1 ) srclStrn(TagAfter = Mid1 ( XMLLine, Pos2, Pos3 ) srclStrn,Return Mid1 ( XMLLine, Pos1 + 1, Pos2 - 1 ) srclStrn End FunctionEndGInt jsEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnString EndGInt jrMethGrupœjtnameStrn BetweenTags CompStrnVsblInt sorcGrupäjuEncoInt srclStrn:Function BetweenTags(A As String, Tag As String) As String srclStrnDim Pos1, Pos2 As Integer srclStrnDim Temp As String srclStrnPos1 = InStrB ( A, Tag ) srclStrn0TagBefore = LeftB ( A, Pos1 + Len ( Tag ) - 1 ) srclStrn,Pos2 = InStrB ( A, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnPos1Changed = False srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrnIf Temp = OldName Then srclStrnReplacementPattern1 = NewName srclStrnLeft1 = LeftB ( Piece, Pos1 ) srclStrnMiddle1 = ReplacementPattern1 srclStrn1Right1 = MidB ( Piece, Pos1 + Len ( Temp ) + 1 ) srclStrn Piece = Left1 + Middle1 + Right1srclStrn.Pos1 = Pos1 + ( Len ( ReplacementPattern1 ) ) srclStrnPos1Changed = True srclStrnEnd If srclStrnIf Pos1Changed = False Then srclStrnPos1 = Pos1 + ( Len ( Temp ) ) srclStrnEnd If srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnElse srclStrnNonSource = BetweenAnyTags srclStrn GetPiecesOfString ( NonSource ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnPos1Changed = False srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrnIf Temp = OldName Then srclStrnReplacementPattern1 = NewName srclStrnLeft1 = LeftB ( Piece, Pos1 ) srclStrnMiddle1 = ReplacementPattern1 srclStrn1Right1 = MidB ( Piece, Pos1 + Len ( Temp ) + 1 ) srclStrn Piece = Left1 + Middle1 + Right1srclStrn.Pos1 = Pos1 + ( Len ( ReplacementPattern1 ) ) srclStrnPos1Changed = True srclStrnEnd If srclStrnIf Pos1Changed = False Then srclStrnPos1 = Pos1 + ( Len ( Temp ) ) srclStrnEnd If srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrn"NonSource = MyJoin ( Pieces, "" ) srclStrn.If Trim ( TagBefore ) = Trim ( TagAfter ) Then srclStrn TagAfter = "" srclStrnEnd If srclStrn#TrimTagBefore = Trim ( TagBefore ) srclStrn:If TrimTagBefore <> "" And TrimTagBefore <> "" _ srclStrn%And TrimTagBefore <> "" _ srclStrn%And TrimTagBefore <> "" Then srclStrn*XMLLine = TagBefore + NonSource + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnTabPanel1.Value = MainMenuPanel srclStrnEnd Sub EndGInt j{EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jzMethGrup¤j|nameStrn ChangeWord CompStrnVsblInt sorcGrupj}EncoInt srclStrnSub ChangeWord()srclStrnDim I As IntegersrclStrn'Dim Left1, Middle1, NonSource As String srclStrnDim OldXMLLine As StringsrclStrnDim Pos1 As Integer srclStrnDim Pos1Changed As Boolean srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrn/Dim ReplacementPattern1, Right1, Temp As String srclStrnDim TrimTagBefore As String srclStrnDim UpperBound2 As Integer srclStrn// KindOfList = "Names" srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrn WorkStarted srclStrn4/// OldName = Trim ( ResultsOldNameEditField.Text )srclStrn4/// NewName = Trim ( ResultsNewNameEditField.Text )srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrnOldXMLLine = XMLLinesrclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnPos1Changed = False srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrnIf Temp = OldName Then srclStrnReplacementPattern1 = NewName srclStrnLeft1 = LeftB ( Piece, Pos1 ) srclStrnMiddle1 = ReplacementPattern1 srclStrn1Right1 = MidB ( Piece, Pos1 + Len ( Temp ) + 1 ) srclStrn Piece = Left1 + Middle1 + Right1srclStrn.Pos1 = Pos1 + ( Len ( ReplacementPattern1 ) ) srclStrnPos1Changed = True srclStrnEnd If srclStrnIf Pos1Changed = False Then srclStrnPos1 = Pos1 + ( Len ( Temp ) ) srclStrnEnd If srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnElsesrclStrnNonSource = BetweenAnyTags srclStrn GetPiecesOfString ( NonSource ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnPos1Changed = False srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrnIf Temp = OldName Then srclStrnReplacementPattern1 = NewName srclStrnLeft1 = LeftB ( Piece, Pos1 ) srclStrnMiddle1 = ReplacementPattern1 srclStrn1Right1 = MidB ( Piece, Pos1 + Len ( Temp ) + 1 ) srclStrn Piece = Left1 + Middle1 + Right1srclStrn.Pos1 = Pos1 + ( Len ( ReplacementPattern1 ) ) srclStrnPos1Changed = True srclStrnEnd If srclStrnIf Pos1Changed = False Then srclStrnPos1 = Pos1 + ( Len ( Temp ) ) srclStrnEnd If srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrn"NonSource = MyJoin ( Pieces, "" ) srclStrn.If Trim ( TagBefore ) = Trim ( TagAfter ) Then srclStrn TagAfter = "" srclStrnEnd If srclStrn#TrimTagBefore = Trim ( TagBefore ) srclStrn:If TrimTagBefore <> "" And TrimTagBefore <> "" _ srclStrn%And TrimTagBefore <> "" _ srclStrn%And TrimTagBefore <> "" Then srclStrn*XMLLine = TagBefore + NonSource + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnTabPanel1.Value = MainMenuPanel srclStrnEnd Sub EndGInt j}EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j|MethGrupXj~nameStrnCheckForXMLArrayCompStrnVsblInt sorcGrupÀjEncoInt srclStrnSub CheckForXMLArray() srclStrn!If Ubound ( XMLLInes ) = - 1 Then srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnEnd If srclStrnEnd Sub EndGInt jEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j~MethGrupˆj€nameStrnCheckForXMLFile CompStrnVsblInt sorcGrupðjEncoInt srclStrnSub CheckForXMLFile() srclStrnIf MainBuffer = "" Then srclStrn,MsgBox "You have to open an XML file first."srclStrnOpenXML srclStrnElse srclStrnExitsrclStrnEnd If srclStrnEnd Sub EndGInt jEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j€MethGrupdj‚nameStrn+CheckNestedForNextLoopsForDuplicateCounters CompStrnVsblInt sorcGrup°jƒEncoInt srclStrn1Sub CheckNestedForNextLoopsForDuplicateCounters() srclStrnDim Counters ( - 1 ) As String srclStrn Dim ForLevel, I, Pos1 As IntegersrclStrn%Dim Temp, TempArray ( - 1 ) As String srclStrnDim UpperBound2 As Integer srclStrnDim WholeLine As String srclStrnResultsListBox.DeleteAllRowssrclStrn WorkStarted srclStrnReDim Duplicates ( - 1 ) srclStrn6KindOfList = "Duplicates For Nested For/Next Counters" srclStrn ForLevel = 0srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn)SourceCodeLine = Trim ( SourceCodeLine ) srclStrnIf SourceCodeLine = "" Then srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrnElse srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn,If LeftB ( SourceCodeLine, 4 ) = "For " ThensrclStrnForLevel = ForLevel + 1 srclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn9GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine ) srclStrn$SourceCodeLine = Trim ( WholeLine ) srclStrnEnd If srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimSource = Trim ( Source ) srclStrn(Temp = LTrim ( MidB ( TrimSource, 5 ) ) srclStrnPos1 = InStrB ( Temp, " " ) srclStrn Temp = LeftB ( Temp, Pos1 - 1 ) srclStrn=Temp = CurrentMethod + ": " + Temp + " " + Str ( ForLevel ) srclStrnCounters.Append TempsrclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn,If LeftB ( SourceCodeLine, 4 ) = "Sub " ThensrclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn9GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine ) srclStrn$SourceCodeLine = Trim ( WholeLine ) srclStrnEnd If srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimSource = Trim ( Source ) srclStrn(Temp = LTrim ( MidB ( TrimSource, 5 ) ) srclStrnPos1 = InStrB ( Temp, "(" ) srclStrn Temp = LeftB ( Temp, Pos1 - 1 ) srclStrnCurrentMethod = TempsrclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn1If LeftB ( SourceCodeLine, 9 ) = "Function " Then srclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn9GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine ) srclStrn$SourceCodeLine = Trim ( WholeLine ) srclStrnEnd If srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimSource = Trim ( Source ) srclStrn)Temp = LTrim ( MidB ( TrimSource, 10 ) ) srclStrnPos1 = InStrB ( Temp, "(" ) srclStrn Temp = LeftB ( Temp, Pos1 - 1 ) srclStrnCurrentMethod = TempsrclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn-If StartsWith ( SourceCodeLine, "Next" ) Then srclStrnForLevel = ForLevel - 1 srclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn9GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine ) srclStrn$SourceCodeLine = Trim ( WholeLine ) srclStrnEnd If srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnIf ForLevel = 0 ThensrclStrn"UpperBound2 = Ubound ( Counters ) srclStrnIf UpperBound2 > 0 Then srclStrn Counters.Sort srclStrnReDim TempArray ( - 1 ) srclStrn!For I = 0 To Ubound ( Counters ) srclStrn TempArray.Append Counters ( I ) srclStrn Next I srclStrnTempArray.Sort srclStrn#UpperBound2 = Ubound ( TempArray ) srclStrnFor I = UpperBound2 DownTo 1srclStrn-If TempArray ( I ) = TempArray ( I - 1 ) Then srclStrnTempArray.Remove I srclStrnEnd If srclStrn Next I srclStrnReDim Counters ( - 1 ) srclStrn#UpperBound2 = Ubound ( TempArray ) srclStrnFor I = 1 To UpperBound2srclStrn2If AllExceptLastItem ( TempArray ( I ) , " " ) = _ srclStrn1AllExceptLastItem ( TempArray ( I - 1 ) , " " ) _ srclStrnUAnd LastItem ( TempArray ( I ) , " " ) <> LastItem ( TempArray ( I - 1 ) , " " ) Then srclStrn$Counters.Append TempArray ( I - 1 ) srclStrn Counters.Append TempArray ( I ) srclStrnEnd If srclStrn Next I srclStrn Counters.Sort srclStrn"UpperBound2 = Ubound ( Counters ) srclStrnFor I = UpperBound2 DownTo 1srclStrn+If Counters ( I ) = Counters ( I - 1 ) Then srclStrnCounters.Remove I srclStrnEnd If srclStrn Next I srclStrnResultsListBox.DeleteAllRowssrclStrn=ResultsListBox.AddRow "Duplicates for Nested For/Next Loops:" srclStrnResultsListBox.AddRow ""srclStrn!For I = 0 To Ubound ( Counters ) srclStrn%ResultsListBox.AddRow Counters ( I ) srclStrn Next I srclStrn"If Ubound ( Counters ) <> - 1 Then srclStrnResultsListBox.AddRow ""srclStrnEnd If srclStrnResultsListBox.Refresh srclStrnEnd If srclStrn!ResultsListBox.ScrollPosition = 0 srclStrnReDim Counters ( - 1 ) srclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrn'ResultsNewNameEditField.Visible = False srclStrn"ResultsOldNameText.Visible = False srclStrn'ResultsOldNameEditField.Visible = False srclStrn"ResultsNewNameText.Visible = False srclStrn'ResultsNewNameEditField.Visible = False srclStrn6KindOfList = "Duplicates For Nested For/Next Counters" srclStrn7TextHolder = "Duplicates For Nested For/Next Counters:" srclStrnKindOfList = "Main Menu"srclStrnAdjustResultsListBoxsrclStrn!If Ubound ( Counters ) = - 1 Then srclStrn%ResultsListBox.AddRow "(None found.)" srclStrnEnd If srclStrn WorkFinished3 srclStrnPrepareFileMenu srclStrnRestoreDetailBooleans srclStrnKindOfList = "Main Menu"srclStrn"TaskSelected = "Back to Main Menu" srclStrn5ResultsBottomPushButton.Caption = "Back to Main Menu" srclStrnTabPanel1.Value = ResultsPanel srclStrnEnd Sub EndGInt jƒEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j‚MethGrup¸j„nameStrn(CheckVariablesAndPropertiesForDuplicatesCompStrnVsblInt sorcGrupj…EncoInt srclStrn.Sub CheckVariablesAndPropertiesForDuplicates() srclStrnDim I, J, Pos2, Pos3 As Integer srclStrn$Dim BeginningPart, EndPart As StringsrclStrnDim Pairs As IntegersrclStrn&ReDim VariablesPlusProperties ( - 1 ) srclStrn SetForDetails srclStrn StartDisplaysrclStrn GetVariablessrclStrn SetForDetails srclStrnGetPropertiesFull srclStrnProperties.Remove 0 srclStrnProperties.Remove 0 srclStrn //MsgBox "Please be patient...."srclStrnProperties.Sort srclStrnVariables.Sort srclStrn"For I = 0 To Ubound ( Variables ) srclStrn#For J = 0 To Ubound ( Properties ) srclStrnFIf FirstWord ( Variables ( I ) ) = FirstWord ( Properties ( J ) ) Then srclStrn(Pos2 = InStr ( Properties ( J ) , " " ) srclStrn)Pos3 = InStr ( Properties ( J ) , " (" ) srclStrn5BeginningPart = Left ( Properties ( J ) , Pos2 - 1 ) srclStrn*EndPart = Mid ( Properties ( J ) , Pos3 ) srclStrnEVariablesPlusProperties.Append "Property: " + BeginningPart + EndPart srclStrn>VariablesPlusProperties.Append "Variable: " + Variables ( I ) srclStrn"VariablesPlusProperties.Append "" srclStrnPairs = Pairs + 1 srclStrnEnd If srclStrn Next J srclStrn Next I srclStrnResultsListBox.DeleteAllRowssrclStrnMResultsListBox.AddRow Str ( Pairs ) + " Pairs of Properties and Variables " _ srclStrn + "with the Same Name:"srclStrnResultsListBox.AddRow ""srclStrn0For I = 0 To Ubound ( VariablesPlusProperties ) srclStrn4ResultsListBox.AddRow VariablesPlusProperties ( I ) srclStrn Next I srclStrn FinishDisplay srclStrn!ResultsListBox.ScrollPosition = 0 srclStrnResultsListBox.Refresh srclStrnTabPanel1.Value = ResultsPanel srclStrnEnd Sub EndGInt j…EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j„MethGruppj†nameStrn ClearFields CompStrnVsblInt sorcGrupÜj‡EncoInt srclStrnSub ClearFields() srclStrn"MainMenuOldNameEditField.Text = "" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn,MainMenuNewNameEditField.Text = TaskSelectedsrclStrnEnd Sub EndGInt j‡EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j†MethGrupœjˆnameStrn*CombineAdjacentDImStatementsDifferentKinds CompStrnVsblInt sorcGrupèj‰EncoInt srclStrn0Sub CombineAdjacentDImStatementsDifferentKinds()srclStrnPutDimStatementsOnSeparateLines srclStrnAlphabetizeSeparatedDimssrclStrn Dim EndingLineNumber1 As IntegersrclStrn#Dim EndingLineNumber2, J As Integer srclStrnDim Regex1 As New RegEx srclStrn'Dim Source1, Source2, Source3 As String srclStrn.Dim SourceCodeLine1, SourceCodeLine2 As String srclStrn"Dim StartingLineNumber1 As Integer srclStrn"Dim StartingLineNumber2 As Integer srclStrn.Dim WholeLine1, WholeLine2, XMLLine1 As String srclStrnDim XMLLine2 As String srclStrn WorkStarted srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrnPutDimStatementsOnSeparateLines srclStrnAlphabetizeSeparatedDimssrclStrnReDim Variables ( - 1 ) srclStrn0For XMLLineNumber = 0 To Ubound ( XMLLInes ) - 1srclStrn&XMLLine1 = XMLLInes ( XMLLineNumber ) srclStrn!If IsSourceLine ( XMLLine1 ) Then srclStrn;SourceCodeLine1 = BetweenTags ( XMLLine1, "" ) srclStrn#StartingLineNumber1 = XMLLineNumber srclStrnDGetWholeLine ( StartingLineNumber1, EndingLineNumber1, WholeLine1 ) srclStrnSourceCodeLine1 = WholeLine1srclStrn9If LeftB ( LTrim ( SourceCodeLine1 ) , 4 ) <> "Dim " Then srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn:GetSourceAndComment ( SourceCodeLine1, Source1, Comment ) srclStrn*XMLLine2 = XMLLInes ( XMLLineNumber + 1 ) srclStrn!If IsSourceLine ( XMLLine2 ) Then srclStrn;SourceCodeLine2 = BetweenTags ( XMLLine2, "" ) srclStrn'StartingLineNumber2 = XMLLineNumber + 1 srclStrnDGetWholeLine ( StartingLineNumber2, EndingLineNumber2, WholeLine2 ) srclStrnSourceCodeLine2 = WholeLine2srclStrn9If LeftB ( LTrim ( SourceCodeLine2 ) , 4 ) <> "Dim " Then srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn:GetSourceAndComment ( SourceCodeLine2, Source2, Comment ) srclStrnEnd If srclStrn+If NextToLastItem ( Source1, " " ) = "As" _ srclStrn,And NextToLastItem ( Source2, " " ) = "As" _srclStrn>And LastItem ( Source1, " " ) = LastItem ( Source2, " " ) Then srclStrn-Source3 = AllExceptLastTwoItems ( Source1 ) _ srclStrn. + ", " + AllExceptFirstItem ( Source2, " " ) srclStrnIf Len ( Source3 ) < 50 ThensrclStrn"SourceCodeLine = Source3 + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn*XMLLInes ( StartingLineNumber1 ) = XMLLine srclStrn4For J = StartingLineNumber1 + 1 To EndingLineNumber2srclStrn'XMLLInes.Remove StartingLineNumber1 + 1 srclStrn Next J srclStrn'XMLLineNumber = StartingLineNumber1 - 1 srclStrnEnd If srclStrnEnd If srclStrn+If NextToLastItem ( Source1, " " ) = "As" _ srclStrn,And NextToLastItem ( Source2, " " ) = "As" _srclStrn?And LastItem ( Source1, " " ) <> LastItem ( Source2, " " ) Then srclStrn?Source3 = Source1 + ", " + AllExceptFirstItem ( Source2, " " ) srclStrnIf Len ( Source3 ) < 50 ThensrclStrn"SourceCodeLine = Source3 + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn*XMLLInes ( StartingLineNumber1 ) = XMLLine srclStrn4For J = StartingLineNumber1 + 1 To EndingLineNumber2srclStrn'XMLLInes.Remove StartingLineNumber1 + 1 srclStrn Next J srclStrn'XMLLineNumber = StartingLineNumber1 - 1 srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLInes, EOL ) srclStrn(TextHolder = "Select a Task to Perform:"srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnEnd Sub EndGInt j‰EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jˆMethGrup  jŠnameStrn$CombineAdjacentDImStatementsSameKindCompStrnVsblInt sorcGrup ôj‹EncoInt srclStrn*Sub CombineAdjacentDImStatementsSameKind() srclStrnPutDimStatementsOnSeparateLines srclStrnAlphabetizeSeparatedDimssrclStrn Dim EndingLineNumber1 As IntegersrclStrn#Dim EndingLineNumber2, J As Integer srclStrnDim Regex1 As New RegEx srclStrn'Dim Source1, Source2, Source3 As String srclStrn.Dim SourceCodeLine1, SourceCodeLine2 As String srclStrn"Dim StartingLineNumber1 As Integer srclStrn"Dim StartingLineNumber2 As Integer srclStrn.Dim WholeLine1, WholeLine2, XMLLine1 As String srclStrnDim XMLLine2 As String srclStrn WorkStarted srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrnPutDimStatementsOnSeparateLines srclStrnAlphabetizeSeparatedDimssrclStrnReDim Variables ( - 1 ) srclStrn0For XMLLineNumber = 0 To Ubound ( XMLLInes ) - 1srclStrn&XMLLine1 = XMLLInes ( XMLLineNumber ) srclStrn!If IsSourceLine ( XMLLine1 ) Then srclStrn;SourceCodeLine1 = BetweenTags ( XMLLine1, "" ) srclStrn#StartingLineNumber1 = XMLLineNumber srclStrnDGetWholeLine ( StartingLineNumber1, EndingLineNumber1, WholeLine1 ) srclStrnSourceCodeLine1 = WholeLine1srclStrn9If LeftB ( LTrim ( SourceCodeLine1 ) , 4 ) <> "Dim " Then srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn:GetSourceAndComment ( SourceCodeLine1, Source1, Comment ) srclStrn*XMLLine2 = XMLLInes ( XMLLineNumber + 1 ) srclStrn!If IsSourceLine ( XMLLine2 ) Then srclStrn;SourceCodeLine2 = BetweenTags ( XMLLine2, "" ) srclStrn'StartingLineNumber2 = XMLLineNumber + 1 srclStrnDGetWholeLine ( StartingLineNumber2, EndingLineNumber2, WholeLine2 ) srclStrnSourceCodeLine2 = WholeLine2srclStrn9If LeftB ( LTrim ( SourceCodeLine2 ) , 4 ) <> "Dim " Then srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn:GetSourceAndComment ( SourceCodeLine2, Source2, Comment ) srclStrnEnd If srclStrn+If NextToLastItem ( Source1, " " ) = "As" _ srclStrn,And NextToLastItem ( Source2, " " ) = "As" _srclStrn>And LastItem ( Source1, " " ) = LastItem ( Source2, " " ) Then srclStrn-Source3 = AllExceptLastTwoItems ( Source1 ) _ srclStrn. + ", " + AllExceptFirstItem ( Source2, " " ) srclStrnIf Len ( Source3 ) < 50 ThensrclStrn"SourceCodeLine = Source3 + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn*XMLLInes ( StartingLineNumber1 ) = XMLLine srclStrn4For J = StartingLineNumber1 + 1 To EndingLineNumber2srclStrn'XMLLInes.Remove StartingLineNumber1 + 1 srclStrn Next J srclStrn'XMLLineNumber = StartingLineNumber1 - 1 srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnEnd Sub EndGInt j‹EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jŠMethGrup jŒnameStrnCombinePartialLines CompStrnVsblInt sorcGruppjEncoInt srclStrnSub CombinePartialLines() srclStrn"Dim EndingLineNumber, I As Integer srclStrn!Dim StartingLineNumber As Integer srclStrnDim WholeLine As String srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn-For XMLLineNumber = 0 To Ubound ( XMLLInes ) srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn*SourceCodeLine = RTrim ( SourceCodeLine ) srclStrn*If RIghtB ( SourceCodeLine, 1 ) = "_" Then srclStrn"StartingLineNumber = XMLLineNumber srclStrnAGetWholeLine ( StartingLineNumber, EndingLineNumber, WholeLine ) srclStrnSourceCodeLine = WholeLine srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn)XMLLInes ( StartingLineNumber ) = XMLLine srclStrn2For I = StartingLineNumber + 1 To EndingLineNumber srclStrn&XMLLInes.Remove StartingLineNumber + 1 srclStrn Next I srclStrnEnd If srclStrnEnd If srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt jEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jŒMethGrup¨jŽnameStrnCommentOutMsgBoxStatements CompStrnVsblInt sorcGrupjEncoInt srclStrn Sub CommentOutMsgBoxStatements()srclStrn WorkStarted srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrnElse srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn1If LeftB ( Trim ( Source ) , 7 ) = "MsgBox " Then srclStrnSource = "' " + Source srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt jEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jŽMethGrupjnameStrnCommentOutSourceCompStrnVsblInt sorcGrupxj‘EncoInt srclStrnSub CommentOutSource() srclStrnControlNumber = - 1 srclStrn WorkStarted srclStrnAddMsgBox = False srclStrnStartOfIndent = "' " srclStrnIndentLevel = 0 srclStrnMakeDisplaySource = False srclStrn DoIndentCOS srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnmnuOpenXML.Visible = True srclStrnmnuQuit.Visible = True srclStrnmnuPrintResults.Visible = True srclStrnmnuSaveXML.Visible = True srclStrnmnuSaveResults.Visible = True srclStrn EndModify srclStrnEnd Sub EndGInt j‘EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jMethGrupÈj’nameStrnCommentOutSourceAddMsgBox CompStrnVsblInt sorcGrup$j“EncoInt srclStrnSub CommentOutSourceAddMsgBox() srclStrnControlNumber = - 1 srclStrn WorkStarted srclStrnAddMsgBox = TruesrclStrnStartOfIndent = "' " srclStrnIndentLevel = 0 srclStrnMakeDisplaySource = False srclStrn DoIndentCOS srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnmnuOpenXML.Visible = True srclStrnmnuQuit.Visible = True srclStrnmnuSaveXML.Visible = True srclStrn EndModify srclStrnEnd Sub EndGInt j“EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j’MethGrupüj”nameStrn ConformAll CompStrnVsblInt sorcGruphj•EncoInt srclStrnSub ConformAll()srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnMsgBox "Click on OK (1 of 8)" srclStrnConformConstantssrclStrnMsgBox "Click on OK (2 of 8)" srclStrnConformControls srclStrnMsgBox "Click on OK (3 of 8)" srclStrnConformLineLabels srclStrnMsgBox "Click on OK (4 of 8)" srclStrnConformMethods srclStrnMsgBox "Click on OK (5 of 8)" srclStrnConformModules srclStrnMsgBox "Click on OK (6 of 8)" srclStrnConformProperties srclStrnMsgBox "Click on OK (7 of 8)" srclStrnConformVariablessrclStrnMsgBox "Click on OK (8 of 8)" srclStrnConformBasicKeywordssrclStrn'MainMenuBottomPushButton.Visible = True srclStrn( ' mnuEdit.Text = "" /// mnsrclStrnEnd Sub EndGInt j•EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j”MethGrupWj–nameStrnConformBasicKeywordsCompStrnVsblInt sorcGrupVxj—EncoInt srclStrnSub ConformBasicKeywords() srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnDim I, Pos1 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrnDim Temp As String srclStrnDim UpperBound2 As Integer srclStrn6/// If Left ( TaskSelected, 11 ) <> "Conform All" Then srclStrn!/// MainBufferBackup = MainBuffer srclStrn /// End If srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnIf Regexmatch1 <> Nil Then srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrnSelect Case TempsrclStrn Case "abs" srclStrnRegExReplace "Abs" srclStrnCase "absolutepath" srclStrnRegExReplace "AbsolutePath" srclStrnCase "acceleratorkey" srclStrnRegExReplace "AcceleratorKey" srclStrnCase "acceptfiledrop" srclStrnRegExReplace "AcceptFileDrop" srclStrnCase "acceptpicturedrop"srclStrn RegExReplace "AcceptPictureDrop"srclStrnCase "accepttextdrop" srclStrnRegExReplace "AcceptTextDrop" srclStrn Case "action" srclStrnRegExReplace "Action" srclStrnCase "actionbuttoncaption" srclStrn"RegExReplace "ActionButtonCaption" srclStrnCase "activate" srclStrnRegExReplace "Activate" srclStrnCase "addfolder"srclStrnRegExReplace "AddFolder"srclStrnCase "addressbook" srclStrnRegExReplace "AddressBook" srclStrnCase "addressof"srclStrnRegExReplace "AddressOf"srclStrn Case "addrow" srclStrnRegExReplace "AddRow" srclStrn Case "and" srclStrnRegExReplace "And" srclStrn Case "app" srclStrnRegExReplace "App" srclStrn Case "append" srclStrnRegExReplace "Append" srclStrnCase "appquitting" srclStrnRegExReplace "appQuitting" srclStrnCase "arrowcursor" srclStrnRegExReplace "ArrowCursor" srclStrn Case "as" srclStrnRegExReplace "As" srclStrn Case "asc" srclStrnRegExReplace "Asc" srclStrn Case "ascb" srclStrnRegExReplace "AscB" srclStrnCase "asynccommandkey" srclStrnRegExReplace "AsyncCommandKey" srclStrnCase "asyncKeyDown" srclStrnRegExReplace "AsyncKeyDown" srclStrnCase "backdrop" srclStrnRegExReplace "Backdrop" srclStrn Case "beep" srclStrnRegExReplace "Beep" srclStrn Case "bin" srclStrnRegExReplace "Bin" srclStrn Case "blue" srclStrnRegExReplace "Blue" srclStrn Case "bold" srclStrnRegExReplace "Bold" srclStrnCase "boolean" srclStrnRegExReplace "Boolean" srclStrn Case "byref"srclStrnRegExReplace "ByRef"srclStrn Case "byval"srclStrnRegExReplace "ByVal"srclStrn Case "call" srclStrnRegExReplace "Call" srclStrnCase "cancelclose" srclStrnRegExReplace "CancelClose" srclStrnCase "caption" srclStrnRegExReplace "Caption" srclStrn Case "case" srclStrnRegExReplace "Case" srclStrn Case "cell" srclStrnRegExReplace "Cell" srclStrnCase "cellaction" srclStrnRegExReplace "CellAction" srclStrnCase "cellbackgroundpaint" srclStrn"RegExReplace "CellBackgroundPaint" srclStrnCase "cellbold" srclStrnRegExReplace "CellBold" srclStrnCase "cellclick"srclStrnRegExReplace "CellClickt" srclStrnCase "cellkeydown" srclStrnRegExReplace "CellKeyDown" srclStrnCase "cellgotfocus" srclStrnRegExReplace "CellGotFocus" srclStrnCase "celllostfocusn" srclStrnRegExReplace "CellLostFocus"srclStrnCase "celltextchange" srclStrnRegExReplace "CellTextChange" srclStrnCase "celltextpaint"srclStrnRegExReplace "CellTextPaint"srclStrn Case "change" srclStrnRegExReplace "Change" srclStrn Case "child"srclStrnRegExReplace "Child"srclStrnCase "checked" srclStrnRegExReplace "Checked" srclStrn Case "chr" srclStrnRegExReplace "Chr" srclStrn Case "chrb" srclStrnRegExReplace "ChrB" srclStrnCase "clearrect"srclStrnRegExReplace "ClearRect"srclStrn Case "close"srclStrnRegExReplace "Close"srclStrnCase "collapserow" srclStrnRegExReplace "CollapseRow" srclStrn Case "color"srclStrnRegExReplace "Color"srclStrn Case "column" srclStrnRegExReplace "Column" srclStrnCase "columncount" srclStrnRegExReplace "ColumnCount" srclStrnCase "columnwidths" srclStrnRegExReplace "ColumnWidths" srclStrnCase "comparerows" srclStrnRegExReplace "CompareRows" srclStrnCase "copyfileto" srclStrnRegExReplace "CopyFileTo" srclStrn Case "count"srclStrnRegExReplace "Count"srclStrnCase "countfields" srclStrnRegExReplace "CountFields" srclStrnCase "createtextfile" srclStrnRegExReplace "CreateTextFile" srclStrnCase "creationdate" srclStrnRegExReplace "CreationDate" srclStrnCase "deactivate" srclStrnRegExReplace "Deactivate" srclStrnCase "deleteallrows"srclStrnRegExReplace "DeleteAllRows"srclStrnCase "dictionary" srclStrnRegExReplace "Dictionary" srclStrnCase "destructor" srclStrnRegExReplace "Destructor" srclStrn Case "dim" srclStrnRegExReplace "Dim" srclStrnCase "directory"srclStrnRegExReplace "Directory"srclStrnCase "displayname" srclStrnRegExReplace "DisplayName" srclStrn Case "do" srclStrnRegExReplace "Do" srclStrn Case "double" srclStrnRegExReplace "Double" srclStrnCase "doubleclick" srclStrnRegExReplace "DoubleClick" srclStrn Case "downto" srclStrnRegExReplace "DownTo" srclStrn Case "drag" srclStrnRegExReplace "Drag" srclStrnCase "dragitem" srclStrnRegExReplace "DragItem" srclStrnCase "dragobject" srclStrnRegExReplace "DragObject" srclStrnCase "dragreorderrows" srclStrnRegExReplace "DragReorderRows" srclStrnCase "dragrow" srclStrnRegExReplace "DragRow" srclStrnCase "drawline" srclStrnRegExReplace "DrawLine" srclStrnCase "drawpicture" srclStrnRegExReplace "DrawPicture" srclStrnCase "drawrect" srclStrnRegExReplace "DrawRect" srclStrnCase "drawstring" srclStrnRegExReplace "DrawString" srclStrnCase "dropobject" srclStrnRegExReplace "DropObject" srclStrn Case "else" srclStrnRegExReplace "Else" srclStrn Case "elseif" srclStrnRegExReplace "ElseIf" srclStrn Case "enable" srclStrnRegExReplace "Enable" srclStrnCase "enabled" srclStrnRegExReplace "Enabled" srclStrnCase "enablemenuitems" srclStrnRegExReplace "EnableMenuItems" srclStrn Case "end" srclStrnRegExReplace "End" srclStrn Case "endif"srclStrnRegExReplace "EndIf"srclStrnCase "endofline"srclStrnRegExReplace "EndOfLine"srclStrn Case "eof" srclStrnRegExReplace "EOF" srclStrnCase "exception"srclStrnRegExReplace "Exception"srclStrn Case "exists" srclStrnRegExReplace "Exists" srclStrn Case "exit" srclStrnRegExReplace "Exit" srclStrnCase "expanded" srclStrnRegExReplace "Expanded" srclStrnCase "expandrow"srclStrnRegExReplace "ExpandRow"srclStrn Case "false"srclStrnRegExReplace "False"srclStrnCase "fillcolor"srclStrnRegExReplace "FillColor"srclStrnCase "fillrect" srclStrnRegExReplace "FillRect" srclStrn Case "floor"srclStrnRegExReplace "Floor"srclStrnCase "folderitem" srclStrnRegExReplace "FolderItem" srclStrnCase "folderitemavailable" srclStrn"RegExReplace "FolderItemAvailable" srclStrn Case "font" srclStrnRegExReplace "Font" srclStrnCase "fontcount"srclStrnRegExReplace "FontCount"srclStrn Case "for" srclStrnRegExReplace "For" srclStrnCase "forecolor"srclStrnRegExReplace "ForeColor"srclStrnCase "function" srclStrnRegExReplace "Function" srclStrnCase "g"srclStrnRegExReplace "g"srclStrnCase "getfolderitem"srclStrnRegExReplace "GetFolderItem"srclStrnCase "getopenfolderitem"srclStrn RegExReplace "GetOpenFolderItem"srclStrnCase "getsavefolderitem"srclStrn RegExReplace "GetSaveFolderItem"srclStrnCase "gotfocus" srclStrnRegExReplace "GotFocus" srclStrn Case "goto" srclStrnRegExReplace "GoTo" srclStrn Case "greedy" srclStrnRegExReplace "Greedy" srclStrnCase "graphics" srclStrnRegExReplace "Graphics" srclStrn Case "green"srclStrnRegExReplace "Green"srclStrn Case "gt" srclStrnRegExReplace "gt" srclStrnCase "headerpressed"srclStrnRegExReplace "HeaderPressed"srclStrn Case "height" srclStrnRegExReplace "Height" srclStrn Case "hex" srclStrnRegExReplace "Hex" srclStrn Case "index"srclStrnRegExReplace "Index"srclStrn Case "if" srclStrnRegExReplace "If" srclStrn Case "image"srclStrnRegExReplace "Image"srclStrnCase "inrange" srclStrnRegExReplace "InRange" srclStrn Case "insert" srclStrnRegExReplace "Insert" srclStrn Case "instr"srclStrnRegExReplace "InStr"srclStrn Case "instrb" srclStrnRegExReplace "InStrB" srclStrnCase "Integer" srclStrnRegExReplace "Integer" srclStrn Case "italic" srclStrnRegExReplace "Italic" srclStrn Case "item" srclStrnRegExReplace "Item" srclStrn Case "join" srclStrnRegExReplace "Join" srclStrn Case "key" srclStrnRegExReplace "Key" srclStrnCase "keyboard" srclStrnRegExReplace "Keyboard" srclStrnCase "keydown" srclStrnRegExReplace "KeyDown" srclStrnCase "lastindex"srclStrnRegExReplace "LastIndex"srclStrn Case "left" srclStrnRegExReplace "Left" srclStrn Case "leftb"srclStrnRegExReplace "LeftB"srclStrn Case "len" srclStrnRegExReplace "Len" srclStrn Case "lenb" srclStrnRegExReplace "LenB" srclStrnCase "linenumatcharpos" srclStrnRegExReplace "LineNumAtCharPos" srclStrn Case "list" srclStrnRegExReplace "List" srclStrnCase "listcount"srclStrnRegExReplace "ListCount"srclStrnCase "listindex"srclStrnRegExReplace "ListIndex"srclStrn Case "ltrim"srclStrnRegExReplace "LTrim"srclStrn Case "loop" srclStrnRegExReplace "Loop" srclStrnCase "lostfocus"srclStrnRegExReplace "LostFocus"srclStrnCase "lowercase"srclStrnRegExReplace "Lowercase"srclStrn Case "lt" srclStrnRegExReplace "lt" srclStrnCase "maccreator" srclStrnRegExReplace "MacCreator" srclStrnCase "mactype" srclStrnRegExReplace "MacType" srclStrn Case "map" srclStrnRegExReplace "Map" srclStrn Case "max" srclStrnRegExReplace "Max" srclStrnCase "maximize" srclStrnRegExReplace "Maximize" srclStrnCase "maximum" srclStrnRegExReplace "Maximum" srclStrn Case "me" srclStrnRegExReplace "Me" srclStrnCase "memoryblock" srclStrnRegExReplace "MemoryBlock" srclStrnCase "microseconds" srclStrnRegExReplace "Microseconds" srclStrn Case "mid" srclStrnRegExReplace "Mid" srclStrn Case "midb" srclStrnRegExReplace "MidB" srclStrn Case "min" srclStrnRegExReplace "Min" srclStrnCase "minimize" srclStrnRegExReplace "Minimize" srclStrnCase "minimum" srclStrnRegExReplace "Minimum" srclStrn Case "mod" srclStrnRegExReplace "Mod" srclStrn Case "mode" srclStrnRegExReplace "Mode" srclStrnCase "modificationdate" srclStrnRegExReplace "ModificationDate" srclStrnCase "mousecursor" srclStrnRegExReplace "MouseCursor" srclStrnCase "mousedown"srclStrnRegExReplace "MouseDown"srclStrnCase "mousedrag"srclStrnRegExReplace "MouseDrag"srclStrnCase "mouseenter" srclStrnRegExReplace "MouseEnter" srclStrnCase "mouseexit"srclStrnRegExReplace "MouseExit"srclStrnCase "mousemove"srclStrnRegExReplace "MouseMove"srclStrnCase "mouseup" srclStrnRegExReplace "MouseUp" srclStrn Case "moved"srclStrnRegExReplace "Moved"srclStrn Case "msgbox" srclStrnRegExReplace "MsgBox" srclStrn Case "name" srclStrnRegExReplace "Name" srclStrnCase "namedict" srclStrnRegExReplace "NameDict" srclStrn Case "new" srclStrnRegExReplace "New" srclStrnCase "newdragitem" srclStrnRegExReplace "NewDragItem" srclStrnCase "newmemoryblock" srclStrnRegExReplace "NewMemoryBlock" srclStrnCase "newpicture" srclStrnRegExReplace "NewPicture" srclStrnCase "newposition" srclStrnRegExReplace "NewPosition" srclStrn Case "next" srclStrnRegExReplace "Next" srclStrnCase "nextpage" srclStrnRegExReplace "NextPage" srclStrn Case "nil" srclStrnRegExReplace "Nil" srclStrn Case "not" srclStrnRegExReplace "Not" srclStrnCase "nthfield" srclStrnRegExReplace "NthField" srclStrn Case "obj" srclStrnRegExReplace "Obj" srclStrn Case "open" srclStrnRegExReplace "Open" srclStrnCase "openaspicture"srclStrnRegExReplace "OpenAsPicture"srclStrnCase "openastextfile" srclStrnRegExReplace "OpenAsTextFile" srclStrnCase "openprinter" srclStrnRegExReplace "OpenPrinter" srclStrnCase "openprinterdialog"srclStrn RegExReplace "OpenPrinterDialog"srclStrnCase "options" srclStrnRegExReplace "Options" srclStrn Case "or" srclStrnRegExReplace "Or" srclStrnCase "pageleft" srclStrnRegExReplace "PageLeft" srclStrnCase "pagetop" srclStrnRegExReplace "PageTop" srclStrn Case "paint"srclStrnRegExReplace "Paint"srclStrn Case "parent" srclStrnRegExReplace "Parent" srclStrn Case "period" srclStrnRegExReplace "Period" srclStrn Case "pic" srclStrnRegExReplace "Pic" srclStrnCase "picture" srclStrnRegExReplace "Picture" srclStrnCase "pictureavailable" srclStrnRegExReplace "PictureAvailable" srclStrnCase "picturefolder"srclStrnRegExReplace "PictureFolder"srclStrn Case "pixel"srclStrnRegExReplace "Pixel"srclStrn Case "pop" srclStrnRegExReplace "Pop" srclStrn Case "post" srclStrnRegExReplace "Post" srclStrnCase "preferencesfolder"srclStrn RegExReplace "PreferencesFolder"srclStrn Case "quit" srclStrnRegExReplace "Quit" srclStrn Case "random" srclStrnRegExReplace "Random" srclStrnCase "readall" srclStrnRegExReplace "ReadAll" srclStrnCase "readline" srclStrnRegExReplace "ReadLine" srclStrnCase "readonly" srclStrnRegExReplace "ReadOnly" srclStrn Case "red" srclStrnRegExReplace "Red" srclStrn Case "redim"srclStrnRegExReplace "ReDim"srclStrnCase "refresh" srclStrnRegExReplace "Refresh" srclStrnCase "refreshrect" srclStrnRegExReplace "RefreshRect" srclStrn Case "regex"srclStrnRegExReplace "RegEx"srclStrnCase "regexmatch" srclStrnRegExReplace "RegExMatch" srclStrnCase "removerow"srclStrnRegExReplace "RemoveRow"srclStrn Case "remove" srclStrnRegExReplace "Remove" srclStrnCase "replace" srclStrnRegExReplace "Replace" srclStrnCase "replaceb" srclStrnRegExReplace "ReplaceB" srclStrnCase "replaceall" srclStrnRegExReplace "ReplaceAll" srclStrnCase "replaceallb" srclStrnRegExReplace "ReplaceAllB" srclStrnCase "replaceallmathes" srclStrn RegExReplace "ReplaceAllMatches"srclStrnCase "replacelineendings" srclStrn!RegExReplace "ReplaceLineEndings" srclStrnCase "replacementpattern" srclStrn!RegExReplace "ReplacementPattern" srclStrnCase "resized" srclStrnRegExReplace "Resized" srclStrnCase "resizing" srclStrnRegExReplace "Resizing" srclStrnCase "restore" srclStrnRegExReplace "Restore" srclStrn Case "result" srclStrnRegExReplace "Result" srclStrn Case "return" srclStrnRegExReplace "Return" srclStrn Case "rgb" srclStrnRegExReplace "RGB" srclStrn Case "right"srclStrnRegExReplace "Right"srclStrn Case "rIghtb" srclStrnRegExReplace "RIghtB" srclStrn Case "rnd" srclStrnRegExReplace "Rnd" srclStrn Case "row" srclStrnRegExReplace "Row" srclStrn Case "row1" srclStrnRegExReplace "Row1" srclStrn Case "row2" srclStrnRegExReplace "Row2" srclStrn Case "rtrim"srclStrnRegExReplace "RTrim"srclStrnCase "scrollposition" srclStrnRegExReplace "ScrollPosition" srclStrn Case "search" srclStrnRegExReplace "Search" srclStrnCase "searchpattern"srclStrnRegExReplace "SearchPattern"srclStrnCase "selbold" srclStrnRegExReplace "SelBold" srclStrnCase "selchange"srclStrnRegExReplace "SelChange"srclStrn Case "select" srclStrnRegExReplace "Select" srclStrnCase "selectcolor" srclStrnRegExReplace "SelectColor" srclStrn Case "self" srclStrnRegExReplace "Self" srclStrnCase "selectedfolderitem" srclStrn!RegExReplace "SelectedFolderItem" srclStrnCase "selitalic"srclStrnRegExReplace "SelItalic"srclStrnCase "sellength"srclStrnRegExReplace "SelLength"srclStrnCase "selstart" srclStrnRegExReplace "SelStart" srclStrnCase "selunderline" srclStrnRegExReplace "SelUnderline" srclStrn Case "send" srclStrnRegExReplace "Send" srclStrnCase "setfocus" srclStrnRegExReplace "SetFocus" srclStrnCase "setformdata" srclStrnRegExReplace "SetFormData" srclStrnCase "setrequestheader" srclStrnRegExReplace "SetRequestHeader" srclStrnCase "shortdate"srclStrnRegExReplace "ShortDate"srclStrn Case "show" srclStrnRegExReplace "Show" srclStrnCase "showmodal"srclStrnRegExReplace "ShowModal"srclStrnCase "showurl" srclStrnRegExReplace "ShowURL" srclStrn Case "single" srclStrnRegExReplace "Single" srclStrn Case "sort" srclStrnRegExReplace "Sort" srclStrnCase "sortcolumn" srclStrnRegExReplace "SortColumn" srclStrn Case "split"srclStrnRegExReplace "Split"srclStrn Case "sqrt" srclStrnRegExReplace "Sqrt" srclStrn Case "state"srclStrnRegExReplace "State"srclStrn Case "step" srclStrnRegExReplace "Step" srclStrn Case "str" srclStrnRegExReplace "Str" srclStrn Case "string" srclStrnRegExReplace "String" srclStrn Case "sub" srclStrnRegExReplace "Sub" srclStrnCase "subexpressionstartb" srclStrn"RegExReplace "SubexpressionStartB" srclStrnCase "subexpressionstring" srclStrn"RegExReplace "SubexpressionString" srclStrn Case "tan" srclStrnRegExReplace "Tan" srclStrnCase "targetwin32" srclStrnRegExReplace "TargetWin32" srclStrn Case "text" srclStrnRegExReplace "Text" srclStrnCase "textalign"srclStrnRegExReplace "TextAlign"srclStrnCase "textascent" srclStrnRegExReplace "TextAscent" srclStrnCase "textavailable"srclStrnRegExReplace "TextAvailable"srclStrnCase "textchange" srclStrnRegExReplace "TextChange" srclStrnCase "textchanged" srclStrnRegExReplace "TextChanged" srclStrnCase "textcolor"srclStrnRegExReplace "TextColor"srclStrnCase "textfont" srclStrnRegExReplace "TextFont" srclStrnCase "textheight" srclStrnRegExReplace "TextHeight" srclStrnCase "textinputstream" srclStrnRegExReplace "TextInputStream" srclStrnCase "textoutputstream" srclStrnRegExReplace "TextOutputStream" srclStrnCase "textSize" srclStrnRegExReplace "TextSize" srclStrn Case "then" srclStrnRegExReplace "Then" srclStrn Case "to" srclStrnRegExReplace "To" srclStrn Case "top" srclStrnRegExReplace "Top" srclStrn Case "trim" srclStrnRegExReplace "Trim" srclStrn Case "true" srclStrnRegExReplace "True" srclStrn Case "ubound" srclStrnRegExReplace "Ubound" srclStrnCase "underline"srclStrnRegExReplace "Underline"srclStrn Case "until"srclStrnRegExReplace "Until"srclStrnCase "uppercase"srclStrnRegExReplace "Uppercase"srclStrn Case "val" srclStrnRegExReplace "Val" srclStrnCase "validationerror" srclStrnRegExReplace "ValidationError" srclStrn Case "value"srclStrnRegExReplace "Value"srclStrnCase "valuechanged" srclStrnRegExReplace "ValueChanged" srclStrnCase "visible" srclStrnRegExReplace "Visible" srclStrnCase "watchcursor" srclStrnRegExReplace "WatchCursor" srclStrn Case "wend" srclStrnRegExReplace "Wend" srclStrn Case "while"srclStrnRegExReplace "While"srclStrn Case "width"srclStrnRegExReplace "Width"srclStrn Case "window" srclStrnRegExReplace "Window" srclStrnCase "windowcount" srclStrnRegExReplace "WindowCount" srclStrn Case "write"srclStrnRegExReplace "Write"srclStrnCase "writeline"srclStrnRegExReplace "WriteLine"srclStrnCase "x"srclStrnRegExReplace "X"srclStrn Case "xor" srclStrnRegExReplace "Xor" srclStrnCase "y"srclStrnRegExReplace "Y"srclStrn End Select srclStrn "Conform All" Then srclStrn ///MainBufferBackup = MainBuffersrclStrn ///End If srclStrnControlNumber = 0 srclStrnSaveDetailBooleans srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrn WorkStarted srclStrn GetConstantssrclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn#UpperBound3 = Ubound ( Constants ) srclStrnFor J = 0 To UpperBound3srclStrnIf Temp = Constants ( J ) Then srclStrnRegExReplace Constants ( J ) srclStrnExitsrclStrnEnd If srclStrn Next J srclStrnPos1 = Pos1 + Len ( Temp ) srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt j™EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j˜MethGrup jšnameStrnConformControls CompStrnVsblInt sorcGrupˆj›EncoInt srclStrnSub ConformControls() srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnDim I, J, Pos1 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrnDim Temp As String srclStrn'Dim UpperBound2, UpperBound3 As Integer srclStrn5///If Left ( TaskSelected, 11 ) <> "Conform All" Then srclStrn ///MainBufferBackup = MainBuffersrclStrn ///End If srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrnSaveDetailBooleans srclStrn WorkStarted srclStrnReDim ControlsOrdered ( - 1 ) srclStrnReDim Controls ( - 1 ) srclStrnControlNumber = 0 srclStrn GetControls srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn"UpperBound3 = Ubound ( Controls ) srclStrnFor J = 0 To UpperBound3srclStrnIf Temp = Controls ( J ) Then srclStrnRegExReplace Controls ( J ) srclStrnExitsrclStrnEnd If srclStrn Next J srclStrnPos1 = Pos1 + Len ( Temp ) srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt j›EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jšMethGrupØjœnameStrnConformLineLabels CompStrnVsblInt sorcGrup<jEncoInt srclStrnSub ConformLineLabels() srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnDim I, J, Pos1 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrnDim Temp As String srclStrn'Dim UpperBound2, UpperBound3 As Integer srclStrn5///If Left ( TaskSelected, 11 ) <> "Conform All" Then srclStrn ///MainBufferBackup = MainBuffersrclStrn ///End If srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrnSaveDetailBooleans srclStrn WorkStarted srclStrn GetLineLabels srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn$UpperBound3 = Ubound ( LineLabels ) srclStrnFor J = 0 To UpperBound3srclStrnIf Temp = LineLabels ( J ) Then srclStrnRegExReplace LineLabels ( J ) srclStrnExitsrclStrnEnd If srclStrn&Next J '/ For J = 0 To UpperBound3 srclStrnPos1 = Pos1 + Len ( Temp ) srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt jEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jœMethGrup¨jžnameStrnConformMethods CompStrnVsblInt sorcGrupjŸEncoInt srclStrnSub ConformMethods()srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnDim I, J, Pos1 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrnDim Temp As String srclStrn'Dim UpperBound2, UpperBound3 As Integer srclStrn5///If Left ( TaskSelected, 11 ) <> "Conform All" Then srclStrn ///MainBufferBackup = MainBuffersrclStrn ///End If srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrnSaveDetailBooleans srclStrn WorkStarted srclStrn GetMethods srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn!UpperBound3 = Ubound ( Methods ) srclStrnFor J = 0 To UpperBound3srclStrnIf Temp = Methods ( J ) ThensrclStrnRegExReplace Methods ( J ) srclStrnExitsrclStrnEnd If srclStrn Next J srclStrnPos1 = Pos1 + Len ( Temp ) srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt jŸEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jžMethGrup¨j nameStrnConformModules CompStrnVsblInt sorcGrupj¡EncoInt srclStrnSub ConformModules()srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnDim I, J, Pos1 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrnDim Temp As String srclStrn'Dim UpperBound2, UpperBound3 As Integer srclStrn5///If Left ( TaskSelected, 11 ) <> "Conform All" Then srclStrn ///MainBufferBackup = MainBuffersrclStrn ///End If srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrnSaveDetailBooleans srclStrn WorkStarted srclStrn GetModules srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn!UpperBound3 = Ubound ( Modules ) srclStrnFor J = 0 To UpperBound3srclStrnIf Temp = Modules ( J ) ThensrclStrnRegExReplace Modules ( J ) srclStrnExitsrclStrnEnd If srclStrn Next J srclStrnPos1 = Pos1 + Len ( Temp ) srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt j¡EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j MethGrup Øj¢nameStrnConformProperties CompStrnVsblInt sorcGrup <j£EncoInt srclStrnSub ConformProperties() srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnDim I, J, Pos1, Pos2 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrnDim Temp As String srclStrn'Dim UpperBound2, UpperBound3 As Integer srclStrn5///If Left ( TaskSelected, 11 ) <> "Conform All" Then srclStrn ///MainBufferBackup = MainBuffersrclStrn ///End If srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrnSaveDetailBooleans srclStrn WorkStarted srclStrn GetProperties srclStrn$UpperBound2 = Ubound ( Properties ) srclStrnFor I = 0 To UpperBound2srclStrn(Pos2 = InStr ( Properties ( I ) , "(" ) srclStrnIf Pos2 <> 0 Then srclStrn8Properties ( I ) = Left ( Properties ( I ) , Pos1 - 1 ) srclStrnEnd If srclStrn Next I srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn$UpperBound3 = Ubound ( Properties ) srclStrnFor J = 0 To UpperBound3srclStrnIf Temp = Properties ( J ) Then srclStrnRegExReplace Properties ( J ) srclStrnExitsrclStrnEnd If srclStrn Next J srclStrnPos1 = Pos1 + Len ( Temp ) srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt j£EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j¢MethGrup¬j¤nameStrnConformVariablesCompStrnVsblInt sorcGrupj¥EncoInt srclStrnSub ConformVariables() srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnDim I, J, Pos1 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrnDim Temp As String srclStrn'Dim UpperBound2, UpperBound3 As Integer srclStrn2If Left ( TaskSelected, 11 ) <> "Conform All" Then srclStrnMainBufferBackup = MainBuffer srclStrnEnd If srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrnSaveDetailBooleans srclStrn WorkStarted srclStrn GetVariablessrclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn#UpperBound3 = Ubound ( Variables ) srclStrnFor J = 0 To UpperBound3srclStrnIf Temp = Variables ( J ) Then srclStrnRegExReplace Variables ( J ) srclStrnExitsrclStrnEnd If srclStrn Next J srclStrnPos1 = Pos1 + Len ( Temp ) srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt j¥EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j¤MethGrup8j¦nameStrnContinueProgressBar2CompStrnVsblInt sorcGrupœj§EncoInt srclStrnSub ContinueProgressBar2() srclStrn9If XMLLineNumber/ 100 = Floor ( XMLLineNumber/ 100 ) Then srclStrn)MainMenuProgressBar.Value = XMLLineNumber srclStrnMainMenuProgressBar.Refresh srclStrnEnd If srclStrn+If UBound (XMLLines ) <= XMLLineNumber Then srclStrnExit SubsrclStrnEnd If srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrnEnd Sub EndGInt j§EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j¦MethGrupj¨nameStrn ConvertHex CompStrnVsblInt sorcGruplj©EncoInt srclStrn*Function ConvertHex(A As String) As String srclStrn# If WantXMLLineNumbers = True Then srclStrn& RemoveXMLLineNumbersFromSourceAndXML srclStrn End IfsrclStrn Dim I, J As Integer srclStrn* Dim Temp1, Temp2, Temp3, Temp4 As String srclStrn Temp4 = ""srclStrn For I = 1 To Len ( A ) Step 2 srclStrn Temp1 = Mid ( A, I, 2 ) srclStrn Temp2 = "&h" + Temp1 srclStrn J = Val ( Temp2 ) srclStrn Temp3 = Chr ( J ) srclStrn Temp4 = Temp4 + Temp3 srclStrn Next I srclStrn Return Temp4 srclStrn srclStrn End FunctionEndGInt j©EncoInt AlasStrnflagInt shrdInt parmStrn A As String rsltStrnString EndGInt j¨MethGrup„jªnameStrn CutOffRight CompStrnVsblInt sorcGrupÌj«EncoInt srclStrn9Function CutOffRight(A As String, B As Integer) As String srclStrnDim C As String srclStrnC = LeftB ( A, Len ( A ) - B ) srclStrnReturn CsrclStrn End FunctionEndGInt j«EncoInt AlasStrnflagInt shrdInt parmStrnA As String, B As Integer rsltStrnString EndGInt jªMethGruptj¬nameStrnDebug1 CompStrnVsblInt sorcGrupäj­EncoInt srclStrn Sub Debug1()srclStrnsrclStrnmnuOpenXML.Visible = True srclStrnmnuSeparator1.Visible = TruesrclStrnmnuPrintResults.Visible = True srclStrnmnuSaveResults.Visible = True srclStrnmnuSeparator2.Visible =True srclStrnmnuQuit.Visible = True srclStrnsrclStrnsrclStrnmnuSaveSource.Visible = False srclStrnmnuSaveXML.Visible = False srclStrnmnuPrintXML.Visible = False srclStrnmnuPrintSource.Visible = False srclStrnsrclStrnsrclStrn'mnuOpenXML.Visible = False srclStrn'mnuSeparator1.Visible = False srclStrn 'mnuPrintResults.Visible = FalsesrclStrn'mnuSaveResults.Visible = False srclStrn'mnuSaveSource.Visible = False srclStrn'mnuSaveXML.Visible = False srclStrn'mnuPrintSource.Visible = False srclStrn'mnuPrintXML.Visible = FalsesrclStrn'mnuSeparator2.Visible = False srclStrn'mnuQuit.Visible = FalsesrclStrn' srclStrnsrclStrnsrclStrnsrclStrn''Dim TrimComment, WholeLine1 As String srclStrn'StartProgressBar2 srclStrn.'For XMLLineNumber = 0 To UBound ( XMLLines ) srclStrn'ContinueProgressBar2 srclStrn%'XMLLine = XMLLInes ( XMLLineNumber ) srclStrn!'If IsSourceLine ( XMLLine ) Then srclStrn9'SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8'GetSourceAndComment ( SourceCodeLine, Source, Comment )srclStrn'TrimSource = Trim ( Source ) srclStrn'TrimComment = Trim ( Comment ) srclStrnN'XMLLines (XMLLineNumber ) = "" + TrimSource + " " + TrimComment _ srclStrn'+ "" srclStrn'End If srclStrn'Next XMLLineNumber srclStrn'EndProgressBar2srclStrn'MainBufferBackup = MainBuffer srclStrn'MainBuffer = Join ( XMLLines ) srclStrn'XMLEditField.Text = MainBuffer srclStrn''mnuEditXML.Checked = True srclStrn''XMLEditField.ReadOnly = False srclStrn!''XMLEditField.ScrollPosition = 0 srclStrn''TabPanel1.Value = XMLPanelsrclStrn-''OriginalXMLSize = Len ( XMLEditField.Text ) srclStrn0''XMLEditField.LimitText = OriginalXMLSize + 100srclStrn''SearchXMLForControl srclStrn''SearchXMLForControl srclStrn''GetNextControl = True srclStrn''Exit srclStrn''XMLEditField.SetFocus srclStrn''Dim Regex1 As New RegEx srclStrn''Dim Regexmatch1 As RegExMatch srclStrn#''Dim SearchString1, Temp As String srclStrn2''SearchString1 = Trim ( XMLSearchEditField.Text ) srclStrn?''SearchString1 = "" srclStrn)''XMLSearchEditField.Text = SearchString1 srclStrn9''If XMLEditField.SelStart <> LastSearchPosition - 2 Then srclStrn0''LastSearchPosition = XMLEditField.SelStart + 1srclStrn''End IfsrclStrn"''If XMLCheckBox.Value = True Then srclStrn&''Regex1.SearchPattern = SearchString1 srclStrn''Regex1.Options.Greedy = False srclStrn=''Regex1.SearchPattern = "(? Nil ThensrclStrn<''LastSearchPosition = Regexmatch1.SubexpressionStartB ( 0 )srclStrn.''Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn,''XMLEditField.SelStart = LastSearchPositionsrclStrn0''XMLEditField.SelLength = Len ( SearchString1 )srclStrn[''XMLEditField.ScrollPosition = XMLEditField.LineNumAtCharPos ( XMLEditField.SelStart ) - 3 srclStrn-''LastSearchPosition = LastSearchPosition + 2 srclStrn''Else srclStrn''LastSearchPosition = 0srclStrnK''Regexmatch1 = Regex1.Search ( XMLEditField.Text, LastSearchPosition - 1 ) srclStrn''If Regexmatch1 <> Nil ThensrclStrn7''MsgBox "Starting again at the beginning of the file." srclStrn<''LastSearchPosition = Regexmatch1.SubexpressionStartB ( 0 )srclStrn.''Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn,''XMLEditField.SelStart = LastSearchPositionsrclStrn0''XMLEditField.SelLength = Len ( SearchString1 )srclStrn[''XMLEditField.ScrollPosition = XMLEditField.LineNumAtCharPos ( XMLEditField.SelStart ) - 3 srclStrn-''LastSearchPosition = LastSearchPosition + 2 srclStrn''Else srclStrnK''MsgBox "The whole word " + Q + SearchString1 + Q + " could not be found." srclStrn''End IfsrclStrn''End IfsrclStrn''XMLTopGoButton.SetFocus srclStrn''Else srclStrnG''LastSearchPosition = InStr ( LastSearchPosition, XMLEditField.Text, _ srclStrn''SearchString1 ) srclStrn!''If LastSearchPosition <> 0 Then srclStrn0''XMLEditField.SelStart = LastSearchPosition - 1srclStrn0''XMLEditField.SelLength = Len ( SearchString1 )srclStrn[''XMLEditField.ScrollPosition = XMLEditField.LineNumAtCharPos ( XMLEditField.SelStart ) - 3 srclStrn-''LastSearchPosition = LastSearchPosition + 1 srclStrn''Else srclStrnU''LastSearchPosition = InStr ( LastSearchPosition, XMLEditField.Text, SearchString1 ) srclStrn!''If LastSearchPosition <> 0 Then srclStrn7''MsgBox "Starting again at the beginning of the file." srclStrn0''XMLEditField.SelStart = LastSearchPosition - 1srclStrn0''XMLEditField.SelLength = Len ( SearchString1 )srclStrn[''XMLEditField.ScrollPosition = XMLEditField.LineNumAtCharPos ( XMLEditField.SelStart ) - 3 srclStrn-''LastSearchPosition = LastSearchPosition + 1 srclStrn''Else srclStrnE''MsgBox "The Text " + Q + SearchString1 + Q + " could not be found." srclStrn''End IfsrclStrn''End IfsrclStrn''XMLTopGoButton.SetFocus srclStrn''End IfsrclStrn''XMLEditField.SetFocus srclStrn(''//MsgBox Str ( XMLEditField.SelStart )srclStrn4''XMLEditField.SelStart = XMLEditField.SelStart + 15srclStrn''XMLEditField.SelLength = 1srclStrn''//MsgBox XMLEditField.SelText srclStrn''GetNextControl = True srclStrnEnd Sub EndGInt j­EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j¬MethGrup¼j®nameStrnDebug2 CompStrnVsblInt sorcGrup,j¯EncoInt srclStrn Sub Debug2()srclStrnsrclStrnmnuOpenXML.Visible = True srclStrnmnuSeparator1.Visible = TruesrclStrnmnuPrintSource.Visible = True srclStrnmnuSaveSource.Visible = TruesrclStrnmnuSeparator2.Visible =True srclStrnmnuQuit.Visible = True srclStrnsrclStrnsrclStrnsrclStrnmnuSaveXML.Visible = False srclStrnmnuPrintResults.Visible = False srclStrnmnuPrintXML.Visible = False srclStrnmnuSaveResults.Visible = False srclStrnsrclStrnsrclStrnsrclStrnsrclStrnsrclStrn'#If DebugBuild ThensrclStrnR'MsgBox NthField( NthField( App.ExecutableFile.Name , ".exe" , 1 ) , "Debug" , 2 ) srclStrn'#Else srclStrn8'MsgBox NthField( App.ExecutableFile.Name , ".exe" , 1 )srclStrn'#EndIf srclStrnEnd Sub EndGInt j¯EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j®MethGrupdj°nameStrnDebug3 CompStrnVsblInt sorcGrup Ôj±EncoInt srclStrn Sub Debug3()srclStrnmnuOpenXML.Visible = True srclStrnmnuSeparator1.Visible = TruesrclStrnmnuPrintXML.Visible = True srclStrnmnuSaveXML.Visible = True srclStrnmnuSeparator2.Visible =True srclStrnmnuQuit.Visible = True srclStrnsrclStrnsrclStrnsrclStrnmnuPrintResults.Visible = False srclStrnmnuPrintSource.Visible = False srclStrnmnuSaveResults.Visible = False srclStrnmnuSaveSource.Visible = False srclStrnsrclStrnsrclStrnsrclStrnsrclStrnsrclStrnsrclStrnsrclStrn7'Dim Char1, Char2, Char3, Char4, Char5, Char6 As String srclStrn'Dim J As Integer srclStrn'Dim MakeChange As Boolean srclStrn.'Dim FirstPart, MiddlePart, LastPart As String srclStrn"'If WantXMLLineNumbers = True Then srclStrn%'RemoveXMLLineNumbersFromSourceAndXML srclStrn'End If srclStrn'Dim I As Integer srclStrn'Dim Regex1 As New RegExsrclStrn'Dim UpperBound2 As Integer srclStrn3'If Left ( TaskSelected, 11 ) <> "Conform All" Then srclStrn'MainBufferBackup = MainBuffer srclStrn'End If srclStrn/'Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrn 'WorkStartedsrclStrn'StartProgressBar2 srclStrn,'For XMLLineNumber = 0 To UBound (XMLLines )srclStrn'ContinueProgressBar2 srclStrn$'XMLLine = XMLLines (XMLLineNumber )srclStrn9'SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8'GetSourceAndComment ( SourceCodeLine, Source, Comment )srclStrn'GetPiecesOfString ( Source ) srclStrn 'UpperBound2 = Ubound ( Pieces )srclStrn 'For I = 0 To UpperBound2 Step 2srclStrn'Piece = Pieces ( I ) srclStrn'MakeChange = False srclStrn'For J = 1 To Len ( Piece ) - 5 srclStrn'Char1 = Mid ( Piece, J, 1) srclStrn'Char2 = Mid ( Piece, J + 1, 1) srclStrn'Char3 = Mid ( Piece, J + 2, 1) srclStrn'Char4 = Mid ( Piece, J + 3, 1) srclStrn'Char5 = Mid ( Piece, J + 4, 1) srclStrn#'If Asc ( Char1 ) = Asc ("&") And _ srclStrn 'Asc ( Char2 ) = Asc ("a") And _srclStrn 'Asc ( Char3 ) = Asc ("m") And _srclStrn 'Asc ( Char4 ) = Asc ("p") And _srclStrn 'Asc ( Char5 ) = Asc (";") Then srclStrn'MakeChange = True srclStrn'End If srclStrn 'Char6 = Mid ( Piece, J + 5, 1 )srclStrn*'If ( Char6 >= "0" And Char6 <= "9" ) Or _ srclStrn''( Char6 >= "A" And Char6 <= "Z" ) Or _ srclStrn''( Char6 >= "a" And Char6 <= "z" ) Then srclStrn!'FirstPart = Left ( Piece, J + 4) srclStrn'If MakeChange Then srclStrn3'MiddlePart = UpperCase ( Mid ( Piece, J + 5, 1 ) ) srclStrn'Else srclStrn%'MiddlePart = Mid ( Piece, J + 5, 1 ) srclStrn'End If srclStrn'LastPart = Mid (Piece, J + 6 ) srclStrn*'Piece = FirstPart + MiddlePart + LastPart srclStrn'Else srclStrn'MakeChange = False srclStrn'End If srclStrn 'Next J srclStrn'Pieces ( I ) = Piece srclStrn 'Next I srclStrn'Source = MyJoin ( Pieces, "" ) srclStrn"'SourceCodeLine = Source + Comment srclStrn0'XMLLine = TagBefore + SourceCodeLine + TagAftersrclStrn%'XMLLInes ( XMLLineNumber ) = XMLLine srclStrn'DoNextLineNumber: srclStrn'Next XMLLineNumber srclStrn'EndProgressBar2srclStrn'MainBufferBackup = MainBuffer srclStrn$'MainBuffer = Join ( XMLLInes, EOL )srclStrn 'WorkFinished srclStrn'FileSaved = False srclStrn'XMLChanged = True srclStrn'SourceDisplayChanged = TruesrclStrn'XMLDisplayChanged = True srclStrnEnd Sub EndGInt j±EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j°MethGrupj²nameStrnDisplayAllSourceWords CompStrnVsblInt sorcGrup|j³EncoInt srclStrnSub DisplayAllSourceWords() srclStrn SetForSimplesrclStrn StartDisplaysrclStrn GetControls srclStrnGetAllSourceWords srclStrnKindOfList = "All Words"srclStrnResultsListBox.DeleteAllRowssrclStrnVResultsListBox.AddRow Str ( Ubound ( AllWords2 ) + 1 ) + " Different Words in Source:" srclStrn!PopulateResultsListBox2 AllWords2 srclStrnmnuQuit.Visible = True srclStrnmnuPrintResults.Visible = True srclStrnmnuSaveXML.Visible = True srclStrnmnuSaveResults.Visible = True srclStrnmnuOpenXML.Visible = True srclStrn FinishDisplay srclStrnEnd Sub EndGInt j³EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j²MethGrupj´nameStrnDisplayAllSourceWordsByLocation CompStrnVsblInt sorcGruppjµEncoInt srclStrn%Sub DisplayAllSourceWordsByLocation() srclStrnSetForLocation srclStrn StartDisplaysrclStrnGetAllSourceWords srclStrnKindOfList = "All Words"srclStrn/TextHolder = Str ( Ubound ( AllWords2 ) + 1 ) _ srclStrn" + " Words in Source by Location:" srclStrn PopulateResultsListBox AllWords2srclStrn FinishDisplay srclStrn///mnuQuit.Visible = True srclStrn///mnuPrintList.Visible = True srclStrn///mnuSaveXML.Visible = TruesrclStrn///mnuSaveList.Visible = True srclStrn///mnuOpenXML.Visible = TruesrclStrn///FinishDisplaysrclStrnEnd Sub EndGInt jµEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j´MethGrupüj¶nameStrn DisplayAllSourceWordsWithDetailsCompStrnVsblInt sorcGrupTj·EncoInt srclStrn&Sub DisplayAllSourceWordsWithDetails() srclStrn SetForDetails srclStrn StartDisplaysrclStrnGetAllSourceWords srclStrnKindOfList = "All Words"srclStrn/TextHolder = Str ( Ubound ( AllWords2 ) + 1 ) _ srclStrn# + " Words in Source with Details:" srclStrn PopulateResultsListBox AllWords2srclStrn///mnuQuit.Visible = True srclStrn///mnuPrintList.Visible = True srclStrn///mnuSaveXML.Visible = TruesrclStrn///mnuSaveList.Visible = True srclStrn///mnuOpenXML.Visible = TruesrclStrn FinishDisplay srclStrnEnd Sub EndGInt j·EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j¶MethGrup  j¸nameStrnDisplayAParticularMethod1 CompStrnVsblInt sorcGrup üj¹EncoInt srclStrnSub DisplayAParticularMethod1() srclStrn/////// MsgBox TaskSelectedsrclStrnDim I As IntegersrclStrnSaveDetailBooleans srclStrnLocationDetails = False srclStrnMethodDetails = False srclStrnAlphabeticalByLocation = False srclStrn ZapFileMenu srclStrn GetMethods srclStrnRemoveDuplicates MethodssrclStrnKindOfList = "Methods" srclStrn"ResultsOldNameText.Visible = False srclStrn'ResultsOldNameEditField.Visible = False srclStrnAdjustResultsListBoxsrclStrnResultsListBox.DeleteAllRowssrclStrnUpperBound = Ubound ( Methods ) srclStrnResultsTopLabel.Width = 540 srclStrn3ResultsTopLabel.Text = "Select a method to display" srclStrnFor I = 0 To UpperBound srclStrn#ResultsListBox.AddRow Methods ( I ) srclStrnNext I srclStrnResultsListBox.Refresh srclStrn!ResultsListBox.ScrollPosition = 0 srclStrn%TextHolder = Str ( UpperBound + 1 ) _ srclStrn+ " Different Method Names:"srclStrn.ResultsNewNameText.Text = "Method To Display:" srclStrn6ResultsBottomPushButton.Caption = "Display the Method" srclStrnATaskSelected = "70. Display Source Code For A Particular Method2" srclStrn///mnuQuit.Visible = True srclStrn///mnuPrintList.Visible = True srclStrn///mnuSaveXML.Visible = TruesrclStrn///mnuSaveList.Visible = True srclStrn///mnuOpenXML.Visible = TruesrclStrnRestoreDetailBooleans srclStrn'ResultsBottomPushButton.Visible = False srclStrnTabPanel1.Value = ResultsPanel srclStrn'Dim I As Integer srclStrn'SaveDetailBooleans srclStrn'LocationDetails = FalsesrclStrn'AlphabeticalByLocation = False srclStrn 'ZapFileMenusrclStrn 'GetMethods srclStrn'RemoveDuplicates Methods srclStrn'KindOfList = "Methods" srclStrn#'ResultsOldNameText.Visible = False srclStrn('ResultsOldNameEditField.Visible = FalsesrclStrn'AdjustResultsListBox srclStrn'ResultsListBox.DeleteAllRows srclStrn'Dim UpperBound As Integer srclStrn!'UpperBound = Ubound ( Methods ) srclStrn'ResultsTopLabel.Width = 540srclStrn4'ResultsTopLabel.Text = "Select a method to display"srclStrn'For I = 0 To UpperBoundsrclStrn%'ResultsListBox.AddRow Methods ( I ) srclStrn 'Next I srclStrn'ResultsListBox.Refresh srclStrn"'ResultsListBox.ScrollPosition = 0 srclStrn&'TextHolder = Str ( UpperBound + 1 ) _ srclStrn' + " Different Method Names:" srclStrn/'ResultsNewNameText.Text = "Method To Display:" srclStrn7'ResultsBottomPushButton.Caption = "Display the Method" srclStrn='TaskSelected = "Display Source Code For A Particular Method" srclStrn'mnuQuit.Visible = True srclStrn'mnuPrintList.Visible = TruesrclStrn'mnuSaveXML.Visible = True srclStrn'mnuSaveList.Visible = True srclStrn'mnuOpenXML.Visible = True srclStrn'RestoreDetailBooleans srclStrn('ResultsBottomPushButton.Visible = FalsesrclStrn'TabPanel1.Value = ResultsPanel srclStrn'SourceDisplayChanged = TruesrclStrnEnd Sub EndGInt j¹EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j¸MethGruppjºnameStrnDisplayAParticularMethod2 CompStrnVsblInt sorcGrupÌj»EncoInt srclStrnSub DisplayAParticularMethod2() srclStrnMsgBox "Inside Method2" srclStrn#Dim NumberOfLineComments As Integer srclStrn&Dim NumberOfSourceCodeLines As Integer srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then srclStrn MakeMainMenusrclStrnReturn srclStrnEnd If srclStrn BookmarksListBox.Visible = FalsesrclStrn+SourceEditField.Left = 2 * HorizontalMargin srclStrnBSourceEditField.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnPrepareResultsPanel srclStrn*ResultsProgressBar.Left = HorizontalMargin srclStrn0ResultsProgressBar.Width = MainMenuListBox.WidthsrclStrnBetweenMethods = 0 srclStrnSaveDetailBooleans srclStrnLocationDetails = True srclStrnAlphabeticalByLocation = True srclStrnMethodDetails = False srclStrn ZapFileMenu srclStrn2If MainBuffer = "" Then mnuSaveXML.Visible = False srclStrn(MainMenuBottomPushButton.Default = FalsesrclStrn SourceTopGoButton.Default = TruesrclStrnSourceSearchEditField.SetFocus srclStrn WorkStarted srclStrnTextHolder = "Search For:" srclStrnSourceEditField.Text = "" srclStrnStartOfIndent = "" srclStrnIndentFactor = 3srclStrnIndentLevel = 1 srclStrn4SourceDisplayBuffer = "Extracting Source Code...." _srclStrn.+ EditFieldEndOfLine + "One moment please...." srclStrn*SourceEditField.Text = SourceDisplayBuffer srclStrnSourceEditField.Refresh srclStrnMakeDisplaySource = TruesrclStrn DoIndentPM srclStrnFSourceDisplayBuffer = ReplaceAllB ( SourceDisplayBuffer, "<", "<" ) srclStrnFSourceDisplayBuffer = ReplaceAllB ( SourceDisplayBuffer, ">", ">" ) srclStrnASourceDisplayBuffer = ReplaceLineEndings ( SourceDisplayBuffer, _ srclStrnEditFieldEndOfLine )srclStrnNumberOfBlankLines = 0 srclStrnNumberOfLineComments = 0srclStrnNumberOfSourceCodeLines = 0 srclStrn ResetCounters srclStrn*SourceEditField.Text = SourceDisplayBuffer srclStrnSourceEditField.Refresh srclStrnSourceDisplayChanged = FalsesrclStrnEditFieldDisplay = "Source" srclStrnTextHolder = "Search for:" srclStrnISourceBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrn WorkFinishedsrclStrn//PrepareFileSourceMenu srclStrnSourceSearchEditField.SetFocus srclStrnSourceDisplayChanged = FalsesrclStrnRestoreDetailBooleans srclStrn4SourceBottomPushButton.Caption = "Back to Main Menu"srclStrnTabPanel1.Value = SourcePanel srclStrnKindOfList = "Main Menu"srclStrn$'Dim NumberOfLineComments As IntegersrclStrn''Dim NumberOfSourceCodeLines As Integer srclStrn'CheckForXMLFilesrclStrn'If MainBuffer = "" ThensrclStrn 'MakeMainMenu srclStrn'Return srclStrn'End If srclStrn!'BookmarksListBox.Visible = False srclStrn-'SourceEditField.Left = 2 * HorizontalMargin srclStrnE'SourceEditField.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrn'PrepareResultsPanelsrclStrn+'ResultsProgressBar.Left = HorizontalMargin srclStrn1'ResultsProgressBar.Width = MainMenuListBox.Width srclStrn'BetweenMethods = 0 srclStrn'SaveDetailBooleans srclStrn'LocationDetails = True srclStrn'AlphabeticalByLocation = True srclStrn 'ZapFileMenusrclStrn3'If MainBuffer = "" Then mnuSaveXML.Visible = False srclStrn)'MainMenuBottomPushButton.Default = False srclStrn!'SourceTopGoButton.Default = True srclStrn'SourceSearchEditField.SetFocus srclStrn 'WorkStartedsrclStrn'TextHolder = "Search For:" srclStrn'SourceEditField.Text = "" srclStrn'StartOfIndent = "" srclStrn'IndentLevel = 1srclStrn5'SourceDisplayBuffer = "Extracting Source Code...." _ srclStrn0' + EditFieldEndOfLine + "One moment please...."srclStrn+'SourceEditField.Text = SourceDisplayBuffer srclStrn'SourceEditField.RefreshsrclStrn'MakeDisplaySource = True srclStrn 'DoIndentPM srclStrnH'SourceDisplayBuffer = ReplaceAllB ( SourceDisplayBuffer, "<", "<" ) srclStrnH'SourceDisplayBuffer = ReplaceAllB ( SourceDisplayBuffer, ">", ">" ) srclStrnB'SourceDisplayBuffer = ReplaceLineEndings ( SourceDisplayBuffer, _ srclStrn'EditFieldEndOfLine ) srclStrn'NumberOfBlankLines = 0 srclStrn'NumberOfLineComments = 0 srclStrn'NumberOfSourceCodeLines = 0srclStrn'ResetCounters srclStrn+'SourceEditField.Text = SourceDisplayBuffer srclStrn'SourceEditField.RefreshsrclStrn'SourceDisplayChanged = False srclStrn'EditFieldDisplay = "Source"srclStrn'TextHolder = "Search for:" srclStrnL'SourceBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrn 'WorkFinished srclStrn'PrepareFileSourceMenu srclStrn'SourceSearchEditField.SetFocus srclStrn'SourceDisplayChanged = False srclStrn'RestoreDetailBooleans srclStrn5'SourceBottomPushButton.Caption = "Back to Main Menu" srclStrn'TabPanel1.Value = SourcePanel srclStrn'KindOfList = "Main Menu" srclStrnEnd Sub EndGInt j»EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jºMethGrupÄj¼nameStrn DisplayArrayCompStrnVsblInt sorcGrupj½EncoInt srclStrn$Sub DisplayArray(Array1() As String)srclStrn5MsgBox "Window1.DisplayArray" /// Remove this MsgBox. srclStrn' Dim Holder, I As Integer srclStrn' SaveDetailBooleans srclStrn' LocationDetails = True srclStrn!' AlphabeticalByLocation = False srclStrn' ZapFileMenu srclStrn' Holder = XMLLineNumber srclStrn' WorkStarted srclStrn' XMLLineNumber = Holder srclStrn' ResultsListBox.DeleteAllRows srclStrn!' UpperBound = Ubound ( Array1 ) srclStrn' For I = 0 To UpperBound srclStrn%' ResultsListBox.AddRow Array1 ( I ) srclStrn ' Next I srclStrn ' TabPanel1.Index = SourcePanelsrclStrn' ResultsListBox.Refresh srclStrn$' ResultsListBox.ScrollPosition = 0srclStrn(' TextHolder = Str ( UpperBound + 1 ) _srclStrn7' + " Different Items in " + CurrentMethod + ":" srclStrn' AdjustResultsListBox srclStrn' WorkFinished3srclStrn' mnuQuit.Visible = True srclStrn' mnuPrintList.Visible = True srclStrn' mnuSaveXML.Visible = TruesrclStrn' mnuSaveList.Visible = True srclStrn' mnuOpenXML.Visible = TruesrclStrn' KindOfList = "Main Menu" srclStrn!' TabPanel1.Value = ResultsPanel srclStrn' RestoreDetailBooleanssrclStrnEnd Sub EndGInt j½EncoInt AlasStrnflagInt shrdInt parmStrnArray1() As String rsltStrnEndGInt j¼MethGrup,j¾nameStrnDisplayBasicKeywordsCompStrnVsblInt sorcGrupj¿EncoInt srclStrnSub DisplayBasicKeywords() srclStrn SetForSimplesrclStrn StartDisplaysrclStrnGetBasicKeywordssrclStrnKindOfList = "Basic Keywords" srclStrn3TextHolder = Str ( Ubound ( BasicKeywords ) + 1 ) _ srclStrn3 + " Different REALbasic Keywords Used in Project:" srclStrn$PopulateResultsListBox BasicKeywordssrclStrn FinishDisplay srclStrnEnd Sub EndGInt j¿EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt j¾MethGrupPjÀnameStrnDisplayConstantsCompStrnVsblInt sorcGrup¸jÁEncoInt srclStrnSub DisplayConstants() srclStrn SetForSimplesrclStrn StartDisplaysrclStrn GetConstantssrclStrnConstants.Sort srclStrnKindOfList = "Constants"srclStrnResultsListBox.DeleteAllRowssrclStrn:ResultsListBox.AddRow Str ( Ubound ( Constants ) + 1 ) + _ srclStrn" Different Constant Names:"srclStrn&PopulateResultsListBox2 ( Constants ) srclStrn FinishDisplay srclStrnEnd Sub EndGInt jÁEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jÀMethGrup,jÂnameStrnDisplayConstantsByLocation CompStrnVsblInt sorcGrupˆjÃEncoInt srclStrn Sub DisplayConstantsByLocation()srclStrnSetForLocation srclStrn StartDisplaysrclStrn GetConstantssrclStrnConstants.Sort srclStrnKindOfList = "Constants"srclStrn1TextHolder = Str ( Ubound ( Constants ) + 1 ) + _ srclStrn" Different Constants:" srclStrn PopulateResultsListBox ConstantssrclStrn FinishDisplay srclStrnEnd Sub EndGInt jÃEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jÂMethGrup0jÄnameStrnDisplayConstantsWithDetails CompStrnVsblInt sorcGrupŒjÅEncoInt srclStrn!Sub DisplayConstantsWithDetails() srclStrn SetForDetails srclStrn StartDisplaysrclStrn GetConstantssrclStrnConstants.Sort srclStrnKindOfList = "Constants"srclStrn1TextHolder = Str ( Ubound ( Constants ) + 1 ) + _ srclStrn" Different Constants:" srclStrn PopulateResultsListBox ConstantssrclStrn FinishDisplay srclStrnEnd Sub EndGInt jÅEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jÄMethGrupPjÆnameStrnDisplayControlEventHandlers CompStrnVsblInt sorcGrup¬jÇEncoInt srclStrn!Sub DisplayControlEventHandlers() srclStrnDim I As IntegersrclStrn SetForSimplesrclStrn StartDisplaysrclStrnGetControlEventHandlers srclStrnKindOfList = "Event Handlers" srclStrn%RemoveDuplicates ControlEventHandlers srclStrnResultsListBox.DeleteAllRowssrclStrnEResultsListBox.AddRow Str ( Ubound ( ControlEventHandlers ) + 1 ) + _ srclStrn)" Different Control Event Handler Names:" srclStrnResultsListBox.AddRow ""srclStrn-For I = 0 To Ubound ( ControlEventHandlers ) srclStrn1ResultsListBox.AddRow ControlEventHandlers ( I ) srclStrn Next I srclStrn FinishDisplay srclStrnEnd Sub EndGInt jÇEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt jÆMethGrup„jÈnameStrn%DisplayControlEventHandlersByLocation CompStrnVsblInt sorcGrupÔjÉEncoInt srclStrn+Sub DisplayControlEventHandlersByLocation() srclStrnSetForLocation srclStrn StartDisplaysrclStrnGetControlEventHandlers srclStrnControlEventHandlers.Sort srclStrnKindOfList = "Event Handlers" srclStrn" ) srclStrnASourceDisplayBuffer = ReplaceLineEndings ( SourceDisplayBuffer, _ srclStrnEditFieldEndOfLine )srclStrnNumberOfBlankLines = 0 srclStrnNumberOfMixedLines = 0 srclStrnNumberOfCommentLines = 0srclStrnNumberOfSourceLines = 0 srclStrn ResetCounters srclStrnMethodSource = FalsesrclStrn,For XMLLineNumber = 0 To Ubound ( XMLLInes )srclStrn$XMLLine = XMLLInes ( XMLLineNumber )srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn8GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine )srclStrnSourceCodeLine = WholeLine srclStrnEnd If srclStrn7GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimComment = Trim ( Comment ) srclStrnTrimSource = Trim ( Source )srclStrnGIf Left ( Source, 4 ) = "Sub " Or Left ( Source, 9 ) = "Function " Then srclStrnMethodSource = True srclStrnEnd If srclStrnIf MethodSource = True Then srclStrn.If TrimComment <> "" And TrimSource <> "" Then srclStrn+NumberOfMixedLines = NumberOfMixedLines + 1 srclStrn1ElseIf TrimComment <> "" And TrimSource = "" Then srclStrn/NumberOfCommentLines = NumberOfCommentLines + 1 srclStrn1ElseIf TrimComment = "" And TrimSource <> "" Then srclStrn-NumberOfSourceLines = NumberOfSourceLines + 1 srclStrn0ElseIf TrimComment = "" And TrimSource = "" ThensrclStrn+NumberOfBlankLines = NumberOfBlankLines + 1 srclStrnEnd If srclStrnEnd If srclStrnGetCurrentInfoS srclStrnNIf Left ( Source, 7 ) = "End Sub" Or Left ( Source, 12 ) = "End Function" Then srclStrnMethodSource = FalsesrclStrnEnd If srclStrnElsesrclStrnGetCurrentInfoX srclStrnEnd If srclStrnDNext XMLLineNumber '/ For XMLLineNumber = 0 To Ubound ( XMLLInes )srclStrnsrclStrnsrclStrnsrclStrnsrclStrnsrclStrnsrclStrn///// srclStrnsrclStrn,SourceDisplayBuffer2 = "// Total Lines: " _srclStrn4+ Str ( NumberOfSourceLines + NumberOfCommentLines _srclStrn++ NumberOfBlankLines + NumberOfMixedLines _ srclStrn'+ NumberOfHexLines ) + " lines" + EOL _ srclStrn+ EOL + SourceDisplayBuffer2srclStrnIf NumberOfHexLines <> 0 Then srclStrnISourceDisplayBuffer2 = "// (including " + Str ( NumberOfHexLines ) _ srclStrn.+ " lines containing " + Q + "Hex bytes" + Q _ srclStrn"+ ")" + EOL + SourceDisplayBuffer2 srclStrnEnd If srclStrnOSourceDisplayBuffer2 = "// (not including " + Str ( BetweenMethods - 1 ) _ srclStrn#+ " blank lines between Methods)" _ srclStrn+ EOL + SourceDisplayBuffer2srclStrn)SourceDisplayBuffer2 = "// Blank: " + _ srclStrn)Str ( NumberOfBlankLines ) + " lines" + _ srclStrnEOL + SourceDisplayBuffer2 srclStrn*SourceDisplayBuffer2 = "// Non-Blank: " _ srclStrnI+ Str ( NumberOfSourceLines + NumberOfMixedLines + NumberOfCommentLines _ srclStrn'+ NumberOfHexLines ) + " lines" + EOL _ srclStrn+ SourceDisplayBuffer2 srclStrn8SourceDisplayBuffer2 = "// Comments (no Source): " + _srclStrn+Str ( NumberOfCommentLines ) + " lines" + _ srclStrn9EOL + "// (not including " + Str ( BetweenMethods ) _ srclStrnI+ " automatic comments at start of Methods)" + EOL + SourceDisplayBuffer2 srclStrn8SourceDisplayBuffer2 = "// Source With Comments: " + _srclStrn)Str ( NumberOfMixedLines ) + " lines" + _ srclStrnEOL + SourceDisplayBuffer2 srclStrnASourceDisplayBuffer2 = EOL + "// Source Without Comments: " + _ srclStrn*Str ( NumberOfSourceLines ) + " lines" + _ srclStrnEOL + SourceDisplayBuffer2 srclStrnsrclStrn///// srclStrnsrclStrnsrclStrnsrclStrnsrclStrnsrclStrn4SourceDisplayBuffer = "// Number Of Methods: " + _srclStrn8Str ( BetweenMethods ) + EOL + EOL + SourceDisplayBuffersrclStrn1SourceDisplayBuffer = "// Number of Subs: " + _ srclStrn0Str ( NumberOfSubs ) + EOL + SourceDisplayBuffersrclStrn6SourceDisplayBuffer = "// Number of Functions: " + _ srclStrn5Str ( NumberOfFunctions ) + EOL + SourceDisplayBuffer srclStrn=SourceDisplayBuffer = "// Program: " + NameOfFile + EOL + _ srclStrn\"// Date and Time: " + d.LongDate + " at " + d.ShortTime + EOL + EOL + SourceDisplayBuffersrclStrnMSourceEditField.Text = SourceDisplayBuffer + EOL + EOL + SourceDisplayBuffer2 srclStrnSourceEditField.Refresh srclStrnSourceDisplayChanged = FalsesrclStrnEditFieldDisplay = "Source" srclStrnTextHolder = "Search for:" srclStrnJSourceBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrn WorkFinishedsrclStrnSourceSearchEditField.SetFocus srclStrnSourceDisplayChanged = FalsesrclStrnRestoreDetailBooleans srclStrnBookmarksListBox.Visible = True srclStrn'If BookmarksListBox.Visible = True Then srclStrnPSourceEditField.Left = HorizontalMargin + 155 ////// mn (make room for bookmarkssrclStrnMSourceEditField.Width = TabPanel1.Width - ( ( 2 * HorizontalMargin ) + 155 ) srclStrnElsesrclStrn'SourceEditField.Left = HorizontalMargin srclStrnCSourceEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnEnd If srclStrnTaskSelected = TempTask srclStrn@If TaskSelected <> "Add XML Line Numbers to Source and XML" ThensrclStrnTabPanel1.Value = SourcePanel srclStrnEnd If srclStrnTabPanel1.Value = SourcePanel srclStrnsrclStrnsrclStrnsrclStrnsrclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kMethGrupØknameStrn DisplaySubs CompStrnVsblInt sorcGrupDkEncoInt srclStrnSub DisplaySubs() srclStrn SetForSimplesrclStrn StartDisplaysrclStrnGetSubs srclStrnRemoveDuplicates MethodssrclStrnRestoreDetailBooleans srclStrnKindOfList = "Subs" srclStrnIf Ubound ( Methods ) = 0 Then srclStrn-TextHolder = Str ( Ubound ( Methods ) + 1 ) _ srclStrn + " Sub Name:" srclStrnElse srclStrn-TextHolder = Str ( Ubound ( Methods ) + 1 ) _ srclStrn + " Different Sub Names:" srclStrnEnd srclStrnPopulateResultsListBox Methods srclStrn FinishDisplay srclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kMethGrup,knameStrnDisplaySubsByLocation CompStrnVsblInt sorcGrupŒkEncoInt srclStrnSub DisplaySubsByLocation() srclStrn'//MsgBox "Display Subs by Location 1" srclStrnSaveDetailBooleans srclStrnLocationDetails = True srclStrnAlphabeticalByLocation = True srclStrnSetForLocation srclStrn StartDisplaysrclStrnGetSubs srclStrnRestoreDetailBooleans srclStrnKindOfList = "subs" srclStrn?TextHolder = Str ( Ubound ( Methods ) + 1 ) + " Different Subs" srclStrnPopulateResultsListBox2 Methods srclStrn FinishDisplay srclStrn ResultsListBox.ScrollPosition= 0srclStrnTabPanel1.Value = ResultsPanel srclStrnResultsListBox.Refresh srclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kMethGrupˆknameStrnDisplaySubsWithDetails CompStrnVsblInt sorcGrupèk EncoInt srclStrnSub DisplaySubsWithDetails()srclStrn SetForDetails srclStrn StartDisplaysrclStrnGetSubs srclStrnRestoreDetailBooleans srclStrnKindOfList = "subs" srclStrn?TextHolder = Str ( Ubound ( Methods ) + 1 ) + " Different Subs" srclStrnPopulateResultsListBox2 Methods srclStrn FinishDisplay srclStrn ResultsListBox.ScrollPosition= 0srclStrnTabPanel1.Value = ResultsPanel srclStrnResultsListBox.Refresh srclStrnEnd Sub EndGInt k EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kMethGrupØk nameStrnDisplayUnusedMethodsCompStrnVsblInt sorcGrup<k EncoInt srclStrnSub DisplayUnusedMethods() srclStrn SetForSimplesrclStrnHideOldAndNewName srclStrn ZapFileMenu srclStrn WorkStarted srclStrnReDim Methods ( - 1 ) srclStrnGetUnusedMethodssrclStrnKindOfList = "Methods" srclStrnIf Ubound ( Methods ) = 0 Then srclStrn(TextHolder = "1 Possibly Unused Method:"srclStrnElse srclStrn-TextHolder = Str ( Ubound ( Methods ) + 1 ) _ srclStrn + " Possibly Unused Methods:" srclStrnEnd If srclStrnPopulateResultsListBox Methods srclStrn"ResultsOldNameText.Visible = False srclStrnAdjustResultsListBoxsrclStrn WorkFinished3 srclStrnPrepareFileMenu srclStrnKindOfList = "Main Menu"srclStrn5ResultsBottomPushButton.Caption = "Back to Main Menu" srclStrnRestoreDetailBooleans srclStrnEndProgressBar2 srclStrn#MainMenuProgressBar.Visible = False srclStrnMainMenuProgressBar.Refresh srclStrnResultsListBox.Refresh srclStrn!ResultsListBox.ScrollPosition = 0 srclStrnTabPanel1.Value = ResultsPanel srclStrnEnd Sub EndGInt k EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k MethGrupäk nameStrnDisplayUnusedProperties CompStrnVsblInt sorcGrupDk EncoInt srclStrnSub DisplayUnusedProperties() srclStrn SetForSimplesrclStrnDim I As IntegersrclStrnReDim Properties ( - 1 ) srclStrn GetProperties srclStrn:Properties ( ) = RemoveParenthesesBack ( Properties ( ) ) srclStrn-ResultsListBox.AddRow "One moment please...." srclStrn$ReDim WordsInsideProcedures ( - 1 ) srclStrnGetWordsInsideProceduressrclStrnResultsListBox.Refresh srclStrnOUnused = RemoveOverlapFromFirst ( Properties ( ) , WordsInsideProcedures ( ) ) srclStrnResultsListBox.DeleteAllRowssrclStrnIf Ubound ( Unused ) = 0 Then srclStrn*ResultsListBox.AddRow "1 Unused Property:" srclStrnElsesrclStrnKResultsListBox.AddRow Str ( Ubound ( Unused ) + 1 ) + " Unused Properties:" srclStrnEnd If srclStrnResultsListBox.AddRow ""srclStrnFor I = 0 To Ubound ( Unused ) srclStrn#ResultsListBox.AddRow Unused ( I ) srclStrn Next I srclStrn"ResultsOldNameText.Visible = False srclStrn FinishDisplay srclStrn5ResultsBottomPushButton.Caption = "Back to Main Menu" srclStrnEndProgressBar2 srclStrn#MainMenuProgressBar.Visible = False srclStrnMainMenuProgressBar.Refresh srclStrnResultsListBox.Refresh srclStrn!ResultsListBox.ScrollPosition = 0 srclStrnTabPanel1.Value = ResultsPanel srclStrnEnd Sub EndGInt k EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k MethGrup knameStrnDisplayUnusedVariables CompStrnVsblInt sorcGrup€kEncoInt srclStrnSub DisplayUnusedVariables()srclStrnDim I As IntegersrclStrnGetVariablesByLocation srclStrn,GetWordsInsideProceduresExceptDimsByLocationsrclStrnResultsListBox.DeleteAllRowssrclStrn-ResultsListBox.AddRow "One moment please...." srclStrnResultsListBox.Refresh srclStrn App.DoEventssrclStrnStartProgressBar2 srclStrn8For I = 0 To Ubound ( WordsInsideProceduresExceptDims ) srclStrnContinueProgressBar2srclStrn1WordsInsideProceduresExceptDims ( I ) = Replace _ srclStrn9 ( WordsInsideProceduresExceptDims ( I ) , ": ", "." ) srclStrn Next I srclStrnEndProgressBar2 srclStrnXUnused = RemoveOverlapFromFirst ( Variables ( ) , WordsInsideProceduresExceptDims ( ) ) srclStrnResultsListBox.DeleteAllRowssrclStrnIf Ubound ( Unused ) = 0 Then srclStrn+ResultsListBox.AddRow "1 Unused Variable:" srclStrnElsesrclStrnJResultsListBox.AddRow Str ( Ubound ( Unused ) + 1 ) + " Unused Variables:" srclStrnEnd If srclStrnResultsListBox.AddRow ""srclStrnStartProgressBar2 srclStrnFor I = 0 To Ubound ( Unused ) srclStrnContinueProgressBar2srclStrn#ResultsListBox.AddRow Unused ( I ) srclStrnNext I srclStrnEndProgressBar2 srclStrnResultsListBox.Refresh srclStrn!ResultsListBox.ScrollPosition = 0 srclStrnTabPanel1.Value = ResultsPanel srclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kMethGrup¬knameStrnDisplayVariablesCompStrnVsblInt sorcGrupkEncoInt srclStrnSub DisplayVariables() srclStrn SetForSimplesrclStrn StartDisplaysrclStrnSaveDetailBooleans srclStrnLocationDetails = False srclStrnAlphabeticalByLocation = False srclStrnGetVariablesFullsrclStrnRestoreDetailBooleans srclStrn GetVariablessrclStrnKindOfList = "Variables"srclStrn/TextHolder = Str ( Ubound ( Variables ) + 1 ) _ srclStrn + " Different Variable Names:" srclStrn PopulateResultsListBox VariablessrclStrn FinishDisplay srclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kMethGrupXknameStrnDisplayVariablesByLocation CompStrnVsblInt sorcGrup´kEncoInt srclStrn Sub DisplayVariablesByLocation()srclStrnDim I As IntegersrclStrnSetForLocation srclStrn StartDisplaysrclStrnSaveDetailBooleans srclStrnLocationDetails = True srclStrnAlphabeticalByLocation = True srclStrnGetVariablesFullsrclStrnRestoreDetailBooleans srclStrnKindOfList = "Variables"srclStrnResultsListBox.DeleteAllRowssrclStrnPResultsListBox.AddRow Str ( Ubound ( Variables ) + 1 ) + " Different Variables:"srclStrnResultsListBox.AddRow ""srclStrn"For I = 0 To Ubound ( Variables ) srclStrn&ResultsListBox.AddRow Variables ( I ) srclStrn Next I srclStrn FinishDisplay srclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kMethGrup<knameStrnDisplayVariablesWithDetails CompStrnVsblInt sorcGrup˜kEncoInt srclStrn!Sub DisplayVariablesWithDetails() srclStrn SetForDetails srclStrn StartDisplaysrclStrnGetVariablesFullsrclStrnRestoreDetailBooleans srclStrnKindOfList = "Variables"srclStrn/TextHolder = Str ( Ubound ( Variables ) + 1 ) _ srclStrn + " Different Variables:" srclStrn PopulateResultsListBox VariablessrclStrn FinishDisplay srclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kMethGrupknameStrnDisplayWordsInsideProceduresCompStrnVsblInt sorcGruplkEncoInt srclStrn"Sub DisplayWordsInsideProcedures() srclStrn SetForSimplesrclStrn StartDisplaysrclStrnGetWordsInsideProceduressrclStrnKindOfList = "All Words"srclStrn;TextHolder = Str ( Ubound ( WordsInsideProcedures ) + 1 ) _ srclStrn( + " Different Words Inside Procedures:"srclStrn,PopulateResultsListBox WordsInsideProceduressrclStrn///mnuQuit.Visible = True srclStrn///mnuPrintList.Visible = True srclStrn///mnuSaveXML.Visible = TruesrclStrn///mnuSaveList.Visible = True srclStrn///mnuOpenXML.Visible = TruesrclStrn FinishDisplay srclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kMethGrup(knameStrn&DisplayWordsInsideProceduresByLocation CompStrnVsblInt sorcGrupxkEncoInt srclStrn,Sub DisplayWordsInsideProceduresByLocation()srclStrnSetForLocation srclStrn StartDisplaysrclStrnGetWordsInsideProceduressrclStrnKindOfList = "All Words"srclStrn;TextHolder = Str ( Ubound ( WordsInsideProcedures ) + 1 ) _ srclStrn( + " Different Words Inside Procedures:"srclStrn,PopulateResultsListBox WordsInsideProceduressrclStrn///mnuQuit.Visible = True srclStrn///mnuPrintList.Visible = True srclStrn///mnuSaveXML.Visible = TruesrclStrn///mnuSaveList.Visible = True srclStrn///mnuOpenXML.Visible = TruesrclStrn FinishDisplay srclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kMethGrupTknameStrn&DisplayWordsInsideProceduresExceptDims CompStrnVsblInt sorcGrup¤kEncoInt srclStrn,Sub DisplayWordsInsideProceduresExceptDims()srclStrn SetForSimplesrclStrn StartDisplaysrclStrn"GetWordsInsideProceduresExceptDims srclStrnKindOfList = "All Words"srclStrnETextHolder = Str ( Ubound ( WordsInsideProceduresExceptDims ) + 1 ) _ srclStrn4 + " Different Words Inside Procedures Except Dims:"srclStrn6PopulateResultsListBox WordsInsideProceduresExceptDims srclStrn///mnuQuit.Visible = True srclStrn///mnuPrintList.Visible = True srclStrn///mnuSaveXML.Visible = TruesrclStrn///mnuSaveList.Visible = True srclStrn///mnuOpenXML.Visible = TruesrclStrn FinishDisplay srclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kMethGrup8knameStrn0DisplayWordsInsideProceduresExceptDimsByLocationCompStrnVsblInt sorcGrup€kEncoInt srclStrn6Sub DisplayWordsInsideProceduresExceptDimsByLocation() srclStrnDim I As IntegersrclStrnSetForLocation srclStrn StartDisplaysrclStrn"GetWordsInsideProceduresExceptDims srclStrnKindOfList = "All Words"srclStrnResultsListBox.DeleteAllRowssrclStrnNResultsListBox.AddRow Str ( Ubound ( WordsInsideProceduresExceptDims ) + 1 ) _ srclStrn/ + " Words Inside Procedures Except Dim Lines:" srclStrnResultsListBox.AddRow ""srclStrn8For I = 0 To Ubound ( WordsInsideProceduresExceptDims ) srclStrn Ubound ( ControlsOrdered ) Then srclStrn(ReDim ControlsOrdered ( ControlNumber ) srclStrnEnd If srclStrn5UBoundControl = Max ( UBoundControl, ControlNumber ) srclStrnUBC = Str ( UBoundControl ) srclStrn'If Len ( UBC ) = 1 Then UBC = "0" + UBC srclStrnUBB = Str ( UBoundBlock ) srclStrn'If Len ( UBB ) = 1 Then UBB = "0" + UBB srclStrnUB = UBB + UBC srclStrn!ReDim ControlName ( Val ( UB ) ) srclStrnThisBN = Str ( BlockNumber ) srclStrn0If Len ( ThisBN ) = 1 Then ThisBN = "0" + ThisBNsrclStrnThisCN = Str ( ControlNumber ) srclStrn0If Len ( ThisCN ) = 1 Then ThisCN = "0" + ThisCNsrclStrnThisCNN = ThisBN + ThisCN srclStrn'ControlName ( Val ( ThisCNN ) ) = Temp2 srclStrnControls.Append Temp2 srclStrn ZapFileMenu srclStrnmnuQuit.Visible = True srclStrnmnuPrintXML.Visible = True srclStrnIf MainBuffer <> "" ThensrclStrnmnuSaveXML.Visible = True srclStrnEnd If srclStrnmnuOpenXML.Visible = True srclStrnExitsrclStrnEnd If srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnDim UpperBound As Integer srclStrn!UpperBound = Ubound ( XMLLInes ) srclStrnXMLDisplayBuffer = MainBuffer srclStrnAdjustXMLForEditField srclStrn$XMLEditField.Text = XMLDisplayBuffersrclStrn,If SLN <= Ubound ( XLN ) And SLN <> - 1 ThensrclStrn*XMLEditField.ScrollPosition = XLN ( SLN ) srclStrnEnd If srclStrnXMLEditField.RefreshsrclStrnXMLDisplayChanged = False srclStrnEditFieldDisplay = "XML"srclStrnKindOfList = "XML" srclStrn#XMLSearchLabel.Text = "Search for:" srclStrnsrclStrnEnd Sub EndGInt k#EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k"MethGrup3 k$nameStrnDoIndentCompStrnVsblInt sorcGrup2|k%EncoInt srclStrnSub DoIndent() srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnDim Extras, HexString As String srclStrnDim I As IntegersrclStrn/Dim LineBeingBuilt, NewIndent ( - 1 ) As String srclStrnDim Pos1, Pos2 As Integer srclStrn6Dim SourceDisplayLines ( - 1 ) , Temp, Temp1 As String srclStrn,Dim Temp2, TrimComment, WhiteSpace As StringsrclStrnSaveDetailBooleans srclStrnLocationDetails = True srclStrnAlphabeticalByLocation = True srclStrnWhiteSpace = Rpt ( " ", 64 ) srclStrnNewIndent.Append "" srclStrn Temp = "" srclStrn&Temp2 = Rpt ( " ", IndentFactor + 1 ) srclStrnNumberOfHexLines = 0srclStrn4For I = 1 To 35 //need to calculate this upper limitsrclStrnTemp = Temp + Temp2 srclStrnNewIndent.Append Temp srclStrnNext I srclStrnLineBeingBuilt = "" srclStrn If MakeDisplaySource = True ThensrclStrnSourceDisplayBuffer = ""srclStrnEnd If srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn'If TabPanel1.Value = MainMenuPanel Then srclStrn+MainMenuProgressBar.Maximum = UpperBoundXML srclStrnMainMenuProgressBar.Value = 0 srclStrn"MainMenuProgressBar.Visible = True srclStrnElse srclStrn)SourceProgressBar.Maximum = UpperBoundXML srclStrnSourceProgressBar.Value = 0 srclStrn&SourceBottomPushButton.Visible = False srclStrn SourceProgressBar.Visible = TruesrclStrnEnd If srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn ResetCounters srclStrnJBookmarksListBox.Visible = False /// mn (hide ugly bookmarks construction) srclStrn'If BookmarksListBox.Visible = True Then srclStrnPSourceEditField.Left = HorizontalMargin + 155 ////// mn (make room for bookmarkssrclStrnNSourceEditField.Width = TabPanel1.Width - ( ( 2 * HorizontalMargin ) + 155 ) srclStrnElse srclStrn'SourceEditField.Left = HorizontalMargin srclStrnDSourceEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnEnd If srclStrn%BookmarksListBox.DeleteAllRows /// mn srclStrnBuildingBookmarks = True /// mn srclStrnMethodSource = FalsesrclStrnBetweenMethods = 0 srclStrnNumberOfFunctions = 0 srclStrnNumberOfSubs = 0srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnZ/// XMLLInes ( XMLLineNumber ) = ReplaceAll ( XMLLInes ( XMLLineNumber ), "&", "&" ) srclStrn9If XMLLineNumber/ 100 = Floor ( XMLLineNumber/ 100 ) Then srclStrn'If TabPanel1.Value = MainMenuPanel Then srclStrn)MainMenuProgressBar.Value = XMLLineNumber srclStrnMainMenuProgressBar.Refresh srclStrnElse srclStrn'SourceProgressBar.Value = XMLLineNumber srclStrnSourceProgressBar.Refresh srclStrnEnd If srclStrnEnd If srclStrn$XMLLine = XMLLInes ( XMLLineNumber )srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnpBookmarkLines = Ubound ( SourceDisplayLines ) + ( BetweenMethods * 2 ) + 2 ////// mn, rough count for bookmarkssrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn.Pos1 = InStr ( SourceCodeLine, " 0 Then srclStrn+Pos1 = InStr ( Pos1, SourceCodeLine, ">" ) srclStrnPos1 = Pos1 + 1 srclStrn+Pos2 = InStr ( Pos1, SourceCodeLine, "<" ) srclStrn4HexString = Mid1 ( SourceCodeLine, Pos1, Pos2 - 1 ) srclStrn*SourceCodeLine = ConvertHex ( HexString ) srclStrn'NumberOfHexLines = NumberOfHexLines + 1 srclStrnEnd If srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimComment = Trim ( Comment ) srclStrnTrimSource = Trim ( Source ) srclStrnGIf Left ( Source, 4 ) = "Sub " Or Left ( Source, 9 ) = "Function " Then srclStrnMethodSource = True srclStrnEnd If srclStrnGetCurrentInfoS srclStrn4If LeftB ( LTrim ( Source ) , 9 ) = "Function " Or _srclStrn,LeftB ( LTrim ( Source ) , 4 ) = "Sub " ThensrclStrnMethodSource = True srclStrn!If WithXMLLineNumbers = True Then srclStrn;SourceCodeLine = "// " + FormatForList ( CurrentMethod ) _ srclStrn5 + EOL + Str ( XMLLineNumber ) + " " + SourceCodeLine srclStrnElse srclStrn;SourceCodeLine = "// " + FormatForList ( CurrentMethod ) _ srclStrn + EOL + SourceCodeLine srclStrnEnd If srclStrnIndentLevel = 1 srclStrn If MakeDisplaySource = True ThensrclStrn8SourceDisplayLines.Append StartOfIndent + SourceCodeLinesrclStrnEnd If srclStrnGoTo DoNextLine srclStrn+ElseIf SourceCodeLine = "End Function" Then srclStrn#BetweenMethods = BetweenMethods + 1 srclStrn)NumberOfFunctions = NumberOfFunctions + 1 srclStrn If MakeDisplaySource = True ThensrclStrn!If WithXMLLineNumbers = True Then srclStrnGSourceDisplayLines.Append Str ( XMLLineNumber ) + " " + StartOfIndent _ srclStrn + SourceCodeLine + EOL srclStrnElse srclStrn)SourceDisplayLines.Append StartOfIndent _ srclStrn + SourceCodeLine + EOL srclStrnEnd If srclStrnEnd If srclStrnGoTo DoNextLine srclStrn&ElseIf SourceCodeLine = "End Sub" Then srclStrn#BetweenMethods = BetweenMethods + 1 srclStrnNumberOfSubs = NumberOfSubs + 1 srclStrn If MakeDisplaySource = True ThensrclStrn!If WithXMLLineNumbers = True Then srclStrnGSourceDisplayLines.Append Str ( XMLLineNumber ) + " " + StartOfIndent _ srclStrn + SourceCodeLine + EOL srclStrnElse srclStrn)SourceDisplayLines.Append StartOfIndent _ srclStrn + SourceCodeLine + EOL srclStrnEnd If srclStrnEnd If srclStrnGoTo DoNextLine srclStrnElse srclStrn=If Source = WhiteSpace And StartsWith ( Comment, "' " ) Then srclStrn0LineBeingBuilt = LineBeingBuilt + SourceCodeLinesrclStrnElse srclStrn:LineBeingBuilt = LineBeingBuilt + Trim ( SourceCodeLine ) srclStrnEnd If srclStrn8GetSourceAndComment ( LineBeingBuilt, Source, Comment ) srclStrn=If Source = WhiteSpace And StartsWith ( Comment, "' " ) Then srclStrnLineBeingBuilt = Source srclStrnElse srclStrn!LineBeingBuilt = Trim ( Source ) srclStrnEnd If srclStrn-If LeftB ( LineBeingBuilt, 5 ) = "Case " Then srclStrnIndentLevel = IndentLevel - 1 srclStrn1ElseIf StartsWith ( LineBeingBuilt, "Else" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn3ElseIf LeftB ( LineBeingBuilt, 7 ) = "ElseIf " Then srclStrnIndentLevel = IndentLevel - 1 srclStrn0ElseIf StartsWith ( LineBeingBuilt, "End" ) ThensrclStrnIndentLevel = IndentLevel - 1 srclStrn3ElseIf StartsWith ( LineBeingBuilt, "End If" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn2ElseIf StartsWith ( LineBeingBuilt, "#Else" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn4ElseIf LeftB ( LineBeingBuilt, 7 ) = "#ElseIf " ThensrclStrnIndentLevel = IndentLevel - 1 srclStrn3ElseIf StartsWith ( LineBeingBuilt, "#EndIf" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn1ElseIf StartsWith ( LineBeingBuilt, "Next" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn1ElseIf StartsWith ( LineBeingBuilt, "Loop" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn1ElseIf StartsWith ( LineBeingBuilt, "Wend" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn&ElseIf LineBeingBuilt = "End Sub" Then srclStrnIndentLevel = IndentLevel - 1 srclStrn+ElseIf LineBeingBuilt = "End Function" Then srclStrnIndentLevel = IndentLevel - 1 srclStrn7ElseIf StartsWith ( LineBeingBuilt, "End Select" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn6ElseIf StartsWith ( LineBeingBuilt, "Exception" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrnEnd If srclStrn!If MakeDisplaySource = False Then srclStrn=If Source = WhiteSpace And StartsWith ( Comment, "' " ) Then srclStrn /// Do nothing srclStrnElse srclStrn /// Do nothingsrclStrnEnd If srclStrnEnd If srclStrn=If Source = WhiteSpace And StartsWith ( Comment, "' " ) Then srclStrn SourceCodeLine = StartOfIndent _srclStrn + Extras + SourceCodeLine srclStrnElse srclStrnc //SourceCodeLine = Str(XMLLineNumber + 1) + StartOfIndent + NewIndent (IndentLevel) _ srclStrn) //+ Extras + SourceCodeLine srclStrn "Display Source" ThensrclStrn*SourceEditField.Text = SourceDisplayBuffer srclStrnSourceEditField.Refresh srclStrnEnd If srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnRestoreDetailBooleans srclStrnBlockNumber = - 1 srclStrnEnd Sub EndGInt k%EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k$MethGrup&pk&nameStrn DoIndentCOS CompStrnVsblInt sorcGrup%Ük'EncoInt srclStrnSub DoIndentCOS() srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnDim Extras, HexString As String srclStrnDim I As IntegersrclStrn.Dim LineBeingBuilt, NewIndent ( 20 ) As String srclStrnDim Pos1, Pos2, Pos3 As Integer srclStrn6Dim SourceDisplayLines ( - 1 ) , Temp, Temp1 As String srclStrn&Dim Temp2, Temp3, WhiteSpace As String srclStrnSaveDetailBooleans srclStrnLocationDetails = True srclStrnAlphabeticalByLocation = True srclStrnWhiteSpace = Rpt ( " ", 64 )srclStrnNewIndent.Append "" srclStrn Temp = "" srclStrn%Temp2 = Rpt ( " ", IndentFactor + 1 ) srclStrnNumberOfHexLines = 0srclStrn4For I = 1 To 35 //need to calculate this upper limitsrclStrnTemp = Temp + Temp2 srclStrnNewIndent.Append Temp srclStrn Next I srclStrnLineBeingBuilt = "" srclStrn If MakeDisplaySource = True ThensrclStrnSourceDisplayBuffer = ""srclStrn WorkStarted srclStrnEnd If srclStrn#UpperBoundXML = Ubound ( XMLLInes ) srclStrn'If TabPanel1.Value = MainMenuPanel Then srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn+MainMenuProgressBar.Maximum = UpperBoundXML srclStrnMainMenuProgressBar.Value = 0 srclStrn"MainMenuProgressBar.Visible = True srclStrnElsesrclStrn)SourceProgressBar.Maximum = UpperBoundXML srclStrnSourceProgressBar.Value = 0 srclStrn&SourceBottomPushButton.Visible = False srclStrn SourceProgressBar.Visible = TruesrclStrnEnd If srclStrn#UpperBoundXML = Ubound ( XMLLInes ) srclStrn ResetCounters srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrn9If XMLLineNumber/ 100 = Floor ( XMLLineNumber/ 100 ) Then srclStrn'If TabPanel1.Value = MainMenuPanel Then srclStrn)MainMenuProgressBar.Value = XMLLineNumber srclStrnMainMenuProgressBar.Refresh srclStrnElsesrclStrn'SourceProgressBar.Value = XMLLineNumber srclStrnSourceProgressBar.Refresh srclStrnEnd If srclStrnEnd If srclStrn$XMLLine = XMLLInes ( XMLLineNumber )srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn-Pos1 = InStr ( SourceCodeLine, " 0 Then srclStrn*Pos1 = InStr ( Pos1, SourceCodeLine, ">" ) srclStrnPos1 = Pos1 + 1 srclStrn*Pos2 = InStr ( Pos1, SourceCodeLine, "<" ) srclStrn3HexString = Mid1 ( SourceCodeLine, Pos1, Pos2 - 1 ) srclStrn)SourceCodeLine = ConvertHex ( HexString ) srclStrn'NumberOfHexLines = NumberOfHexLines + 1 srclStrnEnd If srclStrn7GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnIf Source = WhiteSpace Then srclStrnMajorIndentToRight = True srclStrnElsesrclStrnMajorIndentToRight = False srclStrnEnd If srclStrnGetCurrentInfoS srclStrn4If LeftB ( LTrim ( Source ) , 9 ) = "Function " Or _srclStrn,LeftB ( LTrim ( Source ) , 4 ) = "Sub " ThensrclStrnIf AddMsgBox = True ThensrclStrnPos3 = InStr ( XMLLine, ">" ) srclStrnTemp3 = LeftB ( XMLLine, Pos3 ) srclStrnATemp3 = Temp3 + "MsgBox " + Q + FormatForList ( CurrentMethod ) _ srclStrn!+ Q + " /// Remove this MsgBox." srclStrn-SourceCodeLine = SourceCodeLine + EOL + Temp3 srclStrn1XMLLine = XMLLine + EOL + Temp3 + "" srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrn;SourceCodeLine = "// " + FormatForList ( CurrentMethod ) _ srclStrn+ EOL + SourceCodeLine srclStrnIndentLevel = 1 srclStrn If MakeDisplaySource = True ThensrclStrn(SourceDisplayLines.Append SourceCodeLinesrclStrnEnd If srclStrnGoTo DoNextLine srclStrn+ElseIf SourceCodeLine = "End Function" Or _ srclStrnSourceCodeLine = "End Sub" Then srclStrn#BetweenMethods = BetweenMethods + 1 srclStrn If MakeDisplaySource = True ThensrclStrn(SourceDisplayLines.Append SourceCodeLinesrclStrnEnd If srclStrnGoTo DoNextLine srclStrnElsesrclStrn=If Source = WhiteSpace And StartsWith ( Comment, "' " ) Then srclStrn0LineBeingBuilt = LineBeingBuilt + SourceCodeLinesrclStrnElsesrclStrn9LineBeingBuilt = LineBeingBuilt + Trim ( SourceCodeLine ) srclStrnEnd If srclStrn7GetSourceAndComment ( LineBeingBuilt, Source, Comment ) srclStrn=If Source = WhiteSpace And StartsWith ( Comment, "' " ) Then srclStrnLineBeingBuilt = Source srclStrnElsesrclStrn LineBeingBuilt = Trim ( Source )srclStrnEnd If srclStrn-If LeftB ( LineBeingBuilt, 5 ) = "Case " Then srclStrnIndentLevel = IndentLevel - 1 srclStrn1ElseIf StartsWith ( LineBeingBuilt, "Else" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn3ElseIf LeftB ( LineBeingBuilt, 7 ) = "ElseIf " Then srclStrnIndentLevel = IndentLevel - 1 srclStrn3ElseIf StartsWith ( LineBeingBuilt, "End If" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn2ElseIf StartsWith ( LineBeingBuilt, "#Else" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn4ElseIf LeftB ( LineBeingBuilt, 7 ) = "#ElseIf " ThensrclStrnIndentLevel = IndentLevel - 1 srclStrn3ElseIf StartsWith ( LineBeingBuilt, "#EndIf" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn1ElseIf StartsWith ( LineBeingBuilt, "Next" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn1ElseIf StartsWith ( LineBeingBuilt, "Loop" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn1ElseIf StartsWith ( LineBeingBuilt, "Wend" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn&ElseIf LineBeingBuilt = "End Sub" Then srclStrnIndentLevel = IndentLevel - 1 srclStrn+ElseIf LineBeingBuilt = "End Function" Then srclStrnIndentLevel = IndentLevel - 1 srclStrn7ElseIf StartsWith ( LineBeingBuilt, "End Select" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrnEnd If srclStrn!If MakeDisplaySource = False Then srclStrn=If Source = WhiteSpace And StartsWith ( Comment, "' " ) Then srclStrn/// Do nothing srclStrnElsesrclStrn(SourceCodeLine = Trim ( SourceCodeLine )srclStrnEnd If srclStrnEnd If srclStrn=If Source = WhiteSpace And StartsWith ( Comment, "' " ) Then srclStrn SourceCodeLine = StartOfIndent _srclStrn+ Extras + SourceCodeLine srclStrnElsesrclStrn!If MajorIndentToRight = True Then srclStrn8SourceCodeLine = StartOfIndent + Mid ( WhiteSpace, 3 ) _srclStrn+ SourceCodeLinesrclStrnElsesrclStrn "Display Source" ThensrclStrn*SourceEditField.Text = SourceDisplayBuffer srclStrnSourceEditField.Refresh srclStrnEnd If srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnRestoreDetailBooleans srclStrnEnd Sub EndGInt k'EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k&MethGrup3k(nameStrn DoIndentPM CompStrnVsblInt sorcGrup2lk)EncoInt srclStrnSub DoIndentPM()srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnDim Extras, HexString As String srclStrnDim I As IntegersrclStrnDim KeepThisLine As Boolean srclStrn/Dim LineBeingBuilt, NewIndent ( - 1 ) As String srclStrnDim Pos1, Pos2, Pos3 As Integer srclStrn6Dim SourceDisplayLines ( - 1 ) , Temp, Temp1 As String srclStrn-Dim Temp2, Temp3, Temp4, WhiteSpace As String srclStrnKeepThisLine = FalsesrclStrnSaveDetailBooleans srclStrnLocationDetails = True srclStrnAlphabeticalByLocation = True srclStrnWhiteSpace = Rpt ( " ", 64 ) srclStrnNewIndent.Append "" srclStrn Temp = "" srclStrn&Temp2 = Rpt ( " ", IndentFactor + 1 ) srclStrnNumberOfHexLines = 0srclStrn4For I = 1 To 35 //need to calculate this upper limitsrclStrnTemp = Temp + Temp2 srclStrnNewIndent.Append Temp srclStrn Next I srclStrnLineBeingBuilt = "" srclStrn If MakeDisplaySource = True ThensrclStrnSourceDisplayBuffer = ""srclStrnEnd If srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn'If TabPanel1.Value = MainMenuPanel Then srclStrn+MainMenuProgressBar.Maximum = UpperBoundXML srclStrnMainMenuProgressBar.Value = 0 srclStrn"MainMenuProgressBar.Visible = True srclStrnElse srclStrn)SourceProgressBar.Maximum = UpperBoundXML srclStrnSourceProgressBar.Value = 0 srclStrn&SourceBottomPushButton.Visible = False srclStrn SourceProgressBar.Visible = TruesrclStrnEnd If srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn ResetCounters srclStrnJBookmarksListBox.Visible = False /// mn (hide ugly bookmarks construction) srclStrn%BookmarksListBox.DeleteAllRows /// mn srclStrnBuildingBookmarks = True /// mn srclStrn'If BookmarksListBox.Visible = True Then srclStrnPSourceEditField.Left = HorizontalMargin + 155 ////// mn (make room for bookmarkssrclStrnNSourceEditField.Width = TabPanel1.Width - ( ( 2 * HorizontalMargin ) + 155 ) srclStrnElse srclStrn'SourceEditField.Left = HorizontalMargin srclStrnDSourceEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnEnd If srclStrnKeepThisLine = FalsesrclStrn'ResultsBottomPushButton.Visible = False srclStrn*ResultsProgressBar.Maximum = UpperBoundXML srclStrnResultsProgressBar.Value = 0srclStrn!ResultsProgressBar.Visible = True srclStrnStartProgressBar2 srclStrnBetweenMethods = 0 srclStrnNumberOfFunctions = 0 srclStrnNumberOfSubs = 0srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnZ/// XMLLInes ( XMLLineNumber ) = ReplaceAll ( XMLLInes ( XMLLineNumber ), "&", "&" ) srclStrn9If XMLLineNumber/ 100 = Floor ( XMLLineNumber/ 100 ) Then srclStrn'If TabPanel1.Value = MainMenuPanel Then srclStrn)MainMenuProgressBar.Value = XMLLineNumber srclStrnMainMenuProgressBar.Refresh srclStrn*ElseIf TabPanel1.Value = ResultsPanel Then srclStrn(ResultsProgressBar.Value = XMLLineNumbersrclStrnResultsProgressBar.Refresh srclStrnElse srclStrn'SourceProgressBar.Value = XMLLineNumber srclStrnSourceProgressBar.Refresh srclStrnEnd If srclStrnEnd If srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnpBookmarkLines = Ubound ( SourceDisplayLines ) + ( BetweenMethods * 2 ) + 2 ////// mn, rough count for bookmarkssrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn.Pos1 = InStr ( SourceCodeLine, " 0 Then srclStrn+Pos1 = InStr ( Pos1, SourceCodeLine, ">" ) srclStrnPos1 = Pos1 + 1 srclStrn+Pos2 = InStr ( Pos1, SourceCodeLine, "<" ) srclStrn4HexString = Mid1 ( SourceCodeLine, Pos1, Pos2 - 1 ) srclStrn*SourceCodeLine = ConvertHex ( HexString ) srclStrn'NumberOfHexLines = NumberOfHexLines + 1 srclStrnEnd If srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrn4If LeftB ( LTrim ( Source ) , 9 ) = "Function " Or _srclStrn,LeftB ( LTrim ( Source ) , 4 ) = "Sub " ThensrclStrnTemp3 = LTrim ( Source ) srclStrn'If Left ( Temp3, 9 ) = "Function " Then srclStrnTemp3 = Mid ( Temp3, 10 ) srclStrnPos3 = InStr ( Temp3, "(" ) srclStrnIf Pos3 <> 0 Then srclStrn!Temp3 = Left ( Temp3, Pos3 - 1 ) srclStrnEnd If srclStrn If Temp3 = ParticularMethod ThensrclStrnKeepThisLine = True srclStrnEnd If srclStrnEnd If srclStrnTemp3 = LTrim ( Source ) srclStrn/If LeftB ( LTrim ( Source ) , 4 ) = "Sub " Then srclStrn%Temp3 = Mid ( LTrim ( Source ) , 5 ) srclStrnPos3 = InStr ( Temp3, "(" ) srclStrnIf Pos3 <> 0 Then srclStrn!Temp3 = Left ( Temp3, Pos3 - 1 ) srclStrnEnd If srclStrn If Temp3 = ParticularMethod ThensrclStrnKeepThisLine = True srclStrnEnd If srclStrnEnd If srclStrnIf KeepThisLine = True Then srclStrn;SourceCodeLine = "// " + FormatForList ( CurrentMethod ) _ srclStrn + EOL + SourceCodeLine srclStrnEnd If srclStrnIndentLevel = 1 srclStrn If MakeDisplaySource = True ThensrclStrnIf KeepThisLine = True Then srclStrn&Temp4 = StartOfIndent + SourceCodeLine srclStrnSourceDisplayLines.Append Temp4 srclStrnEnd If srclStrnEnd If srclStrnGoTo DoNextLine srclStrn+ElseIf SourceCodeLine = "End Function" Then srclStrnIf KeepThisLine = True Then srclStrnKeepThisLine = FalsesrclStrn(SourceDisplayLines.Append "End Function"srclStrnSourceDisplayLines.Append ""srclStrnEnd If srclStrn#BetweenMethods = BetweenMethods + 1 srclStrn)NumberOfFunctions = NumberOfFunctions + 1 srclStrn If MakeDisplaySource = True ThensrclStrnIf KeepThisLine = True Then srclStrn,Temp4 = StartOfIndent + SourceCodeLine + EOLsrclStrnSourceDisplayLines.Append Temp4 srclStrnEnd If srclStrnEnd If srclStrnGoTo DoNextLine srclStrn&ElseIf SourceCodeLine = "End Sub" Then srclStrnIf KeepThisLine = True Then srclStrnKeepThisLine = FalsesrclStrn#SourceDisplayLines.Append "End Sub" srclStrnSourceDisplayLines.Append ""srclStrnEnd If srclStrn#BetweenMethods = BetweenMethods + 1 srclStrnNumberOfSubs = NumberOfSubs + 1 srclStrn If MakeDisplaySource = True ThensrclStrnIf KeepThisLine = True Then srclStrn,Temp4 = StartOfIndent + SourceCodeLine + EOLsrclStrnSourceDisplayLines.Append Temp4 srclStrnEnd If srclStrnEnd If srclStrnGoTo DoNextLine srclStrnElse srclStrn=If Source = WhiteSpace And StartsWith ( Comment, "' " ) Then srclStrn0LineBeingBuilt = LineBeingBuilt + SourceCodeLinesrclStrnElse srclStrn:LineBeingBuilt = LineBeingBuilt + Trim ( SourceCodeLine ) srclStrnEnd If srclStrn8GetSourceAndComment ( LineBeingBuilt, Source, Comment ) srclStrn=If Source = WhiteSpace And StartsWith ( Comment, "' " ) Then srclStrnLineBeingBuilt = Source srclStrnElse srclStrn!LineBeingBuilt = Trim ( Source ) srclStrnEnd If srclStrn-If LeftB ( LineBeingBuilt, 5 ) = "Case " Then srclStrnIndentLevel = IndentLevel - 1 srclStrn1ElseIf StartsWith ( LineBeingBuilt, "Else" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn3ElseIf LeftB ( LineBeingBuilt, 7 ) = "ElseIf " Then srclStrnIndentLevel = IndentLevel - 1 srclStrn0ElseIf StartsWith ( LineBeingBuilt, "End" ) ThensrclStrnIndentLevel = IndentLevel - 1 srclStrn3ElseIf StartsWith ( LineBeingBuilt, "End If" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn2ElseIf StartsWith ( LineBeingBuilt, "#Else" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn4ElseIf LeftB ( LineBeingBuilt, 7 ) = "#ElseIf " ThensrclStrnIndentLevel = IndentLevel - 1 srclStrn3ElseIf StartsWith ( LineBeingBuilt, "#EndIf" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn1ElseIf StartsWith ( LineBeingBuilt, "Next" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn1ElseIf StartsWith ( LineBeingBuilt, "Loop" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn1ElseIf StartsWith ( LineBeingBuilt, "Wend" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn&ElseIf LineBeingBuilt = "End Sub" Then srclStrnIndentLevel = IndentLevel - 1 srclStrn+ElseIf LineBeingBuilt = "End Function" Then srclStrnIndentLevel = IndentLevel - 1 srclStrn7ElseIf StartsWith ( LineBeingBuilt, "End Select" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrn6ElseIf StartsWith ( LineBeingBuilt, "Exception" ) Then srclStrnIndentLevel = IndentLevel - 1 srclStrnEnd If srclStrn!If MakeDisplaySource = False Then srclStrn=If Source = WhiteSpace And StartsWith ( Comment, "' " ) Then srclStrn /// Do nothing srclStrnElse srclStrn /// Do nothingsrclStrnEnd If srclStrnEnd If srclStrn=If Source = WhiteSpace And StartsWith ( Comment, "' " ) Then srclStrnIf KeepThisLine = True Then srclStrn SourceCodeLine = StartOfIndent _srclStrn + Extras + SourceCodeLine srclStrnEnd If srclStrnElse srclStrnIf KeepThisLine = True Then srclStrn "Display Source" ThensrclStrn*SourceEditField.Text = SourceDisplayBuffer srclStrnSourceEditField.Refresh srclStrnTabPanel1.Value = SourcePanel srclStrnEnd If srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnRestoreDetailBooleans srclStrnBlockNumber = - 1 srclStrnEnd Sub EndGInt k)EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k(MethGrup´k*nameStrnDoubleSpaceSource CompStrnVsblInt sorcGrupk+EncoInt srclStrnSub DoubleSpaceSource() srclStrnMainBufferBackup = MainBuffer srclStrn WorkStarted srclStrnAddBlankLines ( 1 ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrn EndModify srclStrnExitsrclStrn'MainBufferBackup = MainBuffer srclStrn 'WorkStartedsrclStrn'AddBlankLines ( 1 ) srclStrn' srclStrn 'EndModify srclStrn' srclStrnEnd Sub EndGInt k+EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k*MethGrupLk,nameStrnEditUndoCompStrnVsblInt sorcGrup¼k-EncoInt srclStrnSub EditUndo() srclStrn1MsgBox "Window1.EditUndo" /// Remove this MsgBox. srclStrn ' MainBuffer = MainBufferBackupsrclStrn'' XMLLines = Split ( MainBuffer, EOL ) srclStrn' XMLChanged = TruesrclStrn' SourceDisplayChanged = True srclStrn' XMLDisplayChanged = True srclStrn' DisplaySourceCodesrclStrn ' DisplayXML srclStrn' ' mnuEdit.Text = "" /// mn srclStrnEnd Sub EndGInt k-EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k,MethGrupøk.nameStrnChangeXMLtoEditable CompStrnVsblInt sorcGrup\k/EncoInt srclStrnSub ChangeXMLtoEditable() srclStrn%If XMLEditField.ReadOnly = False Then srclStrnMsgBox "XML Already Editable!" srclStrnElsesrclStrnXMLEditField.ReadOnly = False srclStrnJMsgBox "XML changed to Editable" + EOL + "(for this session only, not a" _ srclStrn"+ EOL + "permanent change in XML)" srclStrnEnd If srclStrn'Dim n As Integer srclStrn#'If mnuEditXML.Checked = False Then srclStrnJ'n = MsgBox ( " Have you changed your mind about editing the XML? ", 36 ) srclStrn'If n = 6 Then srclStrn'Exit //user pressed YessrclStrn'ElseIf n = 7 Then srclStrn'//user pressed No srclStrn'End If srclStrn'mnuEditXML.Checked = True srclStrn'XMLEditField.ReadOnly = False srclStrn 'XMLEditField.ScrollPosition = 0srclStrn'TabPanel1.Value = XMLPanel srclStrn-'OriginalXMLSize = Len ( XMLEditField.Text ) srclStrn/'XMLEditField.LimitText = OriginalXMLSize + 100 srclStrn'Else srclStrn'mnuEditXML.Checked = False srclStrn'XMLEditField.ReadOnly = True srclStrn'End If srclStrnEnd Sub EndGInt k/EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k.MethGrup¬k0nameStrnEndProgressBar2 CompStrnVsblInt sorcGrupk1EncoInt srclStrnSub EndProgressBar2() srclStrn2If TaskSelected = "Display Unused Properties" Then srclStrnExitsrclStrnEnd If srclStrn7MainMenuProgressBar.Value = MainMenuProgressBar.Maximum srclStrnMainMenuProgressBar.Refresh srclStrn#MainMenuProgressBar.Visible = False srclStrn5If TaskSelected <> "Conform All (may take a while)" _ srclStrn4And TaskSelected <> "Display Unused Properties" ThensrclStrn'MainMenuBottomPushButton.Visible = True srclStrnEnd If srclStrnEnd Sub EndGInt k1EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k0MethGrupÜk2nameStrnEndsWithCompStrnVsblInt sorcGrup,k3EncoInt srclStrn6Function EndsWith(A As String, B As String) As Boolean srclStrnDim Test As String srclStrnA = Trim ( A ) srclStrnB = Trim ( B ) srclStrn/If Left ( B, 1 ) = "<" Then B = Right ( B, 2 ) srclStrn#Test = RIghtB ( A, Len ( B ) + 1 ) srclStrn$If ( Test = " " + B ) Or ( A = B ) _srclStrn+Or ( Test = Q + B ) Or ( Test = ")" + B ) _ srclStrn0Or ( Test = "<" + B ) Or ( Test = "." + B ) ThensrclStrn Return True srclStrnElse srclStrn Return FalsesrclStrnEnd If srclStrn End FunctionEndGInt k3EncoInt AlasStrnflagInt shrdInt parmStrnA As String, B As StringrsltStrnBoolean EndGInt k2MethGrup€k4nameStrnFillInProjectInfo CompStrnVsblInt sorcGrupäk5EncoInt srclStrnSub FillInProjectInfo() srclStrnDim I, I1, I2 As IntegersrclStrn$Dim Left1, Middle1, Right1 As StringsrclStrnDim EXEName As String srclStrn//MsgBox NameOfFile srclStrnI1 = InStr ( NameOfFile, "." ) srclStrn I1 = I1 - 3 srclStrn$Left1 = Left ( NameOfFile, I1 - 1 ) srclStrn//MsgBox Left1 srclStrn Right1 = Mid ( NameOfFile, I1 ) srclStrn//MsgBox Right1 srclStrn+Right1 = ReplaceAll ( Right1, ".xml", "" ) srclStrn //MsgBox "Right1" + EOL + Right1srclStrn(Right1 = ReplaceAll ( Right1, "0", "" ) srclStrn //MsgBox "Right1" + EOL + Right1srclStrn(Right1 = ReplaceAll ( Right1, "1", "" ) srclStrn //MsgBox "Right1" + EOL + Right1srclStrn(Right1 = ReplaceAll ( Right1, "2", "" ) srclStrn //MsgBox "Right1" + EOL + Right1srclStrn(Right1 = ReplaceAll ( Right1, "3", "" ) srclStrn //MsgBox "Right1" + EOL + Right1srclStrn(Right1 = ReplaceAll ( Right1, "4", "" ) srclStrn //MsgBox "Right1" + EOL + Right1srclStrn(Right1 = ReplaceAll ( Right1, "5", "" ) srclStrn //MsgBox "Right1" + EOL + Right1srclStrn(Right1 = ReplaceAll ( Right1, "6", "" ) srclStrn //MsgBox "Right1" + EOL + Right1srclStrn(Right1 = ReplaceAll ( Right1, "7", "" ) srclStrn //MsgBox "Right1" + EOL + Right1srclStrn(Right1 = ReplaceAll ( Right1, "8", "" ) srclStrn //MsgBox "Right1" + EOL + Right1srclStrn(Right1 = ReplaceAll ( Right1, "9", "" ) srclStrn //MsgBox "Right1" + EOL + Right1srclStrn//MsgBox "Left1" + EOL + Left1 srclStrn //MsgBox "Right1" + EOL + Right1srclStrn!EXEName = Left1 + Right1 + ".exe" srclStrn//MsgBox EXENamesrclStrnHideOldAndNewName srclStrn ZapFileMenu srclStrn WorkStarted srclStrnGetProjectInfoLong srclStrn8// If TaskSelected = "Display Project Information" ThensrclStrn// StartProgressBar2 srclStrn // End If srclStrnT//MsgBox "Long Version (Copyright): " + BetweenTags ( MainBuffer, "" )srclStrn%For I = 0 To ( Ubound ( XMLLines ) ) srclStrn0I1 = InStr ( XMLLines ( I ) , "" ) srclStrnIf I1 <> 0 Then srclStrn$// MsgBox "//" + XMLLines(I) + "//"srclStrn1I2 = InStr ( XMLLines ( I ) , "" ) srclStrn*Left1 = Left ( XMLLines ( I ) , I1 + 12 ) srclStrn,// MsgBox "Left1" + EOL + "/" + Left1 + "/"srclStrn.Middle1 = "(C) Copyright 2010 by Barry Traver" srclStrn:// Middle1 = Mid (XMLLines ( I ), I1 + 13, I2 - I1 - 13 ) srclStrn0// MsgBox "Middle1" + EOL + "/" + Middle1 + "/"srclStrn%Right1 = Mid ( XMLLines ( I ) , I2 ) srclStrn.// MsgBox "Right1" + EOL + "/" + Right1 + "/" srclStrn)XMLLines ( I ) = Left1 + Middle1 + Right1 srclStrnExitsrclStrnEnd If srclStrn Next I srclStrnI//MsgBox "BuildWinName: " + BetweenTags ( MainBuffer, "" ) srclStrn%For I = 0 To ( Ubound ( XMLLines ) ) srclStrn1I1 = InStr ( XMLLines ( I ) , "" ) srclStrnIf I1 <> 0 Then srclStrn"//MsgBox "//" + XMLLines(I) + "//" srclStrn2I2 = InStr ( XMLLines ( I ) , "" ) srclStrn*Left1 = Left ( XMLLines ( I ) , I1 + 13 ) srclStrn*//MsgBox "Left1" + EOL + "/" + Left1 + "/" srclStrnMiddle1 = EXEName srclStrn:// Middle1 = Mid (XMLLines ( I ), I1 + 14, I2 - I1 - 14 ) srclStrn.//MsgBox "Middle1" + EOL + "/" + Middle1 + "/" srclStrn%Right1 = Mid ( XMLLines ( I ) , I2 ) srclStrn,//MsgBox "Right1" + EOL + "/" + Right1 + "/"srclStrn)XMLLines ( I ) = Left1 + Middle1 + Right1 srclStrnExitsrclStrnEnd If srclStrn Next I srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLInes, EOL ) srclStrnKindOfList = "Project Info" srclStrn,//TextHolder = "Project Information (long):"srclStrn$//PopulateResultsListBox ProjectInfosrclStrnAdjustResultsListBoxsrclStrn WorkFinished3 srclStrnPrepareFileMenu srclStrnKindOfList = "Main Menu"srclStrn //TabPanel1.Value = ResultsPanelsrclStrnDisplayProjectInfoLong srclStrnEnd Sub EndGInt k5EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k4MethGrup¨k6nameStrn FinishDisplay CompStrnVsblInt sorcGrupk7EncoInt srclStrnSub FinishDisplay() srclStrnAdjustResultsListBoxsrclStrn WorkFinished3 srclStrnPrepareFileMenu srclStrnKindOfList = "Main Menu"srclStrnTabPanel1.Value = ResultsPanel srclStrnRestoreDetailBooleans srclStrnEnd Sub EndGInt k7EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k6MethGrupøk8nameStrn FirstWord CompStrnVsblInt sorcGrupLk9EncoInt srclStrn,Function FirstWord(Str1 As String) As StringsrclStrnDim InStr1 As Integer srclStrnInStr1 = InStr ( Str1, " " ) srclStrnIf InStr1 = 0 Then srclStrn Return Str1 srclStrnElsesrclStrn!Return Left ( Str1, InStr1 - 1 ) srclStrnEnd If srclStrn srclStrn End FunctionEndGInt k9EncoInt AlasStrnflagInt shrdInt parmStrnStr1 As String rsltStrnString EndGInt k8MethGrup 8k:nameStrn FormatForList CompStrnVsblInt sorcGrup Œk;EncoInt srclStrn-Function FormatForList(S As String) As String srclStrn.Dim Temp, Temp1, Temp2, Temp3, Temp4 As String srclStrnIf LocationDetails = False Then srclStrnReturn SsrclStrnElse srclStrnIf CurrentModule = "" Then srclStrn Temp1 = "" srclStrnElse srclStrnTemp1 = CurrentModule srclStrnEnd If srclStrnIf CurrentControl = "" Then srclStrn Temp2 = "" srclStrnElse srclStrnIf CurrentMethod <> "" Or _ srclStrn S <> "" ThensrclStrnTemp2 = CurrentControl srclStrnElse srclStrnTemp2 = CurrentControl srclStrnEnd If srclStrnEnd If srclStrnIf CurrentMenuItem = "" ThensrclStrn Temp3 = "" srclStrnElse srclStrnIf CurrentMethod <> "" Or _ srclStrn S <> "" ThensrclStrnTemp3 = CurrentMenuItem srclStrnElse srclStrnTemp3 = CurrentMenuItem srclStrnEnd If srclStrnEnd If srclStrnIf CurrentMethod = "" Then srclStrn Temp4 = "" srclStrnElse srclStrnIf S <> "" Then srclStrnIf CurrentMethod = S Then srclStrn Temp4 = "" srclStrnElse srclStrnTemp4 = CurrentMethod srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrn(If Temp4 = S And S <> "" Then Temp4 = ""srclStrnIf Temp3 = S And S <> "" Then srclStrn Temp3 = "" srclStrnEnd If srclStrnEnd If srclStrn//Add period to current module srclStrn1If Temp1 <> "" And ( Temp2 <> "" Or Temp3 <> "" _ srclStrn4Or Temp4 <> "" Or S <> "" ) Then Temp1 = Temp1 + "."srclStrn//Add period to current control srclStrn>If Temp2 <> "" And ( Temp3 <> "" Or Temp4 <> "" Or S <> "" ) _ srclStrnThen Temp2 = Temp2 + "."srclStrn!//Add period to current menu item srclStrnFIf Temp3 <> "" And ( Temp4 <> "" Or S <> "" ) Then Temp3 = Temp3 + "." srclStrn)Temp = Temp1 + Temp2 + Temp3 + Temp4 + S srclStrnIf AlphabeticalByLocation Then srclStrnIf Temp4 <> "" And S <> "" Then srclStrnTemp4 = Temp4 + "." srclStrnEnd If srclStrn(Temp = Temp1 + Temp2 + Temp3 + Temp4 + SsrclStrnElse srclStrn9Temp = S + " (in " + Temp1 + Temp2 + Temp3 + Temp4 + ")" srclStrnEnd If srclStrnTemp = Trim ( Temp ) srclStrn If Right ( Temp, 2 ) = ".)" ThensrclStrn,Temp = Left ( Temp, Len ( Temp ) - 2 ) + ")"srclStrnEnd If srclStrnReturn Trim ( Temp ) srclStrnMsgBox "Temp " + Temp srclStrn End FunctionEndGInt k;EncoInt AlasStrnflagInt shrdInt parmStrn S As String rsltStrnString EndGInt k:MethGrupk" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn4If LeftB ( LTrim ( Source ) , 9 ) = "Function " Or _srclStrn,LeftB ( LTrim ( Source ) , 4 ) = "Sub " ThensrclStrnInsideMethod = True srclStrn//MsgBox XMLLinesrclStrn//GoTo DoNextLineNumber srclStrnEnd If srclStrnEnd If srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnNIf Left ( Source, 7 ) = "End Sub" Or Left ( Source, 12 ) = "End Function" Then srclStrnInsideMethod = FalsesrclStrnEnd If srclStrnEnd If srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnGetCurrentInfoS srclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnPos1Changed = False srclStrnMethodChanged = False srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrnIf Setting = "Details" Then srclStrn Temp2 = "" srclStrnIf CurrentModule <> "" Then srclStrn#Temp2 = Temp2 + CurrentModule + "." srclStrnEnd If srclStrnIf CurrentControl <> "" ThensrclStrn$Temp2 = Temp2 + CurrentControl + "."srclStrnEnd If srclStrnTemp3 = Trim ( Source ) srclStrnAIf Left ( Temp3, 9 ) = "Function " And MethodChanged = False Then srclStrnMethodChanged = TruesrclStrn!Pos3 = InStr ( 10, Source, " " ) srclStrn!Pos4 = InStr ( 10, Source, "(" ) srclStrn!Pos3 = MinNonZero ( Pos3, Pos4 ) srclStrn.CurrentMethod = Mid1 ( Source, 10, Pos3 - 1 ) srclStrnEnd If srclStrn "" Then srclStrnTemp2 = Temp2 + CurrentMethod srclStrnEnd If srclStrnIf CurrentMenuItem <> "" Then srclStrnTemp2 = Temp2 + CurrentMenuItem srclStrnEnd If srclStrn$Temp2 = Temp + " (in " + Temp2 + ")"srclStrnEnd If srclStrnIf Setting = "Location" ThensrclStrn Temp2 = "" srclStrnIf CurrentModule <> "" Then srclStrn#Temp2 = Temp2 + CurrentModule + "." srclStrnEnd If srclStrnIf CurrentControl <> "" ThensrclStrn$Temp2 = Temp2 + CurrentControl + "."srclStrnEnd If srclStrnTemp3 = Trim ( Source ) srclStrnAIf Left ( Temp3, 9 ) = "Function " And MethodChanged = False Then srclStrnMethodChanged = TruesrclStrn!Pos3 = InStr ( 10, Source, " " ) srclStrn!Pos4 = InStr ( 10, Source, "(" ) srclStrn!Pos3 = MinNonZero ( Pos3, Pos4 ) srclStrn.CurrentMethod = Mid1 ( Source, 10, Pos3 - 1 ) srclStrnEnd If srclStrn "" Then srclStrn%Temp2 = Temp2 + CurrentMethod + ": " srclStrnEnd If srclStrnIf CurrentMenuItem <> "" Then srclStrn'Temp2 = Temp2 + CurrentMenuItem + ": " srclStrnEnd If srclStrnTemp2 = Temp2 + TempsrclStrnEnd If srclStrnIf Setting = "Details" Then srclStrnAllWords2.Append Temp2 srclStrn ElseIf Setting = "Location" ThensrclStrnAllWords2.Append Temp2 srclStrnElse srclStrnAllWords2.Append Temp srclStrnEnd If srclStrnPos1 = Pos1 + Len ( Temp ) srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnElse srclStrnGetCurrentInfoX srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrn2If TaskSelected <> "Change a Particular Name" Then srclStrn/If TaskSelected <> "Get Unused Properties" Then srclStrnEndProgressBar2 srclStrnEnd If srclStrnEnd If srclStrnAllWords2.Sort srclStrnRemoveDuplicates AllWords2 srclStrnEnd Sub EndGInt k=EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt knameStrnGetBasicKeywordsCompStrnVsblInt sorcGrupYÀk?EncoInt srclStrnSub GetBasicKeywords() srclStrnDim I As IntegersrclStrnDim Temp As String srclStrnDim UpperBound1 As Integer srclStrnGetAllSourceWords srclStrn#UpperBound1 = Ubound ( AllWords2 ) srclStrn WorkStarted srclStrnFor I = 0 To UpperBound1srclStrnTemp = AllWords2 ( I ) srclStrnSelect Case TempsrclStrn Case "abs" srclStrnBasicKeywords.Append "Abs" srclStrnCase "absolutepath" srclStrn#BasicKeywords.Append "AbsolutePath" srclStrnCase "acceleratorkey" srclStrn%BasicKeywords.Append "AcceleratorKey" srclStrnCase "acceptfiledrop" srclStrn%BasicKeywords.Append "AcceptFileDrop" srclStrnCase "acceptpicturedrop"srclStrn(BasicKeywords.Append "AcceptPictureDrop"srclStrnCase "accepttextdrop" srclStrn%BasicKeywords.Append "AcceptTextDrop" srclStrn Case "action" srclStrnBasicKeywords.Append "Action" srclStrnCase "actionbuttoncaption" srclStrn*BasicKeywords.Append "ActionButtonCaption" srclStrnCase "activate" srclStrnBasicKeywords.Append "Activate" srclStrnCase "addfolder"srclStrn BasicKeywords.Append "AddFolder"srclStrnCase "addressbook" srclStrn"BasicKeywords.Append "AddressBook" srclStrn Case "addrow" srclStrnBasicKeywords.Append "AddRow" srclStrn Case "and" srclStrnBasicKeywords.Append "And" srclStrn Case "app" srclStrnBasicKeywords.Append "App" srclStrn Case "append" srclStrnBasicKeywords.Append "Append" srclStrnCase "appquitting" srclStrn"BasicKeywords.Append "appQuitting" srclStrnCase "arrowcursor" srclStrn"BasicKeywords.Append "ArrowCursor" srclStrn Case "as" srclStrnBasicKeywords.Append "As" srclStrn Case "asc" srclStrnBasicKeywords.Append "Asc" srclStrn Case "ascb" srclStrnBasicKeywords.Append "AscB" srclStrnCase "asynccommandkey" srclStrn&BasicKeywords.Append "AsyncCommandKey" srclStrnCase "asynckeydown" srclStrn#BasicKeywords.Append "AsyncKeyDown" srclStrnCase "backdrop" srclStrnBasicKeywords.Append "Backdrop" srclStrn Case "beep" srclStrnBasicKeywords.Append "Beep" srclStrn Case "bin" srclStrnBasicKeywords.Append "Bin" srclStrn Case "blue" srclStrnBasicKeywords.Append "Blue" srclStrn Case "bold" srclStrnBasicKeywords.Append "Bold" srclStrnCase "boolean" srclStrnBasicKeywords.Append "Boolean" srclStrn Case "byref"srclStrnBasicKeywords.Append "ByRef"srclStrn Case "byval"srclStrnBasicKeywords.Append "ByVal"srclStrn Case "call" srclStrnBasicKeywords.Append "Call" srclStrnCase "cancelclose" srclStrn"BasicKeywords.Append "CancelClose" srclStrnCase "caption" srclStrnBasicKeywords.Append "Caption" srclStrn Case "case" srclStrnBasicKeywords.Append "Case" srclStrn Case "cell" srclStrnBasicKeywords.Append "Cell" srclStrnCase "cellaction" srclStrn!BasicKeywords.Append "CellAction" srclStrnCase "cellbackgroundpaint" srclStrn*BasicKeywords.Append "CellBackgroundPaint" srclStrnCase "cellbold" srclStrnBasicKeywords.Append "CellBold" srclStrnCase "cellclick"srclStrn BasicKeywords.Append "CellClick"srclStrnCase "cellgotfocus" srclStrn#BasicKeywords.Append "CellGotFocus" srclStrnCase "cellkeydown" srclStrn"BasicKeywords.Append "CellKeyDown" srclStrnCase "celllostfocus"srclStrn$BasicKeywords.Append "CellLostFocus"srclStrnCase "celltextchange" srclStrn%BasicKeywords.Append "CellTextChange" srclStrnCase "celltextpaint"srclStrn$BasicKeywords.Append "CellTextPaint"srclStrn Case "change" srclStrnBasicKeywords.Append "Change" srclStrnCase "checked" srclStrnBasicKeywords.Append "Checked" srclStrn Case "child"srclStrnBasicKeywords.Append "Child"srclStrn Case "chr" srclStrnBasicKeywords.Append "Chr" srclStrn Case "chrb" srclStrnBasicKeywords.Append "ChrB" srclStrnCase "clearrect"srclStrn BasicKeywords.Append "ClearRect"srclStrn Case "close"srclStrnBasicKeywords.Append "Close"srclStrnCase "collapserow" srclStrn"BasicKeywords.Append "CollapseRow" srclStrn Case "color"srclStrnBasicKeywords.Append "Color"srclStrn Case "column" srclStrnBasicKeywords.Append "Column" srclStrnCase "columncount" srclStrn"BasicKeywords.Append "ColumnCount" srclStrnCase "columnwidths" srclStrn#BasicKeywords.Append "ColumnWidths" srclStrnCase "comparerows" srclStrn"BasicKeywords.Append "CompareRows" srclStrnCase "copyfileto" srclStrn!BasicKeywords.Append "CopyFileTo" srclStrn Case "count"srclStrnBasicKeywords.Append "Count"srclStrnCase "countfields" srclStrn"BasicKeywords.Append "CountFields" srclStrnCase "createtextfile" srclStrn%BasicKeywords.Append "CreateTextFile" srclStrnCase "creationdate" srclStrn#BasicKeywords.Append "CreationDate" srclStrnCase "deactivate" srclStrn!BasicKeywords.Append "Deactivate" srclStrnCase "deleteallrows"srclStrn$BasicKeywords.Append "DeleteAllRows"srclStrnCase "destructor" srclStrn!BasicKeywords.Append "Destructor" srclStrn Case "dim" srclStrnBasicKeywords.Append "Dim" srclStrnCase "directory"srclStrn BasicKeywords.Append "Directory"srclStrnCase "displayname" srclStrn"BasicKeywords.Append "DisplayName" srclStrn Case "do" srclStrnBasicKeywords.Append "Do" srclStrn Case "double" srclStrnBasicKeywords.Append "Double" srclStrnCase "doubleclick" srclStrn"BasicKeywords.Append "DoubleClick" srclStrn Case "downto" srclStrnBasicKeywords.Append "DownTo" srclStrn Case "drag" srclStrnBasicKeywords.Append "Drag" srclStrnCase "dragitem" srclStrnBasicKeywords.Append "DragItem" srclStrnCase "dragobject" srclStrn!BasicKeywords.Append "DragObject" srclStrnCase "dragreorderrows" srclStrn&BasicKeywords.Append "DragReorderRows" srclStrnCase "dragrow" srclStrnBasicKeywords.Append "DragRow" srclStrnCase "drawline" srclStrnBasicKeywords.Append "DrawLine" srclStrnCase "drawpicture" srclStrn"BasicKeywords.Append "DrawPicture" srclStrnCase "drawrect" srclStrnBasicKeywords.Append "DrawRect" srclStrnCase "drawstring" srclStrn!BasicKeywords.Append "DrawString" srclStrnCase "dropobject" srclStrn!BasicKeywords.Append "DropObject" srclStrn Case "else" srclStrnBasicKeywords.Append "Else" srclStrn Case "elseif" srclStrnBasicKeywords.Append "ElseIf" srclStrn Case "enable" srclStrnBasicKeywords.Append "Enable" srclStrnCase "enabled" srclStrnBasicKeywords.Append "Enabled" srclStrnCase "enablemenuitems" srclStrn&BasicKeywords.Append "EnableMenuItems" srclStrn Case "end" srclStrnBasicKeywords.Append "End" srclStrn Case "endif"srclStrnBasicKeywords.Append "EndIf"srclStrnCase "endofline"srclStrn BasicKeywords.Append "EndOfLine"srclStrn Case "eof" srclStrnBasicKeywords.Append "EOF" srclStrnCase "exception"srclStrn BasicKeywords.Append "Exception"srclStrn Case "exists" srclStrnBasicKeywords.Append "Exists" srclStrn Case "exit" srclStrnBasicKeywords.Append "Exit" srclStrnCase "expanded" srclStrnBasicKeywords.Append "Expanded" srclStrnCase "expandrow"srclStrn BasicKeywords.Append "ExpandRow"srclStrn Case "false"srclStrnBasicKeywords.Append "False"srclStrnCase "fillcolor"srclStrn BasicKeywords.Append "FillColor"srclStrnCase "fillrect" srclStrnBasicKeywords.Append "FillRect" srclStrn Case "floor"srclStrnBasicKeywords.Append "Floor"srclStrnCase "folderitem" srclStrn!BasicKeywords.Append "FolderItem" srclStrnCase "folderitemavailable" srclStrn*BasicKeywords.Append "FolderItemAvailable" srclStrn Case "font" srclStrnBasicKeywords.Append "Font" srclStrnCase "fontcount"srclStrn BasicKeywords.Append "FontCount"srclStrn Case "for" srclStrnBasicKeywords.Append "For" srclStrnCase "forecolor"srclStrn BasicKeywords.Append "ForeColor"srclStrnCase "function" srclStrnBasicKeywords.Append "Function" srclStrnCase "g"srclStrnBasicKeywords.Append "g"srclStrnCase "getfolderitem"srclStrn$BasicKeywords.Append "GetFolderItem"srclStrnCase "getopenfolderitem"srclStrn(BasicKeywords.Append "GetOpenFolderItem"srclStrnCase "getsavefolderitem"srclStrn(BasicKeywords.Append "GetSaveFolderItem"srclStrnCase "gotfocus" srclStrnBasicKeywords.Append "GotFocus" srclStrn Case "goto" srclStrnBasicKeywords.Append "GoTo" srclStrnCase "graphics" srclStrnBasicKeywords.Append "Graphics" srclStrn Case "greedy" srclStrnBasicKeywords.Append "Greedy" srclStrn Case "green"srclStrnBasicKeywords.Append "Green"srclStrn Case "gt" srclStrnBasicKeywords.Append "gt" srclStrnCase "headerpressed"srclStrn$BasicKeywords.Append "HeaderPressed"srclStrn Case "height" srclStrnBasicKeywords.Append "Height" srclStrn Case "hex" srclStrnBasicKeywords.Append "Hex" srclStrn Case "index"srclStrnBasicKeywords.Append "Index"srclStrn Case "if" srclStrnBasicKeywords.Append "If" srclStrn Case "image"srclStrnBasicKeywords.Append "Image"srclStrnCase "inrange" srclStrnBasicKeywords.Append "InRange" srclStrn Case "insert" srclStrnBasicKeywords.Append "Insert" srclStrn Case "instr"srclStrnBasicKeywords.Append "InStr"srclStrn Case "instrb" srclStrnBasicKeywords.Append "InStrB" srclStrnCase "integer" srclStrnBasicKeywords.Append "Integer" srclStrn Case "italic" srclStrnBasicKeywords.Append "Italic" srclStrn Case "item" srclStrnBasicKeywords.Append "Item" srclStrn Case "join" srclStrnBasicKeywords.Append "Join" srclStrn Case "key" srclStrnBasicKeywords.Append "Key" srclStrnCase "keyboard" srclStrnBasicKeywords.Append "Keyboard" srclStrnCase "keydown" srclStrnBasicKeywords.Append "KeyDown" srclStrn Case "left" srclStrnBasicKeywords.Append "Left" srclStrnCase "lastindex"srclStrn BasicKeywords.Append "LastIndex"srclStrn Case "leftb"srclStrnBasicKeywords.Append "LeftB"srclStrn Case "len" srclStrnBasicKeywords.Append "Len" srclStrn Case "lenb" srclStrnBasicKeywords.Append "LenB" srclStrnCase "linenumatcharpos" srclStrn'BasicKeywords.Append "LineNumAtCharPos" srclStrn Case "list" srclStrnBasicKeywords.Append "List" srclStrnCase "listcount"srclStrn BasicKeywords.Append "ListCount"srclStrnCase "listindex"srclStrn BasicKeywords.Append "ListIndex"srclStrn Case "ltrim"srclStrnBasicKeywords.Append "LTrim"srclStrn Case "loop" srclStrnBasicKeywords.Append "Loop" srclStrnCase "lostfocus"srclStrn BasicKeywords.Append "LostFocus"srclStrnCase "lowercase"srclStrn BasicKeywords.Append "Lowercase"srclStrn Case "lt" srclStrnBasicKeywords.Append "lt" srclStrnCase "maccreator" srclStrn!BasicKeywords.Append "MacCreator" srclStrnCase "mactype" srclStrnBasicKeywords.Append "MacType" srclStrn Case "map" srclStrnBasicKeywords.Append "Map" srclStrn Case "max" srclStrnBasicKeywords.Append "Max" srclStrnCase "maximize" srclStrnBasicKeywords.Append "Maximize" srclStrnCase "maximum" srclStrnBasicKeywords.Append "Maximum" srclStrn Case "me" srclStrnBasicKeywords.Append "Me" srclStrnCase "memoryblock" srclStrn"BasicKeywords.Append "MemoryBlock" srclStrnCase "microseconds" srclStrn#BasicKeywords.Append "Microseconds" srclStrn Case "mid" srclStrnBasicKeywords.Append "Mid" srclStrn Case "midb" srclStrnBasicKeywords.Append "MidB" srclStrn Case "min" srclStrnBasicKeywords.Append "Min" srclStrnCase "minimize" srclStrnBasicKeywords.Append "Minimize" srclStrnCase "minimum" srclStrnBasicKeywords.Append "Minimum" srclStrn Case "mod" srclStrnBasicKeywords.Append "Mod" srclStrn Case "mode" srclStrnBasicKeywords.Append "Mode" srclStrnCase "modificationdate" srclStrn'BasicKeywords.Append "ModificationDate" srclStrnCase "mousecursor" srclStrn"BasicKeywords.Append "MouseCursor" srclStrnCase "mousedown"srclStrn BasicKeywords.Append "MouseDown"srclStrnCase "mousedrag"srclStrn BasicKeywords.Append "MouseDrag"srclStrnCase "mouseenter" srclStrn!BasicKeywords.Append "MouseEnter" srclStrnCase "mouseexit"srclStrn BasicKeywords.Append "MouseExit"srclStrnCase "mousemove"srclStrn BasicKeywords.Append "MouseMove"srclStrnCase "mouseup" srclStrnBasicKeywords.Append "MouseUp" srclStrn Case "moved"srclStrnBasicKeywords.Append "Moved"srclStrn Case "msgbox" srclStrnBasicKeywords.Append "MsgBox" srclStrn Case "name" srclStrnBasicKeywords.Append "Name" srclStrnCase "namedict" srclStrnBasicKeywords.Append "NameDict" srclStrn Case "new" srclStrnBasicKeywords.Append "New" srclStrnCase "newdragitem" srclStrn"BasicKeywords.Append "NewDragItem" srclStrnCase "newmemoryblock" srclStrn%BasicKeywords.Append "NewMemoryBlock" srclStrnCase "newpicture" srclStrn!BasicKeywords.Append "NewPicture" srclStrnCase "newposition" srclStrn"BasicKeywords.Append "Newposition" srclStrn Case "next" srclStrnBasicKeywords.Append "Next" srclStrnCase "nextpage" srclStrnBasicKeywords.Append "NextPage" srclStrn Case "nil" srclStrnBasicKeywords.Append "Nil" srclStrn Case "not" srclStrnBasicKeywords.Append "Not" srclStrnCase "nthfield" srclStrnBasicKeywords.Append "NthField" srclStrn Case "obj" srclStrnBasicKeywords.Append "Obj" srclStrn Case "open" srclStrnBasicKeywords.Append "Open" srclStrnCase "openaspicture"srclStrn$BasicKeywords.Append "OpenAsPicture"srclStrnCase "openastextfile" srclStrn%BasicKeywords.Append "OpenAsTextFile" srclStrnCase "openprinter" srclStrn"BasicKeywords.Append "OpenPrinter" srclStrnCase "openprinterdialog"srclStrn(BasicKeywords.Append "OpenPrinterDialog"srclStrnCase "options" srclStrnBasicKeywords.Append "Options" srclStrn Case "or" srclStrnBasicKeywords.Append "Or" srclStrnCase "pageleft" srclStrnBasicKeywords.Append "PageLeft" srclStrnCase "pagetop" srclStrnBasicKeywords.Append "PageTop" srclStrn Case "paint"srclStrnBasicKeywords.Append "Paint"srclStrn Case "parent" srclStrnBasicKeywords.Append "Parent" srclStrn Case "period" srclStrnBasicKeywords.Append "Period" srclStrn Case "pic" srclStrnBasicKeywords.Append "Pic" srclStrnCase "picture" srclStrnBasicKeywords.Append "Picture" srclStrnCase "pictureavailable" srclStrn'BasicKeywords.Append "PictureAvailable" srclStrnCase "picturefolder"srclStrn$BasicKeywords.Append "PictureFolder"srclStrn Case "pixel"srclStrnBasicKeywords.Append "Pixel"srclStrn Case "pop" srclStrnBasicKeywords.Append "Pop" srclStrn Case "post" srclStrnBasicKeywords.Append "Post" srclStrnCase "preferencesfolder"srclStrn(BasicKeywords.Append "PreferencesFolder"srclStrn Case "quit" srclStrnBasicKeywords.Append "Quit" srclStrn Case "random" srclStrnBasicKeywords.Append "Random" srclStrnCase "readall" srclStrnBasicKeywords.Append "ReadAll" srclStrnCase "readline" srclStrnBasicKeywords.Append "ReadLine" srclStrnCase "readonly" srclStrnBasicKeywords.Append "ReadOnly" srclStrn Case "red" srclStrnBasicKeywords.Append "Red" srclStrn Case "redim"srclStrnBasicKeywords.Append "ReDim"srclStrnCase "refresh" srclStrnBasicKeywords.Append "Refresh" srclStrn Case "regex"srclStrnBasicKeywords.Append "RegEx"srclStrnCase "regexmatch" srclStrn!BasicKeywords.Append "RegExMatch" srclStrn Case "remove" srclStrnBasicKeywords.Append "Remove" srclStrnCase "removerow"srclStrn BasicKeywords.Append "RemoveRow"srclStrnCase "replace" srclStrnBasicKeywords.Append "Replace" srclStrnCase "replaceb" srclStrnBasicKeywords.Append "ReplaceB" srclStrnCase "replaceall" srclStrn!BasicKeywords.Append "ReplaceAll" srclStrnCase "replaceallb" srclStrn"BasicKeywords.Append "ReplaceAllB" srclStrnCase "replaceallmatches"srclStrn(BasicKeywords.Append "ReplaceAllMatches"srclStrnCase "replacelineendings" srclStrn)BasicKeywords.Append "ReplaceLineEndings" srclStrnCase "replacementpattern" srclStrn)BasicKeywords.Append "ReplacementPattern" srclStrnCase "resized" srclStrnBasicKeywords.Append "Resized" srclStrnCase "resizing" srclStrnBasicKeywords.Append "Resizing" srclStrnCase "restore" srclStrnBasicKeywords.Append "Restore" srclStrn Case "result" srclStrnBasicKeywords.Append "Result" srclStrn Case "return" srclStrnBasicKeywords.Append "Return" srclStrn Case "rgb" srclStrnBasicKeywords.Append "RGB" srclStrnCase "rgbsurface" srclStrn!BasicKeywords.Append "RGBSurface" srclStrn Case "right"srclStrnBasicKeywords.Append "Right"srclStrn Case "rIghtb" srclStrnBasicKeywords.Append "RIghtB" srclStrn Case "rnd" srclStrnBasicKeywords.Append "Rnd" srclStrn Case "row" srclStrnBasicKeywords.Append "Row" srclStrn Case "row1" srclStrnBasicKeywords.Append "Row1" srclStrn Case "row2" srclStrnBasicKeywords.Append "Row2" srclStrn Case "rtrim"srclStrnBasicKeywords.Append "RTrim"srclStrnCase "scrollposition" srclStrn%BasicKeywords.Append "ScrollPosition" srclStrn Case "search" srclStrnBasicKeywords.Append "Search" srclStrnCase "searchpattern"srclStrn$BasicKeywords.Append "SearchPattern"srclStrnCase "selbold" srclStrnBasicKeywords.Append "SelBold" srclStrnCase "selchange"srclStrn BasicKeywords.Append "SelChange"srclStrn Case "select" srclStrnBasicKeywords.Append "Select" srclStrnCase "selectcolor" srclStrn"BasicKeywords.Append "SelectColor" srclStrnCase "selectedfolderitem" srclStrn)BasicKeywords.Append "SelectedFolderItem" srclStrn Case "self" srclStrnBasicKeywords.Append "Self" srclStrnCase "selitalic"srclStrn BasicKeywords.Append "SelItalic"srclStrnCase "sellength"srclStrn BasicKeywords.Append "SelLength"srclStrnCase "selstart" srclStrnBasicKeywords.Append "SelStart" srclStrnCase "selunderline" srclStrn#BasicKeywords.Append "SelUnderline" srclStrn Case "send" srclStrnBasicKeywords.Append "Send" srclStrnCase "setfocus" srclStrnBasicKeywords.Append "SetFocus" srclStrnCase "setformdata" srclStrn"BasicKeywords.Append "SetFormData" srclStrnCase "setrequestheader" srclStrn'BasicKeywords.Append "SetRequestHeader" srclStrnCase "shortdate"srclStrn BasicKeywords.Append "ShortDate"srclStrn Case "show" srclStrnBasicKeywords.Append "Show" srclStrnCase "showmodal"srclStrn BasicKeywords.Append "ShowModal"srclStrnCase "showurl" srclStrnBasicKeywords.Append "ShowURL" srclStrn Case "single" srclStrnBasicKeywords.Append "Single" srclStrn Case "sort" srclStrnBasicKeywords.Append "Sort" srclStrnCase "sortcolumn" srclStrn!BasicKeywords.Append "SortColumn" srclStrn Case "split"srclStrnBasicKeywords.Append "Split"srclStrn Case "sqrt" srclStrnBasicKeywords.Append "Sqrt" srclStrn Case "state"srclStrnBasicKeywords.Append "State"srclStrn Case "step" srclStrnBasicKeywords.Append "Step" srclStrn Case "str" srclStrnBasicKeywords.Append "Str" srclStrn Case "string" srclStrnBasicKeywords.Append "String" srclStrn Case "sub" srclStrnBasicKeywords.Append "Sub" srclStrnCase "subexpressionstartb" srclStrn*BasicKeywords.Append "SubexpressionStartB" srclStrnCase "subexpressionstring" srclStrn*BasicKeywords.Append "SubexpressionString" srclStrn Case "tan" srclStrnBasicKeywords.Append "Tan" srclStrn Case "text" srclStrnBasicKeywords.Append "Text" srclStrnCase "textalign"srclStrn BasicKeywords.Append "TextAlign"srclStrnCase "textascent" srclStrn!BasicKeywords.Append "TextAscent" srclStrnCase "textavailable"srclStrn$BasicKeywords.Append "TextAvailable"srclStrnCase "textchange" srclStrn!BasicKeywords.Append "TextChange" srclStrnCase "textchanged" srclStrn"BasicKeywords.Append "TextChanged" srclStrnCase "textcolor"srclStrn BasicKeywords.Append "TextColor"srclStrnCase "textfont" srclStrnBasicKeywords.Append "TextFont" srclStrnCase "textheight" srclStrn!BasicKeywords.Append "TextHeight" srclStrnCase "textinputstream" srclStrn&BasicKeywords.Append "TextInputStream" srclStrnCase "textoutputstream" srclStrn'BasicKeywords.Append "TextOutputStream" srclStrnCase "textsize" srclStrnBasicKeywords.Append "TextSize" srclStrn Case "then" srclStrnBasicKeywords.Append "Then" srclStrn Case "to" srclStrnBasicKeywords.Append "To" srclStrn Case "top" srclStrnBasicKeywords.Append "Top" srclStrn Case "trim" srclStrnBasicKeywords.Append "Trim" srclStrn Case "true" srclStrnBasicKeywords.Append "True" srclStrn Case "ubound" srclStrnBasicKeywords.Append "Ubound" srclStrnCase "underline"srclStrn BasicKeywords.Append "Underline"srclStrn Case "until"srclStrnBasicKeywords.Append "Until"srclStrnCase "uppercase"srclStrn BasicKeywords.Append "Uppercase"srclStrn Case "val" srclStrnBasicKeywords.Append "Val" srclStrn Case "value"srclStrnBasicKeywords.Append "Value"srclStrnCase "valuechanged" srclStrn#BasicKeywords.Append "ValueChanged" srclStrnCase "validationerror" srclStrn&BasicKeywords.Append "ValidationError" srclStrnCase "visible" srclStrnBasicKeywords.Append "Visible" srclStrnCase "watchcursor" srclStrn"BasicKeywords.Append "WatchCursor" srclStrn Case "wend" srclStrnBasicKeywords.Append "Wend" srclStrn Case "while"srclStrnBasicKeywords.Append "While"srclStrn Case "width"srclStrnBasicKeywords.Append "Width"srclStrn Case "window" srclStrnBasicKeywords.Append "Window" srclStrnCase "windowcount" srclStrn"BasicKeywords.Append "WindowCount" srclStrn Case "write"srclStrnBasicKeywords.Append "Write"srclStrnCase "writeline"srclStrn BasicKeywords.Append "WriteLine"srclStrnCase "x"srclStrnBasicKeywords.Append "X"srclStrn Case "xor" srclStrnBasicKeywords.Append "Xor" srclStrnCase "y"srclStrnBasicKeywords.Append "Y"srclStrn End Select srclStrn Next I srclStrn#RemoveDuplicates ( BasicKeywords ) srclStrnEnd Sub EndGInt k?EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k>MethGrup Àk@nameStrn GetConstantsCompStrnVsblInt sorcGrup ,kAEncoInt srclStrnSub GetConstants() srclStrnDim Pos1, Pos2 As Integer srclStrn+Dim Temp, TrimXMLLine, WholeLine1 As String srclStrnReDim Constants ( - 1 ) srclStrnPos2 = 1srclStrn:If TaskSelected = "Display Constants Used in Project" Then srclStrnStartProgressBar2 srclStrnEnd If srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn ResetCounters srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnGetCurrentInfoS srclStrn:If TaskSelected = "Display Constants Used in Project" Then srclStrnContinueProgressBar2srclStrnEnd If srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnGetCurrentInfoS srclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrnElse srclStrnGetCurrentInfoX srclStrnTrimXMLLine = Trim ( XMLLine ) srclStrn0If LeftB ( TrimXMLLine, 10 ) = "" ThensrclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrnTrimXMLLine = Trim ( XMLLine ) srclStrn.Pos1 = InStr ( TrimXMLLine, "" ) - 1 srclStrn(Temp = Mid1 ( TrimXMLLine, Pos1, Pos2 ) srclStrnS /// Remove /// below to restrict constants to user-defined constants? srclStrnS /// If Trim ( XMLLines ( XMLLineNumber + 4 ) ) <> "" Then srclStrn( /// GoTo DoNextLineNumbersrclStrn /// End If srclStrnIf Setting = "Location" ThensrclStrn-Constants.Append CurrentModule + ": " + Temp srclStrnElseIf Setting = "Details" Then srclStrn6Constants.Append Temp + " (in " + CurrentModule + ")" srclStrnElse srclStrnConstants.Append Temp srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrn:If TaskSelected = "Display Constants Used in Project" Then srclStrnEndProgressBar2 srclStrnEnd If srclStrn //RemoveDuplicates ( Constants )srclStrnEnd Sub EndGInt kAEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k@MethGrupŒkBnameStrnGetControlEventHandlers CompStrnVsblInt sorcGrupìkCEncoInt srclStrnSub GetControlEventHandlers() srclStrnDim Temp2, WholeLine1 As String srclStrn#ReDim ControlEventHandlers ( - 1 ) srclStrnStartProgressBar2 srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn ResetCounters srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrnTrimSource = Trim ( Source ) srclStrn-If ( StartsWith ( TrimSource, "Function " ) _ srclStrn(Or StartsWith ( TrimSource, "Sub " ) ) _srclStrnAnd CurrentControl <> "" Then srclStrnIf Setting = "Simple" Then srclStrnTemp2 = CurrentMethod srclStrnEnd If srclStrnIf Setting = "Details" Then srclStrn Temp2 = "" srclStrnIf CurrentModule <> "" Then srclStrn#Temp2 = Temp2 + CurrentModule + "." srclStrnEnd If srclStrnIf CurrentControl <> "" ThensrclStrnTemp2 = Temp2 + CurrentControl srclStrnEnd If srclStrn6Temp2 = CurrentMethod + " (for " + Temp2 + " control)" srclStrnEnd If srclStrnIf Setting = "Location" ThensrclStrn Temp2 = "" srclStrnIf CurrentModule <> "" Then srclStrn#Temp2 = Temp2 + CurrentModule + "." srclStrnEnd If srclStrnIf CurrentControl <> "" ThensrclStrn$Temp2 = Temp2 + CurrentControl + "."srclStrnEnd If srclStrnTemp2 = Temp2 + CurrentMethod srclStrnEnd If srclStrn!ControlEventHandlers.Append Temp2 srclStrnEnd If srclStrnElse srclStrnGetCurrentInfoX srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn%RemoveDuplicates ControlEventHandlers srclStrnEnd Sub EndGInt kCEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kBMethGrup ¸kDnameStrn GetControls CompStrnVsblInt sorcGrup $kEEncoInt srclStrnSub GetControls() srclStrnDim Pos1, Pos2 As Integer srclStrn*Dim Temp3, Temp4, ThisBN, ThisCN As String srclStrn#Dim ThisCNN, UB, UBB, UBC As String srclStrnReDim Controls ( - 1 ) srclStrnBlockNumber = - 1 srclStrnControlNumber = - 1 srclStrnUBoundControl = - 1 srclStrnUBoundBlock = - 1 srclStrn SLN = - 1 srclStrnStartProgressBar2 srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn'If IsSourceLine ( XMLLine ) = True Then srclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn SLN = SLN + 1 srclStrnReDim XLN ( SLN ) srclStrnXLN ( SLN ) = XMLLineNumber srclStrn(If Left ( SourceCodeLine, 4 ) = "Sub " _srclStrn0Or Left ( SourceCodeLine, 9 ) = "Function " ThensrclStrn SLN = SLN + 1 srclStrnReDim XLN ( SLN ) srclStrnXLN ( SLN ) = XMLLineNumber srclStrn SLN = SLN + 1 srclStrnReDim XLN ( SLN ) srclStrnXLN ( SLN ) = XMLLineNumber srclStrnEnd If srclStrnElse srclStrn9If LeftB ( LTrim ( XMLLine ) , 12 ) = "" Then srclStrn Pos1 = 26 srclStrn1Pos2 = InStr ( Pos1, XMLLine, "" ) srclStrn'Temp3 = Mid1 ( XMLLine, 26, Pos2 - 1 ) srclStrnEnd If srclStrn/If Left ( XMLLine, 14 ) = "" Then srclStrn Pos1 = 15 srclStrn0Pos2 = InStr ( 16, XMLLine, "" ) srclStrn)Temp4 = Mid1 ( XMLLine, Pos1, Pos2 - 1 ) srclStrnControlNumber = Val ( Temp4 ) srclStrn2If ControlNumber > Ubound ( ControlsOrdered ) Then srclStrn(ReDim ControlsOrdered ( ControlNumber ) srclStrnEnd If srclStrn5UBoundControl = Max ( UBoundControl, ControlNumber ) srclStrnUBC = Str ( UBoundControl ) srclStrn'If Len ( UBC ) = 1 Then UBC = "0" + UBC srclStrnUBB = Str ( UBoundBlock ) srclStrn'If Len ( UBB ) = 1 Then UBB = "0" + UBB srclStrnUB = UBB + UBC srclStrn!ReDim ControlName ( Val ( UB ) ) srclStrnThisBN = Str ( BlockNumber ) srclStrn0If Len ( ThisBN ) = 1 Then ThisBN = "0" + ThisBNsrclStrnThisCN = Str ( ControlNumber ) srclStrn0If Len ( ThisCN ) = 1 Then ThisCN = "0" + ThisCNsrclStrnThisCNN = ThisBN + ThisCN srclStrn'ControlName ( Val ( ThisCNN ) ) = Temp3 srclStrnControls.Append Temp3 srclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrn& ///DisplayArray Controls srclStrn) ///DisplayArray ControlName srclStrnEndProgressBar2 srclStrnBlockNumber = - 1 srclStrn" // ?? Controls.Sort srclStrnEnd Sub EndGInt kEEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kDMethGrupôkFnameStrnGetControlsByLocation CompStrnVsblInt sorcGrupTkGEncoInt srclStrnSub GetControlsByLocation() srclStrn$Dim ControlData ( 30, 60 ) As StringsrclStrnDim ControlIndex As Integer srclStrnDim DoControlSource As Boolean srclStrnDim K As IntegersrclStrnDim MyModules ( ) As String srclStrnDim Pos1 As Integer srclStrn&Dim Temp, Temp1, TrimXMLLine As String srclStrnDim WholeLine1 As StringsrclStrnReDim MyModules ( - 1 ) srclStrnSetForLocation srclStrnBlockNumber = - 1 srclStrnReDim Controls ( - 1 ) srclStrn-For XMLLineNumber = 0 To Ubound ( XMLLines ) srclStrn%XMLLine = XMLLines ( XMLLineNumber ) srclStrnTrimXMLLine = Trim ( XMLLine ) srclStrn1If Left ( TrimXMLLine, 12 ) = "" ) srclStrnMyModules.Append Temp srclStrnEnd If srclStrn3If Left ( TrimXMLLine, 14 ) = "" Then srclStrn5Temp = BetweenTags ( TrimXMLLine, "" ) srclStrn0Temp1 = Trim ( XMLLines ( XMLLineNumber - 1 ) ) srclStrn]Temp1 = BetweenTags ( Temp1, "", "" ) srclStrnE /// Comment: Temp = ControlIndex, Temp1 = ControlName srclStrnK = Val ( Temp ) srclStrn.Temp = MyModules ( BlockNumber ) + "." + Temp1 srclStrn%ControlData ( BlockNumber, K ) = Temp srclStrnControls.Append TempsrclStrnEnd If srclStrnNext XMLLineNumber srclStrnBlockNumber = - 1 srclStrnControlIndex = - 1 srclStrn-For XMLLineNumber = 0 To Ubound ( XMLLines ) srclStrn%XMLLine = XMLLines ( XMLLineNumber ) srclStrnTrimXMLLine = Trim ( XMLLine ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimSource = Trim ( Source ) srclStrn$If Left ( TrimSource, 4 ) = "Sub " _srclStrn,Or Left ( TrimSource, 9 ) = "Function " ThensrclStrnCurrentMethod = TrimSource srclStrn/If Left ( CurrentMethod, 9 ) = "Function " Then srclStrn*CurrentMethod = Mid ( CurrentMethod, 10 ) srclStrnEnd If srclStrn*If Left ( CurrentMethod, 4 ) = "Sub " Then srclStrn)CurrentMethod = Mid ( CurrentMethod, 5 ) srclStrnEnd If srclStrn$Pos1 = InStr ( CurrentMethod, "(" ) srclStrnIf Pos1 <> 0 Then srclStrn1CurrentMethod = Left ( CurrentMethod, Pos1 - 1 ) srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrn1If Left ( TrimXMLLine, 12 ) = "" Then srclStrnControlIndex = ControlIndex + 1 srclStrnDoControlSource = True srclStrnEnd If srclStrnIf DoControlSource = True Then srclStrn$If Left ( TrimSource, 4 ) = "Sub " _srclStrn,Or Left ( TrimSource, 9 ) = "Function " ThensrclStrnCurrentMethod = TrimSource srclStrn/If Left ( CurrentMethod, 9 ) = "Function " Then srclStrn*CurrentMethod = Mid ( CurrentMethod, 10 ) srclStrnEnd If srclStrn*If Left ( CurrentMethod, 4 ) = "Sub " Then srclStrn)CurrentMethod = Mid ( CurrentMethod, 5 ) srclStrnEnd If srclStrn$Pos1 = InStr ( CurrentMethod, "(" ) srclStrnIf Pos1 <> 0 Then srclStrn1CurrentMethod = Left ( CurrentMethod, Pos1 - 1 ) srclStrnEnd If srclStrnEnd If srclStrn8If LeftB ( TrimXMLLine, 18 ) = "" ThensrclStrnDoControlSource = False srclStrnEnd If srclStrnEnd If srclStrnDoNextHMLLineNumber:srclStrnNext XMLLineNumber srclStrnEnd Sub EndGInt kGEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kFMethGrupTkHnameStrnGetControlsWithDetails CompStrnVsblInt sorcGrup´kIEncoInt srclStrnSub GetControlsWithDetails()srclStrn$Dim ControlData ( 30, 60 ) As StringsrclStrnDim ControlIndex As Integer srclStrnDim Controls0 ( ) As String srclStrnDim DoControlSource As Boolean srclStrnDim I, K As Integer srclStrnDim MyModules ( ) As String srclStrnDim Pos1 As Integer srclStrn&Dim Temp, Temp1, TrimXMLLine As String srclStrnDim WholeLine1 As StringsrclStrnReDim MyModules ( - 1 ) srclStrnReDim Controls ( - 1 ) srclStrnReDim Controls0 ( - 1 ) srclStrnSetForLocation srclStrnBlockNumber = - 1 srclStrn-For XMLLineNumber = 0 To Ubound ( XMLLines ) srclStrn%XMLLine = XMLLines ( XMLLineNumber ) srclStrnTrimXMLLine = Trim ( XMLLine ) srclStrn1If Left ( TrimXMLLine, 12 ) = "" ) srclStrnMyModules.Append Temp srclStrnEnd If srclStrn3If Left ( TrimXMLLine, 14 ) = "" Then srclStrn5Temp = BetweenTags ( TrimXMLLine, "" ) srclStrn0Temp1 = Trim ( XMLLines ( XMLLineNumber - 1 ) ) srclStrn]Temp1 = BetweenTags ( Temp1, "", "" ) srclStrnE /// Comment: Temp = ControlIndex, Temp1 = ControlName srclStrnK = Val ( Temp ) srclStrn.Temp = MyModules ( BlockNumber ) + "." + Temp1 srclStrn%ControlData ( BlockNumber, K ) = Temp srclStrnControls0.Append Temp + "*" srclStrnEnd If srclStrnNext XMLLineNumber srclStrnBlockNumber = - 1 srclStrnControlIndex = - 1 srclStrn-For XMLLineNumber = 0 To Ubound ( XMLLines ) srclStrn%XMLLine = XMLLines ( XMLLineNumber ) srclStrnTrimXMLLine = Trim ( XMLLine ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimSource = Trim ( Source ) srclStrn$If Left ( TrimSource, 4 ) = "Sub " _srclStrn,Or Left ( TrimSource, 9 ) = "Function " ThensrclStrnCurrentMethod = TrimSource srclStrn/If Left ( CurrentMethod, 9 ) = "Function " Then srclStrn*CurrentMethod = Mid ( CurrentMethod, 10 ) srclStrnEnd If srclStrn*If Left ( CurrentMethod, 4 ) = "Sub " Then srclStrn)CurrentMethod = Mid ( CurrentMethod, 5 ) srclStrnEnd If srclStrn$Pos1 = InStr ( CurrentMethod, "(" ) srclStrnIf Pos1 <> 0 Then srclStrn1CurrentMethod = Left ( CurrentMethod, Pos1 - 1 ) srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrn1If Left ( TrimXMLLine, 12 ) = "" Then srclStrnControlIndex = ControlIndex + 1 srclStrnDoControlSource = True srclStrnEnd If srclStrnIf DoControlSource = True Then srclStrn$If Left ( TrimSource, 4 ) = "Sub " _srclStrn,Or Left ( TrimSource, 9 ) = "Function " ThensrclStrnCurrentMethod = TrimSource srclStrn/If Left ( CurrentMethod, 9 ) = "Function " Then srclStrn*CurrentMethod = Mid ( CurrentMethod, 10 ) srclStrnEnd If srclStrn*If Left ( CurrentMethod, 4 ) = "Sub " Then srclStrn)CurrentMethod = Mid ( CurrentMethod, 5 ) srclStrnEnd If srclStrn$Pos1 = InStr ( CurrentMethod, "(" ) srclStrnIf Pos1 <> 0 Then srclStrn1CurrentMethod = Left ( CurrentMethod, Pos1 - 1 ) srclStrnEnd If srclStrnPControls0.Append ControlData ( BlockNumber, ControlIndex ) + "." + CurrentMethodsrclStrnEnd If srclStrn8If LeftB ( TrimXMLLine, 18 ) = "" ThensrclStrnDoControlSource = False srclStrnEnd If srclStrnEnd If srclStrnDoNextHMLLineNumber:srclStrnNext XMLLineNumber srclStrnControls0.Sort srclStrnRemoveDuplicates Controls0 srclStrnI = Ubound ( Controls0 ) srclStrnReDim Controls ( I ) srclStrn"For I = 0 To Ubound ( Controls0 ) srclStrn!Controls ( I ) = Controls0 ( I ) srclStrn Next I srclStrn!For I = 0 To Ubound ( Controls ) srclStrn*If Right ( Controls ( I ) , 1 ) = "*" Then srclStrnControls.Insert I , "XXXXX" srclStrnControls.Insert I + 2 , "YYYYY" srclStrn I = I + 2 srclStrnEnd If srclStrn Next I srclStrn$For I = Ubound ( Controls ) DownTo 1srclStrnAIf Controls ( I ) = "XXXXX" And Controls ( I - 1 ) = "YYYYY" Then srclStrnControls.Remove I srclStrnEnd If srclStrn Next I srclStrn$For I = 0 To Ubound ( Controls ) - 1srclStrn$Controls ( I ) = Controls ( I + 1 ) srclStrn Next I srclStrn$Controls.Remove Ubound ( Controls ) srclStrn(For I = Ubound ( Controls ) - 1 DownTo 0srclStrn^If Trim ( Controls ( I ) ) = "YYYYY" And Right ( Trim ( Controls ( I + 1 ) ) , 1 ) <> "*" Then srclStrnControls.Remove I srclStrnEnd If srclStrn Next I srclStrn!For I = 0 To Ubound ( Controls ) srclStrn "" Then srclStrn+Controls ( I ) = "(" + Controls ( I ) + ")" srclStrnEnd If srclStrnEnd If srclStrn Next I srclStrnEnd Sub EndGInt kIEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kHMethGrup¨kJnameStrnGetCurrentInfoS CompStrnVsblInt sorcGrupkKEncoInt srclStrnSub GetCurrentInfoS() srclStrnDim B As Bookmark srclStrnDim Pos1 As Integer srclStrnTrimSource = Trim ( Source ) srclStrn$If Left ( TrimSource, 4 ) = "Sub " _srclStrn,Or Left ( TrimSource, 9 ) = "Function " ThensrclStrn"Pos1 = InStrB ( TrimSource, " " ) srclStrn3CurrentMethod = Trim ( MidB ( TrimSource, Pos1 ) ) srclStrnCurrentMenuItem = ""srclStrn$Pos1 = InStr ( CurrentMethod, "(" ) srclStrnIf Pos1 <> 0 Then srclStrn;CurrentMethod = Trim ( LeftB ( CurrentMethod, Pos1 - 1 ) ) srclStrnCurrentMenuItem = ""srclStrn If BuildingBookmarks Then /// mnsrclStrn#If CurrentControl <> "" Then /// mn srclStrnRB = New Bookmark ( CurrentControl + "." + CurrentMethod, BookmarkLines ) ////// mn srclStrn Else /// mn srclStrn;B = New Bookmark ( CurrentMethod, BookmarkLines ) ////// mn srclStrnEnd If /// mn srclStrn!CurrentBookmark.AddChild B /// mn srclStrnEnd If /// mn srclStrnEnd If srclStrnEnd If srclStrnEnd Sub EndGInt kKEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kJMethGrup kLnameStrnGetCurrentInfoX CompStrnVsblInt sorcGrup ˆkMEncoInt srclStrnSub GetCurrentInfoX() srclStrnDim Pos1, Pos2 As Integer srclStrn+Dim Temp, ThisBN, ThisCN, ThisCNN As String srclStrnDim TrimXMLLine As String srclStrnTrimXMLLine = Trim ( XMLLine ) srclStrn+If LeftB ( TrimXMLLine, 9 ) = "" _ srclStrnGAnd InStr ( XMLLInes ( XMLLineNumber - 1 ) , "" ) srclStrnIf Trim ( Temp ) <> "" Then srclStrn If BuildingBookmarks Then /// mnsrclStrn$If CurrentModule <> Temp Then /// mnsrclStrn=CurrentBookmark = New Bookmark ( Temp, BookmarkLines ) /// mn srclStrn&BookmarksListBox.AddFolder Temp /// mn srclStrnLBookmarksListBox.CellTag ( BookmarksListBox.LastIndex, 0 ) = CurrentBookmarksrclStrnEnd If /// mn srclStrnEnd If /// mn srclStrnCurrentModule = TempsrclStrnCurrentControl = "" srclStrnCurrentMenuItem = ""srclStrnCurrentMethod = "" srclStrnEnd If srclStrnEnd If srclStrn2If LeftB ( TrimXMLLine, 12 ) = " - 1 Then srclStrnThisBN = Str ( BlockNumber ) srclStrn0If Len ( ThisBN ) = 1 Then ThisBN = "0" + ThisBNsrclStrnThisCN = Str ( ControlNumber ) srclStrn0If Len ( ThisCN ) = 1 Then ThisCN = "0" + ThisCNsrclStrnThisCNN = ThisBN + ThisCN srclStrn1CurrentControl = ControlName ( Val ( ThisCNN ) ) srclStrnEnd If srclStrnCurrentMenuItem = ""srclStrnCurrentMethod = "" srclStrnEnd If srclStrn3If LeftB ( TrimXMLLine, 13 ) = "" Then srclStrn/Temp = Trim ( XMLLInes ( XMLLineNumber + 1 ) ) srclStrn Pos1 = 11 srclStrn#Pos2 = InStrB ( 12, Temp, "<" ) - 1 srclStrnCurrentControl = "" srclStrn,CurrentMenuItem = Mid1 ( Temp, Pos1, Pos2 ) srclStrnCurrentMethod = "" srclStrnEnd If srclStrnEnd Sub EndGInt kMEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kLMethGrupTkNnameStrn GetFunctionsCompStrnVsblInt sorcGrupÀkOEncoInt srclStrnSub GetFunctions() srclStrnDim WholeLine1 As StringsrclStrnReDim Methods ( - 1 ) srclStrnReDim MenuItems ( - 1 ) srclStrnControlNumber = - 1 srclStrnStartProgressBar2 srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn ResetCounters srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnGetCurrentInfoS srclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrnTrimSource = Trim ( Source ) srclStrn.If StartsWith ( TrimSource, "Function " ) Then srclStrn/Methods.Append FormatForList ( CurrentMethod ) srclStrnEnd If srclStrnElse srclStrnGetCurrentInfoX srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn Methods.SortsrclStrn//RemoveDuplicates Methods srclStrnEnd Sub EndGInt kOEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kNMethGrupÜkPnameStrnGetGeneralEventHandlers CompStrnVsblInt sorcGrup<kQEncoInt srclStrnSub GetGeneralEventHandlers() srclStrnDim WholeLine1 As StringsrclStrn#ReDim GeneralEventHandlers ( - 1 ) srclStrnStartProgressBar2 srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn ResetCounters srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnGetCurrentInfoS srclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrnTrimSource = Trim ( Source ) srclStrn-If ( StartsWith ( TrimSource, "Function " ) _ srclStrn(Or StartsWith ( TrimSource, "Sub " ) ) _srclStrnAnd CurrentControl = "" ThensrclStrnBIf Trim ( XMLLines ( XMLLineNumber - 6 ) ) = "" Then srclStrn "" Then srclStrnKindOfLine = "Not SourceLine" srclStrnEnd If srclStrnIf XMLLineNumber > 0 Then srclStrn/Str6 = Trim ( XMLLines ( XMLLineNumber - 1 ) ) srclStrn+If Left ( TrimLine, 12 ) = "" _ srclStrn1And Left ( TrimLine, 16 ) <> "Sub " _ srclStrn6And Left ( TrimLine, 21 ) <> "Function " _ srclStrn4And Left ( TrimLine, 19 ) <> "End Sub" _srclStrn "End Function" ThensrclStrnIf InsideMethod = True Then srclStrnKindOfLine = "Inside Method"srclStrnElsesrclStrnKindOfLine = "Property" srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnD/// MsgBox XMLLine + EOL + Str ( XMLLineNumber ) + EOL + KindOfLinesrclStrnEnd Sub EndGInt kSEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kRMethGrupœkTnameStrn GetLineLabels CompStrnVsblInt sorcGrupkUEncoInt srclStrnSub GetLineLabels() srclStrnDim Temp As String srclStrnReDim LineLabels ( - 1 ) srclStrn" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimSource = Trim ( Source ) srclStrn&If RIghtB ( TrimSource, 1 ) = ":" Then srclStrn4Temp = LeftB ( TrimSource, Len ( TrimSource ) - 1 ) srclStrn)LineLabels.Append FormatForList ( Temp ) srclStrnEnd If srclStrnElse srclStrnGetCurrentInfoX srclStrnEnd If srclStrnNext XMLLineNumber srclStrn" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrnTrimSource = Trim ( Source ) srclStrnElse srclStrnGetCurrentInfoX srclStrn3If StartsWith ( Trim ( XMLLine ) , "" ) _ srclStrnAnd CurrentMenuItem <> "" Then srclStrn3MenuItems.Append FormatForList ( CurrentMenuItem ) srclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMenuItems.Sort srclStrnEnd Sub EndGInt kWEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kVMethGrup@kXnameStrn GetMethods2 CompStrnVsblInt sorcGrup¬kYEncoInt srclStrnSub GetMethods2() srclStrnDim WholeLine1 As StringsrclStrnReDim Methods ( - 1 ) srclStrnReDim MenuItems ( - 1 ) srclStrnStartProgressBar2 srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn ResetCounters srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnGetCurrentInfoS srclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrnTrimSource = Trim ( Source ) srclStrn+If StartsWith ( TrimSource, "Function " ) _ srclStrn)Or StartsWith ( TrimSource, "Sub " ) Then srclStrn/Methods.Append FormatForList ( CurrentMethod ) srclStrnEnd If srclStrnElse srclStrnGetCurrentInfoX srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn Methods.SortsrclStrnEnd Sub EndGInt kYEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kXMethGrup<kZnameStrn GetMethods CompStrnVsblInt sorcGrup¨k[EncoInt srclStrnSub GetMethods()srclStrnDim WholeLine1 As StringsrclStrnReDim Methods ( - 1 ) srclStrnReDim MenuItems ( - 1 ) srclStrnStartProgressBar2 srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn ResetCounters srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnGetCurrentInfoS srclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrnTrimSource = Trim ( Source ) srclStrn)If StartsWith ( TrimSource, "Sub " ) Or _ srclStrn+StartsWith ( TrimSource, "Function " ) Then srclStrn/Methods.Append FormatForList ( CurrentMethod ) srclStrnEnd If srclStrnElse srclStrnGetCurrentInfoX srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn Methods.SortsrclStrnEnd Sub EndGInt k[EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kZMethGrup Ôk\nameStrnGetModuleEventHandlers CompStrnVsblInt sorcGrup 4k]EncoInt srclStrnSub GetModuleEventHandlers()srclStrn?MsgBox "Window1.GetModuleEventHandlers" /// Remove this MsgBox. srclStrn' Dim EarlierXMLLine As String srclStrn0' Dim I, J, UpperBound1, UpperBound2 As IntegersrclStrn' Dim WholeLine1 As String srclStrn$' ReDim ModuleEventHandlers ( - 1 )srclStrn' StartProgressBar2srclStrn&' UpperBoundXML = Ubound ( XMLLInes ) srclStrn' ResetCounterssrclStrn)' For XMLLineNumber = 0 To UpperBoundXML srclStrn' ContinueProgressBar2 srclStrn'' XMLLine = XMLLInes ( XMLLineNumber ) srclStrn' If IsSource ( XMLLine ) Then srclStrn' GetCurrentInfoS srclStrn;' SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn<' GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 )srclStrn' SourceCodeLine = WholeLine1 srclStrn:' GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn' GetCurrentInfoS srclStrn' TrimSource = Trim ( Source ) srclStrn2' EarlierXMLLine = XMLLines ( XMLLineNumber - 6 ) srclStrnS' If ( Left ( TrimSource, 9 ) = "Function " Or Left ( TrimSource, 4 ) = "Sub " ) _ srclStrn7' And InStr ( EarlierXMLLine, "Hook" ) <> 0 Then srclStrn=' ModuleEventHandlers.Append FormatForList ( CurrentMethod ) srclStrn ' End If srclStrn' Else srclStrn' GetCurrentInfoX srclStrn ' End If srclStrn' DoNextLineNumber:srclStrn' Next XMLLineNumber srclStrn' EndProgressBar2 srclStrn'' RemoveDuplicates ModuleEventHandlers srclStrnP' ModuleEventHandlers ( ) = RemoveParenthesesBack ( ModuleEventHandlers ( ) )srclStrn' GetGeneralEventHandlers srclStrnR' ControlEventHandlers ( ) = RemoveParenthesesBack ( ControlEventHandlers ( ) ) srclStrn(' RemoveDuplicates ControlEventHandlerssrclStrn'' RemoveDuplicates ModuleEventHandlers srclStrn' ControlEventHandlers.SortsrclStrn0' UpperBound1 = Ubound ( ControlEventHandlers )srclStrn$' DisplayArray ControlEventHandlerssrclStrn/' UpperBound2 = Ubound ( ModuleEventHandlers ) srclStrn#' DisplayArray ModuleEventHandlers srclStrn' For I = 0 To UpperBound1 srclStrn' For J = 0 To UpperBound2 srclStrnA' If ModuleEventHandlers ( J ) = ControlEventHandlers ( I ) Then srclStrn' ModuleEventHandlers.Remove J srclStrn ' UpperBound2 = UpperBound2 - 1srclStrn' GoTo CheckNextProperty4 srclStrn ' End If srclStrn ' Next J srclStrn' CheckNextProperty4: srclStrn ' Next I srclStrn/' UpperBound2 = Ubound ( ModuleEventHandlers ) srclStrnEnd Sub EndGInt k]EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k\MethGrup,k^nameStrn GetModules CompStrnVsblInt sorcGrup˜k_EncoInt srclStrnSub GetModules()srclStrnDim Temp, Temp2 As String srclStrnReDim Modules ( - 1 ) srclStrn GetControls srclStrnStartProgressBar2 srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn+If StartsWith ( XMLLine, "" ) Then srclStrn,Temp = BetweenTags ( XMLLine, "" ) srclStrnIf Temp <> "" Then srclStrn'Temp2 = XMLLInes ( XMLLineNumber - 1 ) srclStrn)If StartsWith ( Temp2, "" ) Then srclStrnModules.Append Temp srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnRemoveDuplicates ( Modules ) srclStrnEnd Sub EndGInt k_EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k^MethGrupÌk`nameStrnGetPiecesOfString CompStrnVsblInt sorcGrupkaEncoInt srclStrn(Sub GetPiecesOfString(String1 As String)srclStrnDim I As IntegersrclStrnPieces = Split ( String1, Q ) srclStrn%For I = 1 To Ubound ( Pieces ) Step 2 srclStrn#Pieces ( I ) = Q + Pieces ( I ) + Q srclStrn Next I srclStrnEnd Sub EndGInt kaEncoInt AlasStrnflagInt shrdInt parmStrnString1 As String rsltStrnEndGInt k`MethGrup\kbnameStrnGetProjectInfoLong CompStrnVsblInt sorcGrup ÀkcEncoInt srclStrnSub GetProjectInfoLong()srclStrnDim Pos2 As Integer srclStrnReDim ProjectInfo ( - 1 ) srclStrnPos2 = 1srclStrn4If TaskSelected = "Display Project Information" ThensrclStrnStartProgressBar2 srclStrnEnd If srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn ResetCounters srclStrnNProjectInfo.Append "BuildSize: " + BetweenTags ( MainBuffer, "" ) srclStrnRProjectInfo.Append "ProjMgrUser: " + BetweenTags ( MainBuffer, "" ) srclStrnVProjectInfo.Append "ProjMgrServer: " + BetweenTags ( MainBuffer, "" ) srclStrnTProjectInfo.Append "MajorVersion: " + BetweenTags ( MainBuffer, "" ) srclStrnTProjectInfo.Append "MinorVersion: " + BetweenTags ( MainBuffer, "" ) srclStrnPProjectInfo.Append "SubVersion: " + BetweenTags ( MainBuffer, "" ) srclStrnJProjectInfo.Append "Release: " + BetweenTags ( MainBuffer, "" ) srclStrnPProjectInfo.Append "NonRelease: " + BetweenTags ( MainBuffer, "" ) srclStrnHProjectInfo.Append "Region: " + BetweenTags ( MainBuffer, "" ) srclStrnTProjectInfo.Append "ShortVersion: " + BetweenTags ( MainBuffer, "" ) srclStrn_ProjectInfo.Append "Long Version (Copyright): " + BetweenTags ( MainBuffer, "" ) srclStrn`ProjectInfo.Append "InfoVersion (Description): " + BetweenTags ( MainBuffer, "" ) srclStrnXProjectInfo.Append "AutoIncVersion: " + BetweenTags ( MainBuffer, "" ) srclStrnVProjectInfo.Append "DefaultViewID: " + BetweenTags ( MainBuffer, "" ) srclStrnRProjectInfo.Append "ProjectType: " + BetweenTags ( MainBuffer, "" ) srclStrnZProjectInfo.Append "DefaultLanguage: " + BetweenTags ( MainBuffer, "" ) srclStrnZProjectInfo.Append "CurrentLanguage: " + BetweenTags ( MainBuffer, "" ) srclStrnZProjectInfo.Append "DefaultEncoding: " + BetweenTags ( MainBuffer, "" ) srclStrnPProjectInfo.Append "BuildFlags: " + BetweenTags ( MainBuffer, "" ) srclStrnPProjectInfo.Append "MacCreator: " + BetweenTags ( MainBuffer, "" ) srclStrnTProjectInfo.Append "BuildMacName: " + BetweenTags ( MainBuffer, "" ) srclStrnZProjectInfo.Append "BuildCarbonName: " + BetweenTags ( MainBuffer, "" ) srclStrndProjectInfo.Append "BuildCarbonMachOName: " + BetweenTags ( MainBuffer, "" ) srclStrn\ProjectInfo.Append "BundleIdentifier: " + BetweenTags ( MainBuffer, "" ) srclStrnNProjectInfo.Append "BuildSize: " + BetweenTags ( MainBuffer, "" ) srclStrnTProjectInfo.Append "BuildMinSize: " + BetweenTags ( MainBuffer, "" ) srclStrn^ProjectInfo.Append "BuildSizeAsString: " + BetweenTags ( MainBuffer, "" ) srclStrndProjectInfo.Append "BuildMinSizeAsString: " + BetweenTags ( MainBuffer, "" ) srclStrnVProjectInfo.Append "WinMDICaption: " + BetweenTags ( MainBuffer, "" ) srclStrnTProjectInfo.Append "BuildWinName: " + BetweenTags ( MainBuffer, "" ) srclStrnRProjectInfo.Append "BuildWinMDI: " + BetweenTags ( MainBuffer, "" ) srclStrn^ProjectInfo.Append "BuildLinuxX86Name: " + BetweenTags ( MainBuffer, "" ) srclStrnEnd Sub EndGInt kcEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kbMethGrupkdnameStrnGetProjectInfoShort CompStrnVsblInt sorcGruplkeEncoInt srclStrnSub GetProjectInfoShort() srclStrnDim Pos2 As Integer srclStrnReDim ProjectInfo ( - 1 ) srclStrnPos2 = 1srclStrn4If TaskSelected = "Display Project Information" ThensrclStrnStartProgressBar2 srclStrnEnd If srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn ResetCounters srclStrndProjectInfo.Append "Mac (Carbon PEF) App Name: " + BetweenTags ( MainBuffer, "" ) srclStrnlProjectInfo.Append "Mac (Carbon Mach-O) App Name: " + BetweenTags ( MainBuffer, "" ) srclStrn^ProjectInfo.Append "Mac (Classic) App Name: " + BetweenTags ( MainBuffer, "" ) srclStrnXProjectInfo.Append "Windows App Name: " + BetweenTags ( MainBuffer, "" ) srclStrn[ProjectInfo.Append "Linux App Name: " + BetweenTags ( MainBuffer, "" ) srclStrnSProjectInfo.Append "Long Version: " + BetweenTags ( MainBuffer, "" ) srclStrnUProjectInfo.Append "Major Version: " + BetweenTags ( MainBuffer, "" ) srclStrnUProjectInfo.Append "Minor Version: " + BetweenTags ( MainBuffer, "" ) srclStrnQProjectInfo.Append "Sub Version: " + BetweenTags ( MainBuffer, "" ) srclStrnJProjectInfo.Append "Release: " + BetweenTags ( MainBuffer, "" ) srclStrnQProjectInfo.Append "Non-Release: " + BetweenTags ( MainBuffer, "" ) srclStrnVProjectInfo.Append "Mac Creator Code: " + BetweenTags ( MainBuffer, "" ) srclStrn\ProjectInfo.Append "Windows MDI Caption: " + BetweenTags ( MainBuffer, "" ) srclStrn[ProjectInfo.Append "Minimum Memory Size: " + BetweenTags ( MainBuffer, "" ) srclStrnaProjectInfo.Append "Standard Memory Size: " + BetweenTags ( MainBuffer, "" ) srclStrnEnd Sub EndGInt keEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kdMethGrupìkfnameStrnGetProperties2 CompStrnVsblInt sorcGrupTkgEncoInt srclStrnSub GetProperties2()srclStrnDim Pos1, Pos2 As Integer srclStrn+Dim Temp, TrimXMLLine, WholeLine1 As String srclStrnReDim Properties ( - 1 ) srclStrnPos2 = 1srclStrnStartProgressBar2 srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn ResetCounters srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnGetCurrentInfoS srclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrnElsesrclStrnGetCurrentInfoX srclStrnTrimXMLLine = Trim ( XMLLine ) srclStrn"If TrimXMLLine = "" Then srclStrnDo srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrn%XMLLine = XMLLines ( XMLLineNumber ) srclStrnTrimXMLLine = Trim ( XMLLine ) srclStrn6If Left ( TrimXMLLine, 17 ) = "" Then srclStrn"Pos1 = InStr ( TrimXMLLine, ">" ) srclStrn9Pos2 = InStr ( Pos1, TrimXMLLine, "" ) srclStrn0Temp = Mid1 ( TrimXMLLine, Pos1 + 1, Pos2 - 1 ) srclStrn*Properties.Append FirstItem ( Temp, " " ) srclStrnMsgBox "Temp 1" + EOL + TempsrclStrnExitsrclStrnEnd If srclStrnLoopsrclStrnEnd If srclStrnKIf Len ( TrimXMLLine ) > 10 And ( Left ( TrimXMLLine, 10 ) = "" _ srclStrn1Or Left ( TrimXMLLine, 10 ) = "" ) + 1 srclStrn5Pos2 = InStrB ( Pos1, TrimXMLLine, "" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrnElse srclStrnGetCurrentInfoX srclStrnTrimXMLLine = Trim ( XMLLine ) srclStrn"If TrimXMLLine = "" Then srclStrnDo srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrn%XMLLine = XMLLines ( XMLLineNumber ) srclStrnTrimXMLLine = Trim ( XMLLine ) srclStrn6If Left ( TrimXMLLine, 17 ) = "" Then srclStrn"Pos1 = InStr ( TrimXMLLine, ">" ) srclStrn9Pos2 = InStr ( Pos1, TrimXMLLine, "" ) srclStrn0Temp = Mid1 ( TrimXMLLine, Pos1 + 1, Pos2 - 1 ) srclStrn*Properties.Append FirstItem ( Temp, " " ) srclStrnExitsrclStrnEnd If srclStrnLoopsrclStrnEnd If srclStrnKIf Len ( TrimXMLLine ) > 10 And ( Left ( TrimXMLLine, 10 ) = "" _ srclStrn1Or Left ( TrimXMLLine, 10 ) = "" ) + 1 srclStrn5Pos2 = InStrB ( Pos1, TrimXMLLine, "" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrnElse srclStrnGetCurrentInfoX srclStrnTrimXMLLine = Trim ( XMLLine ) srclStrn,If Left ( TrimXMLLine, 10 ) = "" _srclStrn/Or Left ( TrimXMLLine, 10 ) = "" ) + 1 srclStrn5Pos2 = InStrB ( Pos1, TrimXMLLine, " 0 Then srclStrn(Temp = Mid1 ( TrimXMLLine, Pos1, Pos2 ) srclStrnIf Trim ( Temp ) <> "" Then srclStrnIf Setting = "Simple" Then srclStrn /// Do nothing srclStrnEnd If srclStrnIf Setting = "Details" Then srclStrn3Temp = Temp + " (defined in " + CurrentModule + ")" srclStrnEnd If srclStrnIf Setting = "Location" ThensrclStrn#Temp = CurrentModule + ": " + Temp srclStrnEnd If srclStrnProperties0.Append ( Temp ) srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrnEnd If srclStrn6If Left ( TrimXMLLine, 17 ) = "" Then srclStrn&Pos1 = InStrB ( TrimXMLLine, ">" ) + 1 srclStrn 0 Then srclStrn(Temp = Mid1 ( TrimXMLLine, Pos1, Pos2 ) srclStrnIf Trim ( Temp ) <> "" Then srclStrnIf Setting = "Simple" Then srclStrn /// Do nothing srclStrnEnd If srclStrnIf Setting = "Details" Then srclStrn3Temp = Temp + " (defined in " + CurrentModule + ")" srclStrnEnd If srclStrnIf Setting = "Location" ThensrclStrn#Temp = CurrentModule + ": " + Temp srclStrnEnd If srclStrnProperties0.Append ( Temp ) srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrn;If TaskSelected = "Display Properties Used in Project" Then srclStrnEndProgressBar2 srclStrnEnd If srclStrn!RemoveDuplicates ( Properties0 ) srclStrn%FudgeFactor = Ubound ( Properties0 ) srclStrnJ = 0 srclStrn$For I = 0 To Ubound ( Properties0 ) srclStrn7If InStr ( Properties0 ( I ) , "As Boolean" ) <> 0 Then srclStrn If J = 0 Then srclStrnProperties.Append "Booleans:" srclStrnProperties.Append " " srclStrnEnd If srclStrn$Properties.Append Properties0 ( I ) srclStrnProperties0.Remove IsrclStrn I = I - 1 srclStrn J = J + 1 srclStrnEnd If srclStrn Next I srclStrnIf J <> 0 Then srclStrnProperties.Append " " srclStrnJ = 0 srclStrnEnd If srclStrn$For I = 0 To Ubound ( Properties0 ) srclStrn3If InStr ( Properties0 ( I ) , "As String" ) <> 0 _ srclStrn6And ( InStr ( Properties0 ( I ) , ")As String" ) = 0 _ srclStrn:And InStr ( Properties0 ( I ) , ") As String" ) = 0 ) Then srclStrn If J = 0 Then srclStrnProperties.Append "Strings:"srclStrnProperties.Append " " srclStrnEnd If srclStrn$Properties.Append Properties0 ( I ) srclStrnProperties0.Remove IsrclStrn I = I - 1 srclStrn J = J + 1 srclStrnEnd If srclStrn Next I srclStrnIf J <> 0 Then srclStrnProperties.Append " " srclStrnJ = 0 srclStrnEnd If srclStrn$For I = 0 To Ubound ( Properties0 ) srclStrn6If InStr ( Properties0 ( I ) , "As String" ) <> 0 Then srclStrn If J = 0 Then srclStrn"Properties.Append "String Arrays:" srclStrnProperties.Append " " srclStrnEnd If srclStrn$Properties.Append Properties0 ( I ) srclStrnProperties0.Remove IsrclStrn I = I - 1 srclStrn J = J + 1 srclStrnEnd If srclStrn Next I srclStrnIf J <> 0 Then srclStrnProperties.Append " " srclStrnJ = 0 srclStrnEnd If srclStrn$For I = 0 To Ubound ( Properties0 ) srclStrn7If InStr ( Properties0 ( I ) , "As Integer" ) <> 0 Then srclStrn If J = 0 Then srclStrnProperties.Append "Integers:" srclStrnProperties.Append " " srclStrnEnd If srclStrn$Properties.Append Properties0 ( I ) srclStrnProperties0.Remove IsrclStrn I = I - 1 srclStrn J = J + 1 srclStrnEnd If srclStrn Next I srclStrnIf J <> 0 Then srclStrnProperties.Append " " srclStrnFudgeFactor = FudgeFactor + 1 srclStrnJ = 0 srclStrnEnd If srclStrn$For I = 0 To Ubound ( Properties0 ) srclStrn6If InStr ( Properties0 ( I ) , "As Single" ) <> 0 Then srclStrn If J = 0 Then srclStrnProperties.Append "Singles:"srclStrnProperties.Append " " srclStrnEnd If srclStrn$Properties.Append Properties0 ( I ) srclStrnProperties0.Remove IsrclStrn I = I - 1 srclStrn J = J + 1 srclStrnEnd If srclStrn Next I srclStrnIf J <> 0 Then srclStrnProperties.Append " " srclStrnJ = 0 srclStrnEnd If srclStrn$For I = 0 To Ubound ( Properties0 ) srclStrn6If InStr ( Properties0 ( I ) , "As Double" ) <> 0 Then srclStrn If J = 0 Then srclStrnProperties.Append "Doubles:"srclStrnEnd If srclStrn$Properties.Append Properties0 ( I ) srclStrnProperties0.Remove IsrclStrn I = I - 1 srclStrn J = J + 1 srclStrnEnd If srclStrn Next I srclStrnIf J <> 0 Then srclStrnProperties.Append " " srclStrnJ = 0 srclStrnEnd If srclStrn%If Ubound ( Properties0 ) <> - 1 Then srclStrnProperties.Append "Others:" srclStrnProperties.Append " " srclStrnEnd If srclStrn$For I = 0 To Ubound ( Properties0 ) srclStrn$Properties.Append Properties0 ( I ) srclStrnProperties0.Remove IsrclStrn I = I - 1 srclStrn J = J + 1 srclStrn Next I srclStrnIf J <> 0 Then srclStrnProperties.Append " " srclStrnJ = 0 srclStrnEnd If srclStrnEnd Sub EndGInt kkEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kjMethGrupœklnameStrnGetSourceAndComment CompStrnVsblInt sorcGrup¸kmEncoInt srclStrn_Sub GetSourceAndComment(LineToParse As String, ByRef Source As String, ByRef Comment As String) srclStrn/Dim Pos1, Pos2, Pos3, Pos4, StartPos As Integer srclStrnDim Test As String srclStrn StartPos = 1srclStrnDo srclStrn.Pos1 = InStrB ( StartPos, LineToParse, "//" ) srclStrnIf Pos1 = 0 Then Exit srclStrn7If OutsideQuotes ( LineToParse, Pos1 ) = True Then Exit srclStrnStartPos = Pos1 + 1 srclStrnLoopsrclStrn StartPos = 1srclStrnDo srclStrn-Pos2 = InStrB ( StartPos, LineToParse, "'" ) srclStrnIf Pos2 = 0 Then Exit srclStrn7If OutsideQuotes ( LineToParse, Pos2 ) = True Then Exit srclStrnStartPos = Pos2 + 1 srclStrnLoopsrclStrn StartPos = 1srclStrnDo srclStrn/Pos3 = InStr ( StartPos, LineToParse, "Rem " ) srclStrnIf Pos3 = 0 Then Exit srclStrnIf Pos3 <> 1 Then srclStrn)Test = MidB ( LineToParse, Pos3 - 1, 1 ) srclStrnIf ( Test = " " Or Test = Q ) _ srclStrn8And OutsideQuotes ( LineToParse, Pos3 ) = True Then ExitsrclStrnElse srclStrnExitsrclStrnEnd If srclStrnStartPos = Pos3 + 1 srclStrnLoopsrclStrn'Pos4 = MinNonZero ( Pos1, Pos2, Pos3 ) srclStrnIf Pos4 = 0 ThensrclStrnSource = LineToParsesrclStrn Comment = ""srclStrnElse srclStrn)Source = LeftB ( LineToParse, Pos4 - 1 ) srclStrn%Comment = MidB ( LineToParse, Pos4 ) srclStrnEnd If srclStrnEnd Sub EndGInt kmEncoInt AlasStrnflagInt shrdInt parmStrnFLineToParse As String, ByRef Source As String, ByRef Comment As String rsltStrnEndGInt klMethGrup knnameStrnGetSubs CompStrnVsblInt sorcGrupkoEncoInt srclStrn Sub GetSubs() srclStrnDim WholeLine1 As StringsrclStrnReDim Methods ( - 1 ) srclStrnReDim MenuItems ( - 1 ) srclStrnControlNumber = - 1 srclStrnStartProgressBar2 srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn ResetCounters srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnGetCurrentInfoS srclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrnTrimSource = Trim ( Source ) srclStrn)If StartsWith ( TrimSource, "Sub " ) Then srclStrn.Methods.Append FormatForList ( CurrentMethod ) srclStrnEnd If srclStrnElse srclStrnGetCurrentInfoX srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn Methods.SortsrclStrnEnd Sub EndGInt koEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt knMethGrup kpnameStrnGetUnusedMethodsCompStrnVsblInt sorcGrupkqEncoInt srclStrnSub GetUnusedMethods() srclStrnDim Regex1 As New RegEx srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrnReDim AllWords ( - 1 ) srclStrn#ReDim ControlEventHandlers ( - 1 ) srclStrnReDim MenuItems ( - 1 ) srclStrnReDim Methods ( - 1 ) srclStrn$ReDim WordsInsideProcedures ( - 1 ) srclStrn SetForSimplesrclStrn GetMethods srclStrnRemoveDuplicates MethodssrclStrn SetForSimplesrclStrn$ReDim WordsInsideProcedures ( - 1 ) srclStrnGetWordsInsideProcedures2 srclStrn&RemoveDuplicates WordsInsideProcedures srclStrnHMethods ( ) = RemoveOverlapFromFirst ( Methods, WordsInsideProcedures ) srclStrn SetForSimplesrclStrn#ReDim ControlEventHandlers ( - 1 ) srclStrnGetControlEventHandlers srclStrn%RemoveDuplicates ControlEventHandlers srclStrnGMethods ( ) = RemoveOverlapFromFirst ( Methods, ControlEventHandlers ) srclStrn SetForSimplesrclStrnReDim MenuItems ( - 1 ) srclStrn GetMenuItemssrclStrnRemoveDuplicates MenuItems srclStrn" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn7If Left ( LTrim ( SourceCodeLine ) , 4 ) <> "Dim " Then srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Trim ( Pieces ( I ) ) srclStrnPos1 = 3srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn.Temp1 = Regexmatch1.SubexpressionString ( 0 ) srclStrnIf Temp1 = "As" ThensrclStrn "ByRef" _ srclStrnAnd Temp1 <> "ByVal" _ srclStrnAnd Temp1 <> "New" Then srclStrn)Variables.Append FormatForList ( Temp1 ) srclStrnEnd If srclStrn" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrn)SourceCodeLine = Trim ( SourceCodeLine ) srclStrn8If LeftB ( LTrim ( SourceCodeLine ) , 4 ) <> "Dim " ThensrclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Trim ( Pieces ( I ) ) srclStrnPos1 = 3srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn.Temp1 = Regexmatch1.SubexpressionString ( 0 ) srclStrnIf Temp1 = "As" ThensrclStrn "Dim" _ srclStrnAnd Temp1 <> "ByRef" _ srclStrnAnd Temp1 <> "ByVal" _ srclStrnAnd Temp1 <> "New" Then srclStrn+NextPart = CurrentControl + CurrentMenuItem srclStrnIf NextPart <> "" Then srclStrn)Variables.Append FormatForList ( Temp1 ) srclStrnElse srclStrn)Variables.Append FormatForList ( Temp1 ) srclStrnEnd If srclStrnEnd If srclStrn" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn8If StartsWith ( LTrim ( SourceCodeLine ) , "End Sub" ) _srclStrn@Or StartsWith ( LTrim ( SourceCodeLine ) , "End Function" ) ThensrclStrnExitsrclStrnEnd If srclStrn7If Left ( LTrim ( SourceCodeLine ) , 4 ) <> "Dim " Then srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 3srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn.Temp1 = Regexmatch1.SubexpressionString ( 0 ) srclStrnIf Temp1 = "As" ThensrclStrn "Dim" _ srclStrnAnd Temp1 <> "ByRef" _ srclStrnAnd Temp1 <> "ByVal" _ srclStrnAnd Temp1 <> "New" Then srclStrn)Variables.Append FormatForList ( Temp1 ) srclStrnEnd If srclStrn "As" _ srclStrnAnd Temp1 <> "Boolean" _srclStrnAnd Temp1 <> "ByRef" _ srclStrnAnd Temp1 <> "ByVal" _ srclStrnAnd Temp1 <> "Color" _ srclStrnAnd Temp1 <> "Date" _ srclStrnAnd Temp1 <> "Double" _ srclStrnAnd Temp1 <> "DragItem" _ srclStrnAnd Temp1 <> "FolderItem" _ srclStrnAnd Temp1 <> "Function" _ srclStrnAnd Temp1 <> "Graphics" _ srclStrnAnd Temp1 <> "IntEgeR" _srclStrnAnd Temp1 <> "Key" _srclStrnAnd Temp1 <> "MemoryBlock" _srclStrnAnd Temp1 <> "New" _srclStrnAnd Temp1 <> "Picture" _srclStrnAnd Temp1 <> "Random" _ srclStrnAnd Temp1 <> "RegEx" _ srclStrnAnd Temp1 <> "RegExMatch" _ srclStrn#And Temp1 <> "ReplacementPattern" _ srclStrnAnd Temp1 <> "Single" _ srclStrnAnd Temp1 <> "String" _ srclStrnAnd Temp1 <> "Sub" _srclStrn And Temp1 <> "TextInputStream" _srclStrn!And Temp1 <> "TextOutputStream" _ srclStrnAnd Temp1 <> "Variable" ThensrclStrnVariables.Append Temp1 srclStrnEnd If srclStrn Ubound ( XMLLInes ) Then ExitsrclStrnLoopsrclStrnRemoveDuplicates Variables srclStrnEnd Sub EndGInt k{EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kzMethGrup k|nameStrn GetWholeLineCompStrnVsblInt sorcGrup k}EncoInt srclStrnsSub GetWholeLine(ByRef StartingLineNumber As Integer, ByRef EndingLineNumber As Integer, ByRef WholeLine As String) srclStrn+Dim Joiner1, Joiner2, SourceToAdd As String srclStrn%Dim TempWholeLineBeingBuilt As String srclStrn!Dim WholeLineBeingBuilt As String srclStrnDim WholeLineNumber As Integer srclStrnDim WholeLineToAdd As StringsrclStrn Joiner1 = ""srclStrnJoiner2 = " | " srclStrnDo srclStrn.XMLLine = XMLLInes ( StartingLineNumber - 1 ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn,If RIghtB ( Trim ( Source ) , 1 ) = "_" ThensrclStrn+StartingLineNumber = StartingLineNumber - 1 srclStrnElse srclStrnGoTo OutsideLoopsrclStrnEnd If srclStrnElse srclStrnGoTo OutsideLoopsrclStrnEnd If srclStrnLoopsrclStrn OutsideLoop:srclStrn*XMLLine = XMLLInes ( StartingLineNumber ) srclStrn>WholeLineBeingBuilt = BetweenTags ( XMLLine, "" ) srclStrn;If RIghtB ( RTrim ( WholeLineBeingBuilt ) , 1 ) <> "_" Then srclStrnWholeLine = WholeLineBeingBuilt srclStrn%EndingLineNumber = StartingLineNumber srclStrnReturn srclStrnEnd If srclStrn=WholeLineBeingBuilt = CutOffRight ( WholeLineBeingBuilt, 1 ) srclStrn-TempWholeLineBeingBuilt = WholeLineBeingBuilt srclStrn$WholeLineNumber = StartingLineNumbersrclStrnDo srclStrn%WholeLineNumber = WholeLineNumber + 1 srclStrn.WholeLineToAdd = XMLLInes ( WholeLineNumber ) srclStrn@SourceCodeLine = BetweenTags ( WholeLineToAdd, "" ) srclStrn&SourceToAdd = Trim ( SourceCodeLine ) srclStrn'If RIghtB ( SourceToAdd, 1 ) = "_" Then srclStrn+WholeLineBeingBuilt = WholeLineBeingBuilt _ srclStrn, + Joiner1 + CutOffRight ( SourceToAdd, 1 ) srclStrn3TempWholeLineBeingBuilt = TempWholeLineBeingBuilt _ srclStrn, + Joiner2 + CutOffRight ( SourceToAdd, 1 ) srclStrnWholeLine = WholeLineBeingBuilt srclStrn'TempWholeLine = TempWholeLineBeingBuilt srclStrnElse srclStrn"EndingLineNumber = WholeLineNumber srclStrn+WholeLineBeingBuilt = WholeLineBeingBuilt _ srclStrn + Joiner1 + SourceToAddsrclStrn3TempWholeLineBeingBuilt = TempWholeLineBeingBuilt _ srclStrn + Joiner2 + SourceToAddsrclStrnWholeLine = WholeLineBeingBuilt srclStrn'TempWholeLine = TempWholeLineBeingBuilt srclStrnReturn srclStrnEnd If srclStrnLoopsrclStrnEnd Sub EndGInt k}EncoInt AlasStrnflagInt shrdInt parmStrnaByRef StartingLineNumber As Integer, ByRef EndingLineNumber As Integer, ByRef WholeLine As String rsltStrnEndGInt k|MethGrupXk~nameStrnGetWordsInsideProcedures2 CompStrnVsblInt sorcGrup´kEncoInt srclStrnSub GetWordsInsideProcedures2() srclStrnDim I As IntegersrclStrnDim MethodChanged As BooleansrclStrnDim Pos1 As Integer srclStrnDim Pos1Changed As Boolean srclStrnDim Pos3, Pos4 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrn Dim Temp, Temp2, Temp3 As StringsrclStrnDim UpperBound2 As Integer srclStrn$ReDim WordsInsideProcedures ( - 1 ) srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnGetCurrentInfoS srclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimSource = Trim ( Source ) srclStrn)If StartsWith ( TrimSource, "Sub " ) Or _ srclStrn+StartsWith ( TrimSource, "Function " ) Then srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn*If Left ( TrimSource, 7 ) = "End Sub" Or _ srclStrn-Left ( TrimSource, 12 ) = "End Function" Then srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnPos1Changed = False srclStrnMethodChanged = False srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrnIf Setting = "Details" Then srclStrn Temp2 = "" srclStrnIf CurrentModule <> "" Then srclStrn#Temp2 = Temp2 + CurrentModule + "." srclStrnEnd If srclStrnIf CurrentControl <> "" ThensrclStrn$Temp2 = Temp2 + CurrentControl + "."srclStrnEnd If srclStrnTemp3 = Trim ( Source ) srclStrnAIf Left ( Temp3, 9 ) = "Function " And MethodChanged = False Then srclStrnMethodChanged = TruesrclStrn!Pos3 = InStr ( 10, Source, " " ) srclStrn!Pos4 = InStr ( 10, Source, "(" ) srclStrn!Pos3 = MinNonZero ( Pos3, Pos4 ) srclStrn.CurrentMethod = Mid1 ( Source, 10, Pos3 - 1 ) srclStrnEnd If srclStrn "" Then srclStrnTemp2 = Temp2 + CurrentMethod srclStrnEnd If srclStrnIf CurrentMenuItem <> "" Then srclStrnTemp2 = Temp2 + CurrentMenuItem srclStrnEnd If srclStrn$Temp2 = Temp + " (in " + Temp2 + ")"srclStrnEnd If srclStrnIf Setting = "Location" ThensrclStrn Temp2 = "" srclStrnIf CurrentModule <> "" Then srclStrn#Temp2 = Temp2 + CurrentModule + "." srclStrnEnd If srclStrnIf CurrentControl <> "" ThensrclStrn$Temp2 = Temp2 + CurrentControl + "."srclStrnEnd If srclStrnTemp3 = Trim ( Source ) srclStrnAIf Left ( Temp3, 9 ) = "Function " And MethodChanged = False Then srclStrnMethodChanged = TruesrclStrn!Pos3 = InStr ( 10, Source, " " ) srclStrn!Pos4 = InStr ( 10, Source, "(" ) srclStrn!Pos3 = MinNonZero ( Pos3, Pos4 ) srclStrn.CurrentMethod = Mid1 ( Source, 10, Pos3 - 1 ) srclStrnEnd If srclStrn "" Then srclStrn%Temp2 = Temp2 + CurrentMethod + ": " srclStrnEnd If srclStrnIf CurrentMenuItem <> "" Then srclStrn'Temp2 = Temp2 + CurrentMenuItem + ": " srclStrnEnd If srclStrnTemp2 = Temp2 + TempsrclStrnEnd If srclStrnIf Setting = "Details" Then srclStrn"WordsInsideProcedures.Append Temp2 srclStrn ElseIf Setting = "Location" ThensrclStrn"WordsInsideProcedures.Append Temp2 srclStrnElsesrclStrn!WordsInsideProcedures.Append Temp srclStrnEnd If srclStrnPos1 = Pos1 + Len ( Temp ) srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnElsesrclStrnGetCurrentInfoX srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrn2If TaskSelected <> "Change a Particular Name" Then srclStrn/If TaskSelected <> "Get Unused Properties" Then srclStrnEndProgressBar2 srclStrnEnd If srclStrnEnd If srclStrn&RemoveDuplicates WordsInsideProcedures srclStrnResultsListBox.DeleteAllRowssrclStrn.For I = 0 To Ubound ( WordsInsideProcedures ) srclStrn2ResultsListBox.AddRow WordsInsideProcedures ( I ) srclStrn;Next I '/ For I = 0 To Ubound ( WordsInsideProcedures ) srclStrn$/// TabPanel1.Value = ResultsPanelsrclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k~MethGrup|k€nameStrnGetWordsInsideProceduresCompStrnVsblInt sorcGrupÜkEncoInt srclStrnSub GetWordsInsideProcedures() srclStrnIsRealSource = FalsesrclStrnDim I As IntegersrclStrnDim MethodChanged As BooleansrclStrnDim Pos1 As Integer srclStrnDim Pos1Changed As Boolean srclStrnDim Pos3, Pos4 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrn Dim Temp, Temp2, Temp3 As StringsrclStrnDim UpperBound2 As Integer srclStrn$ReDim WordsInsideProcedures ( - 1 ) srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnGetCurrentInfoS srclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimSource = Trim ( Source ) srclStrn)If StartsWith ( TrimSource, "Sub " ) Or _ srclStrn+StartsWith ( TrimSource, "Function " ) Then srclStrnIsRealSource = True srclStrnEnd If srclStrnIf IsRealSource = True Then srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnPos1Changed = False srclStrnMethodChanged = False srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrnIf Setting = "Details" Then srclStrn Temp2 = "" srclStrnIf CurrentModule <> "" Then srclStrn#Temp2 = Temp2 + CurrentModule + "." srclStrnEnd If srclStrnIf CurrentControl <> "" ThensrclStrn$Temp2 = Temp2 + CurrentControl + "."srclStrnEnd If srclStrnTemp3 = Trim ( Source ) srclStrnAIf Left ( Temp3, 9 ) = "Function " And MethodChanged = False Then srclStrnMethodChanged = TruesrclStrn!Pos3 = InStr ( 10, Source, " " ) srclStrn!Pos4 = InStr ( 10, Source, "(" ) srclStrn!Pos3 = MinNonZero ( Pos3, Pos4 ) srclStrn.CurrentMethod = Mid1 ( Source, 10, Pos3 - 1 ) srclStrnEnd If srclStrn "" Then srclStrnTemp2 = Temp2 + CurrentMethod srclStrnEnd If srclStrnIf CurrentMenuItem <> "" Then srclStrnTemp2 = Temp2 + CurrentMenuItem srclStrnEnd If srclStrn$Temp2 = Temp + " (in " + Temp2 + ")"srclStrnEnd If srclStrnIf Setting = "Location" ThensrclStrn Temp2 = "" srclStrnIf CurrentModule <> "" Then srclStrn#Temp2 = Temp2 + CurrentModule + "." srclStrnEnd If srclStrnIf CurrentControl <> "" ThensrclStrn$Temp2 = Temp2 + CurrentControl + "."srclStrnEnd If srclStrnTemp3 = Trim ( Source ) srclStrnAIf Left ( Temp3, 9 ) = "Function " And MethodChanged = False Then srclStrnMethodChanged = TruesrclStrn!Pos3 = InStr ( 10, Source, " " ) srclStrn!Pos4 = InStr ( 10, Source, "(" ) srclStrn!Pos3 = MinNonZero ( Pos3, Pos4 ) srclStrn.CurrentMethod = Mid1 ( Source, 10, Pos3 - 1 ) srclStrnEnd If srclStrn "" Then srclStrn%Temp2 = Temp2 + CurrentMethod + ": " srclStrnEnd If srclStrnIf CurrentMenuItem <> "" Then srclStrn'Temp2 = Temp2 + CurrentMenuItem + ": " srclStrnEnd If srclStrnTemp2 = Temp2 + TempsrclStrnEnd If srclStrnIf Setting = "Details" Then srclStrn"WordsInsideProcedures.Append Temp2 srclStrn ElseIf Setting = "Location" ThensrclStrn"WordsInsideProcedures.Append Temp2 srclStrnElse srclStrn!WordsInsideProcedures.Append Temp srclStrnEnd If srclStrnPos1 = Pos1 + Len ( Temp ) srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnElse srclStrnGetCurrentInfoX srclStrnEnd If srclStrnEnd If srclStrn*If Left ( TrimSource, 7 ) = "End Sub" Or _ srclStrn-Left ( TrimSource, 12 ) = "End Function" Then srclStrnIsRealSource = FalsesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrn2If TaskSelected <> "Change a Particular Name" Then srclStrn/If TaskSelected <> "Get Unused Properties" Then srclStrnEndProgressBar2 srclStrnEnd If srclStrnEnd If srclStrn&RemoveDuplicates WordsInsideProcedures srclStrnResultsListBox.DeleteAllRowssrclStrn.For I = 0 To Ubound ( WordsInsideProcedures ) srclStrn2ResultsListBox.AddRow WordsInsideProcedures ( I ) srclStrn Next I srclStrnTabPanel1.Value = ResultsPanel srclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k€MethGruptk‚nameStrn"GetWordsInsideProceduresExceptDims CompStrnVsblInt sorcGrupÈkƒEncoInt srclStrn(Sub GetWordsInsideProceduresExceptDims()srclStrnDim I As IntegersrclStrnDim MethodChanged As BooleansrclStrnDim Pos1 As Integer srclStrnDim Pos1Changed As Boolean srclStrnDim Pos3, Pos4 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrn Dim Temp, Temp2, Temp3 As StringsrclStrnDim UpperBound2 As Integer srclStrn.ReDim WordsInsideProceduresExceptDims ( - 1 ) srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrnGetCurrentInfoS srclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimSource = Trim ( Source ) srclStrn)If StartsWith ( TrimSource, "Sub " ) Or _ srclStrn(StartsWith ( TrimSource, "Function " ) _srclStrn)Or StartsWith ( TrimSource, "Dim " ) Then srclStrn0// MsgBox "TrimSource" + EOL + EOL + TrimSourcesrclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn*// MsgBox "TrimSource" + EOL + TrimSource srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnPos1Changed = False srclStrnMethodChanged = False srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrnIf Setting = "Details" Then srclStrn Temp2 = "" srclStrnIf CurrentModule <> "" Then srclStrn#Temp2 = Temp2 + CurrentModule + "." srclStrnEnd If srclStrnIf CurrentControl <> "" ThensrclStrn$Temp2 = Temp2 + CurrentControl + "."srclStrnEnd If srclStrnTemp3 = Trim ( Source ) srclStrnAIf Left ( Temp3, 9 ) = "Function " And MethodChanged = False Then srclStrnMethodChanged = TruesrclStrn!Pos3 = InStr ( 10, Source, " " ) srclStrn!Pos4 = InStr ( 10, Source, "(" ) srclStrn!Pos3 = MinNonZero ( Pos3, Pos4 ) srclStrn.CurrentMethod = Mid1 ( Source, 10, Pos3 - 1 ) srclStrnEnd If srclStrn "" Then srclStrnTemp2 = Temp2 + CurrentMethod srclStrnEnd If srclStrnIf CurrentMenuItem <> "" Then srclStrnTemp2 = Temp2 + CurrentMenuItem srclStrnEnd If srclStrn$Temp2 = Temp + " (in " + Temp2 + ")"srclStrnEnd If srclStrnIf Setting = "Location" ThensrclStrn Temp2 = "" srclStrnIf CurrentModule <> "" Then srclStrn#Temp2 = Temp2 + CurrentModule + "." srclStrnEnd If srclStrnIf CurrentControl <> "" ThensrclStrn$Temp2 = Temp2 + CurrentControl + "."srclStrnEnd If srclStrnTemp3 = Trim ( Source ) srclStrnAIf Left ( Temp3, 9 ) = "Function " And MethodChanged = False Then srclStrnMethodChanged = TruesrclStrn!Pos3 = InStr ( 10, Source, " " ) srclStrn!Pos4 = InStr ( 10, Source, "(" ) srclStrn!Pos3 = MinNonZero ( Pos3, Pos4 ) srclStrn.CurrentMethod = Mid1 ( Source, 10, Pos3 - 1 ) srclStrnEnd If srclStrn "" Then srclStrn%Temp2 = Temp2 + CurrentMethod + ": " srclStrnEnd If srclStrnIf CurrentMenuItem <> "" Then srclStrn'Temp2 = Temp2 + CurrentMenuItem + ": " srclStrnEnd If srclStrnTemp2 = Temp2 + TempsrclStrnEnd If srclStrnIf Setting = "Details" Then srclStrn,WordsInsideProceduresExceptDims.Append Temp2srclStrn ElseIf Setting = "Location" ThensrclStrn,WordsInsideProceduresExceptDims.Append Temp2srclStrnElsesrclStrn+WordsInsideProceduresExceptDims.Append Temp srclStrnEnd If srclStrnPos1 = Pos1 + Len ( Temp ) srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnElsesrclStrnGetCurrentInfoX srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrn2If TaskSelected <> "Change a Particular Name" Then srclStrn/If TaskSelected <> "Get Unused Properties" Then srclStrnEndProgressBar2 srclStrnEnd If srclStrnEnd If srclStrn0RemoveDuplicates WordsInsideProceduresExceptDimssrclStrnEnd Sub EndGInt kƒEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k‚MethGrupPk„nameStrn,GetWordsInsideProceduresExceptDimsByLocationCompStrnVsblInt sorcGrupœk…EncoInt srclStrn2Sub GetWordsInsideProceduresExceptDimsByLocation() srclStrn/// Dim I As Integer srclStrnSetForLocation srclStrnHideOldAndNewName srclStrn ZapFileMenu srclStrn WorkStarted srclStrn"GetWordsInsideProceduresExceptDims srclStrnKindOfList = "All Words"srclStrnAdjustResultsListBoxsrclStrn WorkFinished3 srclStrn///mnuQuit.Visible = True srclStrn///mnuPrintList.Visible = True srclStrn///mnuSaveXML.Visible = TruesrclStrn///mnuSaveList.Visible = True srclStrn///mnuOpenXML.Visible = TruesrclStrnKindOfList = "Main Menu"srclStrnRestoreDetailBooleans srclStrnEnd Sub EndGInt k…EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k„MethGrup Dk†nameStrnGetWordsOfOneMethod CompStrnVsblInt sorcGrup¨k‡EncoInt srclStrnSub GetWordsOfOneMethod() srclStrnDim I, Pos1 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrnDim Temp As String srclStrn'Dim UpperBound1, UpperBound2 As Integer srclStrnDim WholeLine1 As StringsrclStrn/Regex1.SearchPattern = "[&A-Za-z][A-Za-z_0-9]*" srclStrnReDim AllWords2 ( - 1 ) srclStrn"UpperBound1 = Ubound ( XMLLInes ) srclStrn0SourceProgressBar.Maximum = Ubound ( XMLLInes ) srclStrnSourceProgressBar.Value = 0 srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnDo srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn6/// XMLLine = ReplaceAllB ( XMLLine, "&", "&" ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn:GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrnSourceCodeLine = WholeLine1 srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetCurrentInfoS srclStrn7If StartsWith ( Trim ( SourceCodeLine ) , "End Sub" ) _ srclStrn?Or StartsWith ( Trim ( SourceCodeLine ) , "End Function" ) Then srclStrnExitsrclStrnEnd If srclStrn6If Left ( LTrim ( SourceCodeLine ) , 4 ) = "DIm " Then srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn(AllWords2.Append FormatForList ( Temp ) srclStrnPos1 = Pos1 + Len ( Temp ) srclStrnLoopsrclStrn Next I srclStrnElse srclStrnGetCurrentInfoX srclStrnEnd If srclStrnDoNextLineNumber: srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrn0If XMLLineNumber > Ubound ( XMLLInes ) Then ExitsrclStrnLoopsrclStrnAllWords2.Sort srclStrnRemoveDuplicates AllWords2 srclStrnEnd Sub EndGInt k‡EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k†MethGrup`kˆnameStrnHideOldAndNewName CompStrnVsblInt sorcGrupÄk‰EncoInt srclStrnSub HideOldAndNewName() srclStrn HideOldName srclStrn"ResultsNewNameText.Visible = False srclStrn'ResultsNewNameEditField.Visible = False srclStrnEnd Sub EndGInt k‰EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kˆMethGrup<kŠnameStrn HideOldName CompStrnVsblInt sorcGrup¨k‹EncoInt srclStrnSub HideOldName() srclStrn"ResultsOldNameText.Visible = False srclStrn'ResultsOldNameEditField.Visible = False srclStrnEnd Sub EndGInt k‹EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kŠMethGrupœkŒnameStrnIncreasedIndentOf1 CompStrnVsblInt sorcGrupkEncoInt srclStrnSub IncreasedIndentOf1()srclStrnMainBufferBackup = MainBuffer srclStrn WorkStarted srclStrnStartOfIndent = "" srclStrnIndentFactor = 1srclStrnIndentLevel = 0 srclStrnMakeDisplaySource = False srclStrnDoIndentsrclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrnXMLEditField.Text = MainBuffer srclStrn WorkFinishedsrclStrnRestoreDetailBooleans srclStrnFinishWithSourcesrclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kŒMethGrupœkŽnameStrnIncreasedIndentOf2 CompStrnVsblInt sorcGrupkEncoInt srclStrnSub IncreasedIndentOf2()srclStrnMainBufferBackup = MainBuffer srclStrn WorkStarted srclStrnStartOfIndent = "" srclStrnIndentFactor = 2srclStrnIndentLevel = 0 srclStrnMakeDisplaySource = False srclStrnDoIndentsrclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrnXMLEditField.Text = MainBuffer srclStrn WorkFinishedsrclStrnRestoreDetailBooleans srclStrnFinishWithSourcesrclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kŽMethGrupœknameStrnIncreasedIndentOf3 CompStrnVsblInt sorcGrupk‘EncoInt srclStrnSub IncreasedIndentOf3()srclStrnMainBufferBackup = MainBuffer srclStrn WorkStarted srclStrnStartOfIndent = "" srclStrnIndentFactor = 3srclStrnIndentLevel = 0 srclStrnMakeDisplaySource = False srclStrnDoIndentsrclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrnXMLEditField.Text = MainBuffer srclStrn WorkFinishedsrclStrnRestoreDetailBooleans srclStrnFinishWithSourcesrclStrnEnd Sub EndGInt k‘EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kMethGrupk’nameStrnInsertBlankLineAfterCompStrnVsblInt sorcGrupHk“EncoInt srclStrn8Sub InsertBlankLineAfter(ByRef XMLLineNumber As Integer)srclStrn*Dim BlankLine, SourceLineToCheck As String srclStrnDim XMLLineToCheck As StringsrclStrnBlankLineAdded = False srclStrn BlankLine = TagBefore + TagAftersrclStrn0XMLLineToCheck = XMLLInes ( XMLLineNumber + 1 ) srclStrnCSourceLineToCheck = BetweenTags ( XMLLineToCheck, "" ) srclStrn(If Trim ( SourceLineToCheck ) <> "" ThensrclStrn,XMLLInes.Insert XMLLineNumber + 1, BlankLinesrclStrnBlankLineAdded = True srclStrnEnd If srclStrnEnd Sub EndGInt k“EncoInt AlasStrnflagInt shrdInt parmStrnByRef XMLLineNumber As Integer rsltStrnEndGInt k’MethGrupk”nameStrnInsertBlankLineBefore CompStrnVsblInt sorcGrupHk•EncoInt srclStrn9Sub InsertBlankLineBefore(ByRef XMLLineNumber As Integer) srclStrn*Dim BlankLine, SourceLineToCheck As String srclStrnDim XMLLineToCheck As StringsrclStrnBlankLineAdded = False srclStrn BlankLine = TagBefore + TagAftersrclStrn0XMLLineToCheck = XMLLInes ( XMLLineNumber - 1 ) srclStrnCSourceLineToCheck = BetweenTags ( XMLLineToCheck, "" ) srclStrn(If Trim ( SourceLineToCheck ) <> "" ThensrclStrn(XMLLInes.Insert XMLLineNumber, BlankLinesrclStrnBlankLineAdded = True srclStrnEnd If srclStrnEnd Sub EndGInt k•EncoInt AlasStrnflagInt shrdInt parmStrnByRef XMLLineNumber As Integer rsltStrnEndGInt k”MethGrupôk–nameStrnIsInsideParens CompStrnVsblInt sorcGrup4k—EncoInt srclStrnAFunction IsInsideParens(S1 As String, Pos1 As Integer) As Boolean srclStrnDim Char1 As String srclStrnDim I, Test As Integer srclStrnTest = 0srclStrnFor I = 1 To Pos1 srclStrnChar1 = Mid ( S1, I, 1 ) srclStrnIf Char1 = "(" Then srclStrnTest = Test + 1 srclStrnElseIf Char1 = ")" Then srclStrnTest = Test - 1 srclStrnEnd If srclStrn Next I srclStrnIf Test = 0 ThensrclStrn Return FalsesrclStrnElse srclStrn Return True srclStrnEnd If srclStrn End FunctionEndGInt k—EncoInt AlasStrnflagInt shrdInt parmStrnS1 As String, Pos1 As Integer rsltStrnBoolean EndGInt k–MethGrupèk˜nameStrn IsSourceLineCompStrnVsblInt sorcGrup8k™EncoInt srclStrn3Function IsSourceLine(XMLLine As String) As Boolean srclStrnDim Pos1 As Integer srclStrn*Pos1 = InStrB ( XMLLine, "" ) srclStrnIf Pos1 <> 0 Then srclStrn Return True srclStrnElse srclStrn Return FalsesrclStrnEnd If srclStrn End FunctionEndGInt k™EncoInt AlasStrnflagInt shrdInt parmStrnXMLLine As String rsltStrnBoolean EndGInt k˜MethGrup„kšnameStrnChangeXMLtoReadOnly CompStrnVsblInt sorcGrupèk›EncoInt srclStrnSub ChangeXMLtoReadOnly() srclStrn$If XMLEditField.ReadOnly = True ThensrclStrnMsgBox "XML already Read Only" srclStrnElsesrclStrnXMLEditField.ReadOnly = TruesrclStrn)MsgBox "Source Changed back to Read Only" srclStrnEnd If srclStrn'Dim n As Integer srclStrn"'If mnuEditXML.Checked = True Then srclStrn!'n = MsgBox ( "Lock XML? ", 36 ) srclStrn'If n = 6 Then srclStrn'//user pressed Yes srclStrn'ElseIf n = 7 Then srclStrn'Exit //user pressed No srclStrn'End If srclStrn'mnuEditXML.Checked = False srclStrn'XMLEditField.ReadOnly = True srclStrn$'// XMLEditField.ScrollPosition = 0srclStrn'TabPanel1.Value = XMLPanel srclStrn-'OriginalXMLSize = Len ( XMLEditField.Text ) srclStrn/'XMLEditField.LimitText = OriginalXMLSize + 100 srclStrn'Else srclStrn'// mnuEditXML.Checked = False srclStrn!'// XMLEditField.ReadOnly = True srclStrn'End If srclStrnEnd Sub EndGInt k›EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kšMethGrup,ðkœnameStrn MakeMainMenuCompStrnVsblInt sorcGrup,\kEncoInt srclStrnSub MakeMainMenu() srclStrnDim I As IntegersrclStrnDim S1, Sub1 As String srclStrnDim u As IntegersrclStrn3MainMenuTopLabel.Text = "Select a Task to Perform:" srclStrnIf MakeMenu = False Then Exit srclStrn#MainMenuOldNameText.Visible = False srclStrn(MainMenuOldNameEditField.Visible = FalsesrclStrn"MainMenuNewNameText.Visible = True srclStrn'MainMenuNewNameEditField.Visible = True srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn!If EditingXMLRightNow = True Then srclStrn!MainBuffer = SourceEditField.Text srclStrn#If TargetWin32 srclStrn1MainBuffer = ReplaceAllB ( MainBuffer, CR, EOL ) srclStrn#EndIf srclStrnEditingXMLRightNow = False srclStrnEnd If srclStrn&//MainMenuListBox.ColumnWidths = "500" srclStrn3MainMenuTopLabel.Text = "Select a Task to Perform:" srclStrnMainMenuListBox.DeleteAllRows srclStrn%S1 = "Newest Routines Added (1 - 5)*" srclStrn+S1 = S1 + "Add Automatic Comments (6 - 8)*" srclStrn)S1 = S1 + "Add Comment Symbols (9 - 11)*" srclStrn-S1 = S1 + "Add Headers Or Footers (12 - 13)*" srclStrn*S1 = S1 + "Alphabetize Methods (14 - 17)*" srclStrn/S1 = S1 + "Change Character Spacing (18 - 25)*" srclStrn8S1 = S1 + "Change End If/End and Next I/Next (26 - 29)*"srclStrn*S1 = S1 + "Change Line Spacing (30 - 34)*" srclStrn&S1 = S1 + "Conform in Case (35 - 44)*" srclStrn3S1 = S1 + "Display Simple List of Names (45 - 46)*" srclStrn9S1 = S1 + "Display List of Names with Details (47 - 57)*" srclStrn8S1 = S1 + "Display List of Names by Location (58 - 68)*"srclStrnNS1 = S1 + "Display of Source Code with or without XML Line Numbers (69 - 72)*" srclStrn7S1 = S1 + "Increase Or Decrease Indentation (73 - 76)*" srclStrn5S1 = S1 + "Locate Unnecessary Definitions (77 - 80)*" srclStrn.S1 = S1 + "Obfuscate by Switching Names (81)*" srclStrn2S1 = S1 + "Perform Miscellaneous Tasks (82 - 90)*" srclStrn%S1 = S1 + "Prefix Method Names (91)*" srclStrn0S1 = S1 + "Remove Automatic Comments (92 - 94)*"srclStrn,S1 = S1 + "Remove Other Comments (95 - 98)*"srclStrn.S1 = S1 + "Remove Comment Symbols (99 - 100)*" srclStrn2S1 = S1 + "Remove Headers Or Footers (101 - 102)*" srclStrn0S1 = S1 + "Unobfuscate by Switching Names (103)"srclStrn"Sub1 = "1. Add Blank Line Footer*" srclStrn-Sub1 = Sub1 + "2. Change Source to Editable*" srclStrn.Sub1 = Sub1 + "3. Change Source to Read Only*" srclStrn6Sub1 = Sub1 + "4. Change Font Throughout To Arial 24*" srclStrn6Sub1 = Sub1 + "5. Change Font Throughout to System 0;" srclStrnSub1 = Sub1 + ""srclStrnASub1 = Sub1 + "6. Add Automatic " + Q + "Next" + Q + " Comments*" srclStrnASub1 = Sub1 + "7. Add Automatic " + Q + "Else" + Q + " Comments*" srclStrnCSub1 = Sub1 + "8. Add Automatic " + Q + "End If" + Q + " Comments;" srclStrnSub1 = Sub1 + ""srclStrn1Sub1 = Sub1 + "9. Comment Out MsgBox Statements*" srclStrn.Sub1 = Sub1 + "10. Comment Out Entire Source*" srclStrn6Sub1 = Sub1 + "11. Comment Out Source And Add MsgBox;" srclStrnSub1 = Sub1 + ""srclStrn*Sub1 = Sub1 + "12. Add Procedure Headers*" srclStrn*Sub1 = Sub1 + "13. Add Procedure Footers;" srclStrnSub1 = Sub1 + ""srclStrn,Sub1 = Sub1 + "14. Alphabetize All Methods*"srclStrn/Sub1 = Sub1 + "15. Alphabetize Event Handlers*" srclStrn+Sub1 = Sub1 + "16. Alphabetize Menu Items*" srclStrn5Sub1 = Sub1 + "17. Alphabetize User-Defined Methods;" srclStrnSub1 = Sub1 + ""srclStrn.Sub1 = Sub1 + "18. Remove Unnecessary Spaces*" srclStrn2Sub1 = Sub1 + "19. Add Extra Spaces Of All Types*" srclStrn,Sub1 = Sub1 + "20. Put Spaces After Commas*"srclStrn:Sub1 = Sub1 + "21. Put Spaces Around Parentheses Symbols*" srclStrn?Sub1 = Sub1 + "22. Put Spaces Only Inside Parentheses Symbols*" srclStrn@Sub1 = Sub1 + "23. Put Spaces Only Outside Parentheses Symbols*"srclStrnHSub1 = Sub1 + "24. Put Spaces Only Outside Outside Parentheses Symbols*"srclStrnASub1 = Sub1 + "25. Put Spaces Around Symbols For Math Operators;" srclStrnSub1 = Sub1 + ""srclStrn)Sub1 = Sub1 + "26. Change End To End If*" srclStrn)Sub1 = Sub1 + "27. Change End If To End*" srclStrn*Sub1 = Sub1 + "28. Change Next to Next I*" srclStrn*Sub1 = Sub1 + "29. Change Next I to Next;" srclStrnSub1 = Sub1 + ""srclStrn'Sub1 = Sub1 + "30. Remove Blank Lines*" srclStrn+Sub1 = Sub1 + "31. Separate Logical Units*" srclStrn-Sub1 = Sub1 + "32. Double-Space Source Code*" srclStrn-Sub1 = Sub1 + "33. Triple-Space Source Code*" srclStrn0Sub1 = Sub1 + "34. Quadruple-Space Source Code;"srclStrnSub1 = Sub1 + ""srclStrn$Sub1 = Sub1 + "35. Initial Conform*"srclStrn3Sub1 = Sub1 + "36. Conform All (may take a while)*" srclStrn&Sub1 = Sub1 + "37. Conform Constants*" srclStrn%Sub1 = Sub1 + "38. Conform Controls*" srclStrn(Sub1 = Sub1 + "39. Conform Line Labels*"srclStrn$Sub1 = Sub1 + "40. Conform Methods*"srclStrn$Sub1 = Sub1 + "41. Conform Modules*"srclStrn'Sub1 = Sub1 + "42. Conform Properties*" srclStrn6Sub1 = Sub1 + "43. Conform (most) REALbasic Keywords*" srclStrn&Sub1 = Sub1 + "44. Conform Variables;" srclStrnSub1 = Sub1 + ""srclStrn4Sub1 = Sub1 + "45. Display Modules Used in Project*"srclStrn?Sub1 = Sub1 + "46. Display REALbasic Keywords Used in Project;" srclStrnSub1 = Sub1 + ""srclStrnCSub1 = Sub1 + "47. Display Constants Used in Project with Details*" srclStrnPSub1 = Sub1 + "48. Display Control Event Handlers Used in Project With Details*"srclStrnBSub1 = Sub1 + "49. Display Controls Used in Project With Details*" srclStrnCSub1 = Sub1 + "50. Display Functions Used in Project with Details*" srclStrnPSub1 = Sub1 + "51. Display General Event Handlers Used in Project with Details*"srclStrnESub1 = Sub1 + "52. Display Line Labels Used in Project with Details*" srclStrnDSub1 = Sub1 + "53. Display Menu Items Used In Project with Details*"srclStrnASub1 = Sub1 + "54. Display Methods Used in Project with Details*" srclStrnDSub1 = Sub1 + "55. Display Properties Used in Project with Details*"srclStrn>Sub1 = Sub1 + "56. Display Subs Used in Project with Details*" srclStrnCSub1 = Sub1 + "57. Display Variables Used in Project with Details;" srclStrnSub1 = Sub1 + ""srclStrnBSub1 = Sub1 + "58. Display Constants Used in Project by Location*" srclStrnOSub1 = Sub1 + "59. Display Control Event Handlers Used in Project by Location*" srclStrnASub1 = Sub1 + "60. Display Controls Used in Project by Location*" srclStrnBSub1 = Sub1 + "61. Display Functions Used in Project by Location*" srclStrnOSub1 = Sub1 + "62. Display General Event Handlers Used in Project by Location*" srclStrnDSub1 = Sub1 + "63. Display Line Labels Used in Project by Location*"srclStrnCSub1 = Sub1 + "64. Display Menu Items Used In Project by Location*" srclStrn@Sub1 = Sub1 + "65. Display Methods Used in Project by Location*"srclStrnCSub1 = Sub1 + "66. Display Properties Used in Project by Location*" srclStrn=Sub1 = Sub1 + "67. Display Subs Used in Project by Location*" srclStrnBSub1 = Sub1 + "68. Display Variables Used in Project by Location;" srclStrnSub1 = Sub1 + ""srclStrn;Sub1 = Sub1 + "69. Add XML Line Numbers To Source and XML*" srclStrn@Sub1 = Sub1 + "70. Display Source Code For A Particular Method*"srclStrn;Sub1 = Sub1 + "71. Display Source Code For Entire Project*" srclStrnESub1 = Sub1 + "72. Remove XML Line Numbers From Source Code and XML;" srclStrnSub1 = Sub1 + ""srclStrn1Sub1 = Sub1 + "73. Remove Increased Indentation*" srclStrn*Sub1 = Sub1 + "74. Increased Indent of 1*" srclStrn*Sub1 = Sub1 + "75. Increased Indent of 2*" srclStrn*Sub1 = Sub1 + "76. Increased Indent of 3;" srclStrnSub1 = Sub1 + ""srclStrnBSub1 = Sub1 + "77. Check Variables And Properties For Duplicates*" srclStrn+Sub1 = Sub1 + "78. Display Unused Methods*" srclStrn.Sub1 = Sub1 + "79. Display Unused Properties*" srclStrn-Sub1 = Sub1 + "80. Display Unused Variables;" srclStrnSub1 = Sub1 + ""srclStrn:Sub1 = Sub1 + "81. Obfuscate Controls by Switching Names;" srclStrnSub1 = Sub1 + ""srclStrn-Sub1 = Sub1 + "82. Change a Particular Name*" srclStrn1Sub1 = Sub1 + "83. Combine Partial Source Lines*" srclStrn@Sub1 = Sub1 + "84. Display Modifications Made by RB CodeHelper*"srclStrn7Sub1 = Sub1 + "85. Display Project Information (long)*" srclStrn8Sub1 = Sub1 + "86. Display Project Information (short)*"srclStrnBSub1 = Sub1 + "87. Change XML to Editable (use extreme caution!)*" srclStrn,Sub1 = Sub1 + "88. Change XML to Read Only*"srclStrn3Sub1 = Sub1 + "89. Remove Source Line Breakpoints*" srclStrn7Sub1 = Sub1 + "90. Undo Previous Change (if possible);" srclStrnSub1 = Sub1 + ""srclStrnESub1 = Sub1 + "91. Use " + Q + "mnu" + Q + " for Menu Items;" /// OK srclStrnSub1 = Sub1 + ""srclStrnESub1 = Sub1 + "92. Remove Automatic " + Q + "Next" + Q + " Comments*" srclStrnESub1 = Sub1 + "93. Remove Automatic " + Q + "Else" + Q + " Comments*" srclStrnGSub1 = Sub1 + "94. Remove Automatic " + Q + "End If" + Q + " Comments;" srclStrnSub1 = Sub1 + ""srclStrn5Sub1 = Sub1 + "95. Remove All Comments (except ///)*" srclStrn4Sub1 = Sub1 + "96. Remove // Comments (except ///)*"srclStrn&Sub1 = Sub1 + "97. Remove ' Comments*" srclStrn(Sub1 = Sub1 + "98. Remove Rem Comments;"srclStrnSub1 = Sub1 + ""srclStrn0Sub1 = Sub1 + "99. Uncomment MsgBox Statements*"srclStrn-Sub1 = Sub1 + "100. Uncomment Entire Source;" srclStrnSub1 = Sub1 + ""srclStrn.Sub1 = Sub1 + "101. Remove Procedure Headers*" srclStrn.Sub1 = Sub1 + "102. Remove Procedure Footers;" srclStrnSub1 = Sub1 + ""srclStrn=Sub1 = Sub1 + "103. Unobfuscate Controls by Switching Names;" srclStrnSub1 = Sub1 + ""srclStrnu = CountFields ( S1, "*" ) srclStrnFor I = 1 To u srclStrn'If NthField ( Sub1, ";", I ) <> "" Then srclStrnMainMenuListBox. AddFolder " " srclStrn>MainMenuListBox.Cell ( I - 1, 1 ) = NthField ( Sub1, ";" , I ) srclStrnMainMenuListBox.Cell ( I - 1, 1 ) = NthField ( Sub1, ";" , I ) srclStrn+End '/ If NthField ( Sub1, ";", I ) <> "" srclStrn "" ThensrclStrnmnuSaveXML.Visible = True srclStrnElse srclStrnmnuSaveXML.Visible = False srclStrnEnd If srclStrnAdjustMainMenuListBox srclStrnmnuOpenXML.Visible = True srclStrn5MainMenuBottomPushButton.Caption = "Perform the Task" srclStrn MainMenuBottomPushButton.RefreshsrclStrn/UnexpandedListCount = MainMenuListBox.ListCount srclStrnMainMenuListBox.Refresh srclStrnEnd Sub EndGInt kEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kœMethGrup(kžnameStrnMyResizeCompStrnVsblInt sorcGrup'ˆkŸEncoInt srclStrnSub MyResize() srclStrnTabPanel1.Left = 0 srclStrnTabPanel1.Width = Window1.Width srclStrnTabPanel1.Top = 10 srclStrn&TabPanel1.Height = Window1.Height - 10 srclStrn(MainMenuTopLabel.Left = HorizontalMarginsrclStrn4MainMenuTopLabel.Width = ( TabPanel1.Width/ 2 ) - 10srclStrn MainMenuTopLabel.Top = UsefulTopsrclStrn(MainMenuTopLabel.Height = StandardHeightsrclStrn5MainMenuBottomPushButton.Left = 2 * HorizontalMargin srclStrnMMainMenuBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnTMainMenuBottomPushButton.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn0MainMenuBottomPushButton.Height = StandardHeightsrclStrn0MainMenuNewNameEditField.Left = HorizontalMarginsrclStrnMMainMenuNewNameEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnYMainMenuNewNameEditField.Top = TabPanel1.Height - 2 * ( StandardHeight + SpaceBetween ) srclStrn0MainMenuNewNameEditField.Height = StandardHeightsrclStrn+MainMenuNewNameText.Left = HorizontalMargin srclStrnHMainMenuNewNameText.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnTMainMenuNewNameText.Top = TabPanel1.Height - 3 * ( StandardHeight + SpaceBetween ) srclStrn+MainMenuNewNameText.Height = StandardHeight srclStrn0MainMenuOldNameEditField.Left = HorizontalMarginsrclStrnMMainMenuOldNameEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnYMainMenuOldNameEditField.Top = TabPanel1.Height - 4 * ( StandardHeight + SpaceBetween ) srclStrn0MainMenuOldNameEditField.Height = StandardHeightsrclStrn+MainMenuOldNameText.Left = HorizontalMargin srclStrnHMainMenuOldNameText.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnTMainMenuOldNameText.Top = TabPanel1.Height - 5 * ( StandardHeight + SpaceBetween ) srclStrn+MainMenuOldNameText.Height = StandardHeight srclStrn5MainMenuBottomPushButton.Left = 2 * HorizontalMargin srclStrnMMainMenuBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnTMainMenuBottomPushButton.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn0MainMenuBottomPushButton.Height = StandardHeightsrclStrn0MainMenuProgressBar.Left = 2 * HorizontalMarginsrclStrnHMainMenuProgressBar.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnOMainMenuProgressBar.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn+MainMenuProgressBar.Height = StandardHeight srclStrn,MainMenuListBox.Left = 2 * HorizontalMarginsrclStrnDMainMenuListBox.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnMainMenuListBox.Top = 85srclStrn*If MainMenuOldNameText.Visible = True Then srclStrnUMainMenuListBox.Height = MainMenuOldNameText.Top - SpaceBetween - MainMenuListBox.Top srclStrn.ElseIf MainMenuNewNameText.Visible = True Then srclStrnUMainMenuListBox.Height = MainMenuNewNameText.Top - SpaceBetween - MainMenuListBox.Top srclStrnElse srclStrnZMainMenuListBox.Height = MainMenuBottomPushButton.Top - SpaceBetween - MainMenuListBox.Top srclStrnEnd If srclStrn.SourceSearchLabel.Left = 2 * HorizontalMargin srclStrnSourceSearchLabel.Width = 80srclStrn!SourceSearchLabel.Top = UsefulTop srclStrn)SourceSearchLabel.Height = StandardHeight srclStrnSourceTopGoButton.Width = 60srclStrnZSourceTopGoButton.Left = TabPanel1.Width - 2 * HorizontalMargin - SourceTopGoButton.Width srclStrn!SourceTopGoButton.Top = UsefulTop srclStrn)SourceTopGoButton.Height = StandardHeight srclStrnSourceCheckBox.Width = 160 srclStrn[SourceCheckBox.Left = SourceTopGoButton.Left - 2 * HorizontalMargin - SourceCheckBox.Width srclStrnSourceCheckBox.Top = UsefulTop srclStrn&SourceCheckBox.Height = StandardHeight srclStrn`SourceSearchEditField.Left = SourceSearchLabel.Left + SourceSearchLabel.Width + HorizontalMarginsrclStrnfSourceSearchEditField.Width = SourceCheckBox.Left - SourceSearchEditField.Left - 2 * HorizontalMargin srclStrn%SourceSearchEditField.Top = UsefulTop srclStrn-SourceSearchEditField.Height = StandardHeight srclStrn3SourceBottomPushButton.Left = 2 * HorizontalMargin srclStrnKSourceBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnRSourceBottomPushButton.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn.SourceBottomPushButton.Height = StandardHeight srclStrn.SourceProgressBar.Left = 2 * HorizontalMargin srclStrnFSourceProgressBar.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnMSourceProgressBar.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn)SourceProgressBar.Height = StandardHeight srclStrn'If BookmarksListBox.Visible = True Then srclStrnPSourceEditField.Left = HorizontalMargin + 155 ////// mn (make room for bookmarkssrclStrnNSourceEditField.Width = TabPanel1.Width - ( ( 2 * HorizontalMargin ) + 155 ) srclStrnElse srclStrn'SourceEditField.Left = HorizontalMargin srclStrnDSourceEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnEnd If srclStrn2BookmarksListBox.Left = HorizontalMargin ////// mn srclStrnJBookmarksListBox.Top = UsefulTop + StandardHeight + SpaceBetween ////// mn srclStrn&BookmarksListBox.Width = 140 ////// mn srclStrncBookmarksListBox.Height = SourceBottomPushButton.Top - SpaceBetween - SourceEditField.Top ////// mn srclStrn*SourceEditField.Top = BookmarksListBox.Top srclStrn0SourceEditField.Height = BookmarksListBox.HeightsrclStrn+XMLSearchLabel.Left = 2 * HorizontalMargin srclStrnXMLSearchLabel.Width = 80 srclStrnXMLSearchLabel.Top = UsefulTop srclStrn&XMLSearchLabel.Height = StandardHeight srclStrnXMLTopGoButton.Width = 60 srclStrnWXMLTopGoButton.Left = TabPanel1.Width - 2 * HorizontalMargin - SourceTopGoButton.Width srclStrnXMLTopGoButton.Top = UsefulTop srclStrn&XMLTopGoButton.Height = StandardHeight srclStrnXMLCheckBox.Width = 160 srclStrnXXMLCheckBox.Left = SourceTopGoButton.Left - 2 * HorizontalMargin - SourceCheckBox.WidthsrclStrnXMLCheckBox.Top = UsefulTop srclStrn#XMLCheckBox.Height = StandardHeight srclStrn]XMLSearchEditField.Left = SourceSearchLabel.Left + SourceSearchLabel.Width + HorizontalMargin srclStrncXMLSearchEditField.Width = SourceCheckBox.Left - SourceSearchEditField.Left - 2 * HorizontalMargin srclStrn"XMLSearchEditField.Top = UsefulTop srclStrn*XMLSearchEditField.Height = StandardHeight srclStrn0XMLBottomPushButton.Left = 2 * HorizontalMarginsrclStrnHXMLBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnOXMLBottomPushButton.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn+XMLBottomPushButton.Height = StandardHeight srclStrn$XMLEditField.Left = HorizontalMarginsrclStrnAXMLEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrn'XMLEditField.Top = BookmarksListBox.Top srclStrn-XMLEditField.Height = BookmarksListBox.Height srclStrn'ResultsTopLabel.Left = HorizontalMargin srclStrn3ResultsTopLabel.Width = ( TabPanel1.Width/ 2 ) - 10 srclStrnResultsTopLabel.Top = UsefulTop srclStrn'ResultsTopLabel.Height = StandardHeight srclStrn4ResultsBottomPushButton.Left = 2 * HorizontalMarginsrclStrnLResultsBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnSResultsBottomPushButton.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn/ResultsBottomPushButton.Height = StandardHeight srclStrn/ResultsNewNameEditField.Left = HorizontalMargin srclStrnLResultsNewNameEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnXResultsNewNameEditField.Top = TabPanel1.Height - 2 * ( StandardHeight + SpaceBetween ) srclStrn/ResultsNewNameEditField.Height = StandardHeight srclStrn*ResultsNewNameText.Left = HorizontalMargin srclStrnGResultsNewNameText.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnSResultsNewNameText.Top = TabPanel1.Height - 3 * ( StandardHeight + SpaceBetween ) srclStrn*ResultsNewNameText.Height = StandardHeight srclStrn/ResultsOldNameEditField.Left = HorizontalMargin srclStrnLResultsOldNameEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnXResultsOldNameEditField.Top = TabPanel1.Height - 4 * ( StandardHeight + SpaceBetween ) srclStrn/ResultsOldNameEditField.Height = StandardHeight srclStrn*ResultsOldNameText.Left = HorizontalMargin srclStrnGResultsOldNameText.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnSResultsOldNameText.Top = TabPanel1.Height - 5 * ( StandardHeight + SpaceBetween ) srclStrn*ResultsOldNameText.Height = StandardHeight srclStrn4ResultsBottomPushButton.Left = 2 * HorizontalMarginsrclStrnLResultsBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnSResultsBottomPushButton.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn/ResultsBottomPushButton.Height = StandardHeight srclStrn/ResultsProgressBar.Left = 2 * HorizontalMargin srclStrnGResultsProgressBar.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnNResultsProgressBar.Top = TabPanel1.Height - ( StandardHeight + SpaceBetween ) srclStrn*ResultsProgressBar.Height = StandardHeight srclStrn&ResultsListBox.Left = HorizontalMargin srclStrnCResultsListBox.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnResultsListBox.Top = 60 srclStrn)If ResultsOldNameText.Visible = True Then srclStrnRResultsListBox.Height = ResultsOldNameText.Top - SpaceBetween - ResultsListBox.Top srclStrn-ElseIf ResultsNewNameText.Visible = True Then srclStrnSResultsListBox.Height = MainMenuNewNameText.Top - SpaceBetween - ResultsListBox.Top srclStrnElse srclStrnWResultsListBox.Height = ResultsBottomPushButton.Top - SpaceBetween - ResultsListBox.Top srclStrnEnd If srclStrnEnd Sub EndGInt kŸEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kžMethGrupk nameStrnOpenXML CompStrnVsblInt sorcGruptk¡EncoInt srclStrn Sub OpenXML() srclStrnDim XMLType As New FileType srclStrnXMLType.Name = "XML files" srclStrnXMLType.Extensions = ".xml" srclStrn"Dim FileStreamA as TextInputStream srclStrnDim File1 As FolderItem srclStrn$File1 = GetOpenFolderItem( XMLType )srclStrnIf File1 <> Nil ThensrclStrn,FileStreamA = TextInputStream.Open ( File1 )srclStrn MainBuffer = FileStreamA.ReadAllsrclStrnFileStreamA.Close srclStrnNameOfFIle = File1.Name srclStrnFileSaved = TruesrclStrnElsesrclStrnExit SubsrclStrnEnd If srclStrn9/// /MainBuffer = ReplaceLineEndings ( MainBuffer, EOL ) srclStrn#XMLLines = Split (MainBuffer, EOL ) srclStrnXMLEditFIeld.Text = MainBuffer srclStrnFinishWithSourcesrclStrnFileSaved = TruesrclStrnPrepareFileMenu srclStrnsrclStrnsrclStrnsrclStrnEnd Sub EndGInt k¡EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k MethGrupDk¢nameStrn OutsideQuotes CompStrnVsblInt sorcGrup„k£EncoInt srclStrn@Function OutsideQuotes(S1 As String, Pos1 As Integer) As BooleansrclStrnDim A As String srclStrnDim Counter As Integer srclStrnA = LeftB ( S1, Pos1 - 1 ) srclStrnCounter = HowMany ( A, Q ) srclStrnIf Counter Mod 2 = 0 Then srclStrn Return True srclStrnElse srclStrn Return FalsesrclStrnEnd If srclStrn End FunctionEndGInt k£EncoInt AlasStrnflagInt shrdInt parmStrnS1 As String, Pos1 As Integer rsltStrnBoolean EndGInt k¢MethGrupjk¤nameStrnPerformTheTask CompStrnVsblInt sorcGrupipk¥EncoInt srclStrnSub PerformTheTask()srclStrn-// MsgBox "TaskSelected" + EOL + TaskSelected srclStrn)// MsgBox "KindOfList" + EOL + KindOfList srclStrn$// If KindOfList = "Main Menu" ThensrclStrnSelect Case TaskSelectedsrclStrnCase "1. Add Blank Line Footer" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnAddBlankLineFooter srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn#Case "2. Change Source to Editable" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnChangeSourceToEditable srclStrn$Case "3. Change Source to Read Only"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnChangeSourceToReadOnly srclStrn,Case "4. Change Font Throughout to Arial 24"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnChangeFontThroughoutToArial24 srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn,Case "5. Change Font Throughout to System 0"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnChangeFontThroughoutToSystem0 srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn7Case "6. Add Automatic " + Q + "Next" + Q + " Comments" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnAddNextComments srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn7Case "7. Add Automatic " + Q + "Else" + Q + " Comments" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnAddElseComments srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn9Case "8. Add Automatic " + Q + "End If" + Q + " Comments" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnAddEndIfCommentssrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn'Case "9. Comment Out MsgBox Statements" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnCommentOutMsgBoxStatements srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn$Case "10. Comment Out Entire Source"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnCommentOutSourcesrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn,Case "11. Comment Out Source And Add MsgBox"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnCommentOutSourceAddMsgBox srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn Case "12. Add Procedure Headers"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrnAddProcedureHeaders1srclStrnCase "Add Procedure Headers 2" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnAddProcedureHeaders2srclStrn Case "13. Add Procedure Footers"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnAddProcedureFooters srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn"Case "14. Alphabetize All Methods" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn WorkStarted srclStrnAlphabetizeAllMethods srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn WorkFinishedsrclStrn ClearFields srclStrn%Case "15. Alphabetize Event Handlers" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn WorkStarted srclStrnAlphabetizeEventHandlerssrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn WorkFinishedsrclStrn ClearFields srclStrn!Case "16. Alphabetize Menu Items" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn WorkStarted srclStrnAlphabetizeMenuItemssrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn WorkFinishedsrclStrn ClearFields srclStrn+Case "17. Alphabetize User-Defined Methods" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn WorkStarted srclStrnAlphabetizeUserDefinedMethods srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn WorkFinishedsrclStrn ClearFields srclStrn$Case "18. Remove Unnecessary Spaces"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnRemoveUnnecessarySpaces srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn(Case "19. Add Extra Spaces Of All Types"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnAddExtraSpacesOfAllTypessrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn"Case "20. Put Spaces After Commas" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnPutSpacesAfterCommassrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn1Case "21. Put Spaces Around Parentheses Symbols" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnSpaceParenthesessrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn5Case "22. Put Spaces Only Inside Parentheses Symbols" srclStrnCheckForXMLFile srclStrn7If MainBuffer = "" Or FileJustLoaded = True Then Return srclStrnSpaceInsideParentheses srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn6Case "23. Put Spaces Only Outside Parentheses Symbols" srclStrnCheckForXMLFile srclStrn7If MainBuffer = "" Or FileJustLoaded = True Then Return srclStrnSpaceOutsideParentheses srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn>Case "24. Put Spaces Only Outside Outside Parentheses Symbols" srclStrnCheckForXMLFile srclStrn7If MainBuffer = "" Or FileJustLoaded = True Then Return srclStrnSpaceOutsideOusideParentheses srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn7Case "25. Put Spaces Around Symbols For Math Operators" srclStrnCheckForXMLFile srclStrn7If MainBuffer = "" Or FileJustLoaded = True Then Return srclStrnSpaceMathOperators srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrnCase "26. Change End To End If" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrnChangeEndToEndIfsrclStrnCase "27. Change End If To End" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrnChangeEndIfToEndsrclStrn Case "28. Change Next to Next I"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnChangeNextToNextI srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn Case "29. Change Next I to Next"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnChangeNextIToNext srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrnCase "30. Remove Blank Lines" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnRemoveBlankLinessrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn!Case "31. Separate Logical Units" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnSeparateLogicalUnitssrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn#Case "32. Double-Space Source Code" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDoubleSpaceSource srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn#Case "33. Triple-Space Source Code" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnTripleSpaceSource srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn&Case "34. Quadruple-Space Source Code" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnQuadrupleSpaceSourcesrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrnCase "35. Initial Conform" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnInitialConform srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn)Case "36. Conform All (may take a while)" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn ConformAll srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrnCase "37. Conform Constants"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnConformConstantssrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrnCase "38. Conform Controls" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnConformControls srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrnCase "39. Conform Line Labels" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnConformLineLabels srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrnCase "40. Conform Methods" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnConformMethods srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrnCase "41. Conform Modules" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnConformModules srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrnCase "42. Conform Properties" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnConformProperties srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn,Case "43. Conform (most) REALbasic Keywords"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnConformBasicKeywordssrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrnCase "44. Conform Variables"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnConformVariablessrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn*Case "45. Display Modules Used in Project" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayModules srclStrn5Case "46. Display REALbasic Keywords Used in Project" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayBasicKeywordssrclStrn9Case "47. Display Constants Used in Project with Details" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayConstantsWithDetails srclStrnFCase "48. Display Control Event Handlers Used in Project With Details" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn&DisplayControlEventHandlersWithDetails srclStrn8Case "49. Display Controls Used in Project With Details"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayControlsWithDetails srclStrn9Case "50. Display Functions Used in Project with Details" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayFunctionsWithDetails srclStrnFCase "51. Display General Event Handlers Used in Project with Details" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn&DisplayGeneralEventHandlersWithDetails srclStrn;Case "52. Display Line Labels Used in Project with Details" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayLineLabelsWithDetailssrclStrn:Case "53. Display Menu Items Used In Project with Details" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayMenuItemsWithDetails srclStrn7Case "54. Display Methods Used in Project with Details" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayMethodsWithDetails srclStrn:Case "55. Display Properties Used in Project with Details" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayPropertiesWithDetailssrclStrn4Case "56. Display Subs Used in Project with Details"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplaySubsWithDetails srclStrn9Case "57. Display Variables Used in Project with Details" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayVariablesWithDetails srclStrn8Case "58. Display Constants Used in Project by Location"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayConstantsByLocation srclStrnECase "59. Display Control Event Handlers Used in Project by Location" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn%DisplayControlEventHandlersByLocation srclStrn7Case "60. Display Controls Used in Project by Location" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayControlsByLocation srclStrn8Case "61. Display Functions Used in Project by Location"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayFunctionsByLocation srclStrnECase "62. Display General Event Handlers Used in Project by Location" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn%DisplayGeneralEventHandlersByLocation srclStrn:Case "63. Display Line Labels Used in Project by Location" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayLineLabelsByLocation srclStrn9Case "64. Display Menu Items Used In Project by Location" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayMenuItemsByLocation srclStrn6Case "65. Display Methods Used in Project by Location" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayMethodsByLocationsrclStrn9Case "66. Display Properties Used in Project by Location" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayPropertiesByLocation srclStrn3Case "67. Display Subs Used in Project by Location" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplaySubsByLocation srclStrn8Case "68. Display Variables Used in Project by Location"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayVariablesByLocation srclStrn1Case "69. Add XML Line Numbers To Source and XML" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnAddXMLLineNumbersToSourceAndXML srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn6Case "70. Display Source Code For A Particular Method" srclStrn;//MsgBox "This particular routine is temporarily " + EOL _ srclStrn//+ "not available. Sorry!"srclStrn //Exit Sub srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayAParticularMethod1 srclStrn7Case "70. Display Source Code For A Particular Method2" srclStrn;//MsgBox "This particular routine is temporarily " + EOL _ srclStrn//+ "not available. Sorry!"srclStrn //Exit Sub srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayAParticularMethod2 srclStrn1Case "71. Display Source Code For Entire Project" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnTabPanel1.Value = SourcePanel srclStrn;Case "72. Remove XML Line Numbers From Source Code and XML" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn'Case "73. Remove Increased Indentation" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnRemoveIncreasedIndentation srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn Case "74. Increased Indent of 1"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnIncreasedIndentOf1 srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn Case "75. Increased Indent of 2"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnIncreasedIndentOf2 srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn Case "76. Increased Indent of 3"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnIncreasedIndentOf3 srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn8Case "77. Check Variables And Properties For Duplicates"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrn(CheckVariablesAndPropertiesForDuplicatessrclStrn!Case "78. Display Unused Methods" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayUnusedMethodssrclStrn$Case "79. Display Unused Properties"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayUnusedProperties srclStrn#Case "80. Display Unused Variables" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayUnusedVariables srclStrn0Case "81. Obfuscate Controls by Switching Names"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnSwitchControls srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn#Case "82. Change a Particular Name" srclStrn;//MsgBox "This particular routine is temporarily " + EOL _ srclStrn//+ "not available. Sorry!"srclStrn //Exit Sub srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnChangeParticularName1 srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn!Case "Change a Particular Name 2" srclStrnChangeParticularName2 srclStrn)TaskSelected = "Change a Particular Name" srclStrn? // MainMenuNewNameText.Text = "Perform the Task" srclStrn ClearFields srclStrnExitsrclStrn'Case "83. Combine Partial Source Lines" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnCombinePartialLines srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn6Case "84. Display Modifications Made by RB CodeHelper" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayModificationssrclStrn-Case "85. Display Project Information (long)" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayProjectInfoLong srclStrn.Case "86. Display Project Information (short)" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnDisplayProjectInfoShort srclStrn8Case "87. Change XML to Editable (use extreme caution!)"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnChangeXMLtoEditable srclStrn"Case "88. Change XML to Read Only" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnChangeXMLtoReadOnly srclStrn)Case "89. Remove Source Line Breakpoints" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnRemoveSourceLineBreakpoints srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn-Case "90. Undo Previous Change (if possible)" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnUndoPreviousChange srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn/// ClearFields srclStrn3Case "91. Use " + Q + "mnu" + Q + " for Menu Items" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnUseMnuForMenuItems srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn;Case "92. Remove Automatic " + Q + "Next" + Q + " Comments" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnRemoveNextComments srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn;Case "93. Remove Automatic " + Q + "Else" + Q + " Comments" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnRemoveElseComments srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn=Case "94. Remove Automatic " + Q + "End If" + Q + " Comments" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnRemoveEndIfComments srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn+Case "95. Remove All Comments (except ///)" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnRemoveAllComments srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn*Case "96. Remove // Comments (except ///)" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnRemoveComments1 srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrnCase "97. Remove ' Comments"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnRemoveComments2 srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrnCase "98. Remove Rem Comments" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnRemoveComments3 srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn&Case "99. Uncomment MsgBox Statements" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnUncommentMsgBoxStatements srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn#Case "100. Uncomment Entire Source" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnUndoCommentOutSourcesrclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn$Case "101. Remove Procedure Headers"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnRemoveProcedureHeaders srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn$Case "102. Remove Procedure Footers"srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnRemoveProcedureFooters srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn3Case "103. Unobfuscate Controls By Switching Names" srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then Return srclStrnSwitchControls srclStrn:ModificationsMade = ModificationsMade + TaskSelected + EOL srclStrn ClearFields srclStrn$Case "Newest Routines Added (1 - 5)"srclStrn // Do nothing srclStrn%Case "Add Automatic Comments (6 - 8)" srclStrn // Do nothing srclStrn#Case "Add Comment Symbols (9 - 11)" srclStrn // Do nothing srclStrn'Case "Add Headers Or Footers (12 - 13)" srclStrn // Do nothing srclStrn$Case "Alphabetize Methods (14 - 17)"srclStrn // Do nothing srclStrn)Case "Change Character Spacing (18 - 25)" srclStrn // Do nothing srclStrn2Case "Change End If/End and Next I/Next (26 - 29)" srclStrn // Do nothing srclStrn$Case "Change Line Spacing (30 - 34)"srclStrn // Do nothing srclStrn Case "Conform in Case (35 - 44)"srclStrn // Do nothing srclStrn-Case "Display Simple List of Names (45 - 46)" srclStrn // Do nothing srclStrn3Case "Display List of Names with Details (47 - 57)" srclStrn // Do nothing srclStrn2Case "Display List of Names by Location (58 - 68)" srclStrn // Do nothing srclStrnHCase "Display of Source Code with or without XML Line Numbers (69 - 72)"srclStrn // Do nothing srclStrn1Case "Increase Or Decrease Indentation (73 - 76)" srclStrn // Do nothing srclStrn/Case "Locate Unnecessary Definitions (77 - 80)" srclStrn // Do nothing srclStrn(Case "Obfuscate by Switching Names (81)"srclStrn // Do nothing srclStrn,Case "Perform Miscellaneous Tasks (82 - 90)"srclStrn // Do nothing srclStrnCase "Prefix Method Names (91)" srclStrn // Do nothing srclStrn*Case "Remove Automatic Comments (92 - 94)" srclStrn // Do nothing srclStrn&Case "Remove Other Comments (95 - 98)" srclStrn // Do nothing srclStrn(Case "Remove Comment Symbols (99 - 100)"srclStrn // Do nothing srclStrn,Case "Remove Headers Or Footers (101 - 102)"srclStrn // Do nothing srclStrn+Case "Unobfuscate by Switching Names (103)" srclStrn // Do nothing srclStrnCase "Back To Main Menu"srclStrnTabPanel1.Value = MainMenuPanel srclStrn Case Else srclStrn"MsgBox TaskSelected + " not found" srclStrn End Select srclStrnsrclStrnsrclStrnEnd Sub EndGInt k¥EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k¤MethGrupÀk¦nameStrnPopulateResultsListBox2 CompStrnVsblInt sorcGrup k§EncoInt srclStrn0Sub PopulateResultsListBox2(Array1() As String)srclStrnDim I As IntegersrclStrnResultsListBox.DeleteAllRowssrclStrn ResultsListBox.AddRow TextHoldersrclStrnGResultsListBox.AddRow "(including control-related " + KindOfList + "):" srclStrnResultsListBox.AddRow ""srclStrnFor I = 0 To Ubound ( Array1 ) srclStrn"ResultsListBox.AddRow Array1 ( I ) srclStrnNext I srclStrnResultsListBox.Refresh srclStrn!ResultsListBox.ScrollPosition = 0 srclStrnEnd Sub EndGInt k§EncoInt AlasStrnflagInt shrdInt parmStrnArray1() As String rsltStrnEndGInt k¦MethGrup”k¨nameStrnPopulateResultsListBox CompStrnVsblInt sorcGrupàk©EncoInt srclStrn.Sub PopulateResultsListBox(Array1() As String) srclStrnDim I As IntegersrclStrnResultsListBox.DeleteAllRowssrclStrnResultsListBox.Refresh srclStrn ResultsListBox.AddRow TextHoldersrclStrnResultsListBox.AddRow ""srclStrnFor I = 0 To Ubound ( Array1 ) srclStrn#ResultsListBox.AddRow Array1 ( I ) srclStrn Next I srclStrnResultsListBox.Refresh srclStrn!ResultsListBox.ScrollPosition = 0 srclStrnEnd Sub EndGInt k©EncoInt AlasStrnflagInt shrdInt parmStrnArray1() As String rsltStrnEndGInt k¨MethGrupàkªnameStrnPrepareFileMenu CompStrnVsblInt sorcGrupHk«EncoInt srclStrnSub PrepareFileMenu() srclStrn ZapFileMenu srclStrnmnuSeparator2.Enabled = TruesrclStrnmnuSeparator1.Enabled = TruesrclStrnmnuSeparator2.Visible = TruesrclStrnmnuSeparator1.Visible = TruesrclStrnmnuQuit.Visible = True srclStrnmnuPrintResults.Visible = True srclStrnmnuPrintXML.Visible = True srclStrnmnuPrintSource.Visible = True srclStrnmnuSaveXML.Visible = True srclStrnmnuSaveResults.Visible = True srclStrnmnuSaveSource.Visible = TruesrclStrnmnuOpenXML.Visible = True srclStrnEnd Sub EndGInt k«EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kªMethGrup¬k¬nameStrnPrepareResultsPanel CompStrnVsblInt sorcGrupk­EncoInt srclStrnSub PrepareResultsPanel() srclStrn)If ResultsOldNameText.Visible = True Then srclStrnTResultsListBox.Height = MainMenuOldNameText.Top - SpaceBetween - MainMenuListBox.TopsrclStrn-ElseIf ResultsNewNameText.Visible = True Then srclStrnTResultsListBox.Height = MainMenuNewNameText.Top - SpaceBetween - MainMenuListBox.TopsrclStrnElse srclStrnYResultsListBox.Height = MainMenuBottomPushButton.Top - SpaceBetween - MainMenuListBox.Top srclStrnEnd If srclStrnEnd Sub EndGInt k­EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k¬MethGrup|k®nameStrnPrepareSourcePanel CompStrnVsblInt sorcGrupàk¯EncoInt srclStrnSub PrepareSourcePanel()srclStrn'If BookmarksListBox.Visible = True Then srclStrnPSourceEditField.Left = HorizontalMargin + 155 ////// mn (make room for bookmarkssrclStrnNSourceEditField.Width = TabPanel1.Width - ( ( 2 * HorizontalMargin ) + 155 ) srclStrnElse srclStrn'SourceEditField.Left = HorizontalMargin srclStrnDSourceEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnEnd If srclStrnEnd Sub EndGInt k¯EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k®MethGruppk°nameStrn PrintResultsCompStrnVsblInt sorcGrupÜk±EncoInt srclStrnSub PrintResults() srclStrn"/// Name of Routine: PrintSource srclStrn3/// Programmer: "CV" ("Jack") on the RB mail list srclStrn/// Date Added: 9/21/2005 srclStrn/// srclStrnDim g As Graphics srclStrnDim I, LastRow As Integer srclStrn&Dim LeftMargin As Integer = 1.25 * 72 srclStrnDim LineSpacing As Integer srclStrnDim p As PrinterSetup srclStrn"Dim TopMargin As Integer = 1 * 72 srclStrnDim X, Y, yStart As Integer srclStrnp = New PrinterSetupsrclStrng = OpenPrinter ( p ) srclStrnLineSpacing = g.TextHeight srclStrn$X = LeftMargin - Abs ( p.PageLeft ) srclStrn5yStart = TopMargin - Abs ( p.PageTop ) + g.TextAscent srclStrn Y = yStart srclStrn'g.DrawString ResultsTopLabel.Text, X, Y srclStrnY = Y + LineSpacing srclStrng.DrawString "", X, Y srclStrnY = Y + LineSpacing srclStrn&LastRow = ResultsListBox.ListCount - 1 srclStrnFor I = 0 To LastRowsrclStrnIf Y > p.Height ThensrclStrn g.NextPage srclStrn Y = yStart srclStrnEnd If srclStrn-g.DrawString ResultsListBox.List ( I ) , X, Y srclStrnY = Y + LineSpacing srclStrn Next I srclStrng = Nil srclStrnEnd Sub EndGInt k±EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k°MethGrup ¤k²nameStrn PrintSource CompStrnVsblInt sorcGrup k³EncoInt srclStrnSub PrintSource() srclStrn"/// Name of Routine: PrintSource srclStrn3/// Programmer: "CV" ("Jack") on the RB mail list srclStrn/// Date Added: 9/21/2005 srclStrn/// srclStrnDim g As Graphics srclStrnDim I, LastRow As Integer srclStrn&Dim LeftMargin As Integer = 1.25 * 72 srclStrnDim LineSpacing As Integer srclStrnDim p As PrinterSetup srclStrn1Dim PrinterLines ( - 1 ) , Temp1, Test1 As String srclStrn"Dim TopMargin As Integer = 1 * 72 srclStrnDim X, Y, yStart As Integer srclStrnPageNumber = 1 srclStrn*SourceDisplayBuffer = SourceEditField.Text srclStrnFSourceDisplayBuffer = ReplaceLineEndings ( SourceDisplayBuffer, EOL ) srclStrn9SourceDisplayBuffer = ReplaceAll ( SourceDisplayBuffer, _ srclStrn1CR + LF + CR + LF + CR + LF, CR + LF + CR + LF ) srclStrnp = New PrinterSetupsrclStrng = OpenPrinter ( p ) srclStrnLineSpacing = g.TextHeight srclStrn$X = LeftMargin - Abs ( p.PageLeft ) srclStrn5yStart = TopMargin - Abs ( p.PageTop ) + g.TextAscent srclStrn Y = yStart srclStrn2PrinterLines = Split ( SourceDisplayBuffer, EOL ) srclStrn%For I = 0 To Ubound ( PrinterLines ) srclStrnTemp1 = PrinterLines ( I ) srclStrn$If I <> Ubound ( PrinterLines ) ThensrclStrnEIf Temp1 = "" Then Temp1 = "_______________________________________"_ srclStrnQ + "_______________________________________" + " " srclStrn&Test1 = Lowercase ( LTrim ( Temp1 ) ) srclStrnEnd If srclStrn 80 Then srclStrn(PrinterLines ( I ) = Left ( Temp1, 80 ) srclStrn-PrinterLines.Insert I + 1, Mid ( Temp1, 81 ) srclStrn I = I - 1 srclStrnElse srclStrnPrinterLines ( I ) = Temp1 srclStrnEnd If srclStrn Next I srclStrn"LastRow = Ubound ( PrinterLines ) srclStrnFor I = 0 To LastRowsrclStrn'If Y > p.Height - 2 * LineSpacing Then srclStrng.DrawString " ", X, Y srclStrnY = Y + LineSpacing srclStrn0g.DrawString "Page " + Str ( PageNumber ) , X, YsrclStrnY = Y + LineSpacing srclStrnPageNumber = PageNumber + 1 srclStrn g.NextPage srclStrn Y = yStart srclStrnEnd If srclStrn&g.DrawString PrinterLines ( I ) , X, Y srclStrnY = Y + LineSpacing srclStrn Next I srclStrng = Nil srclStrnEnd Sub EndGInt k³EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k²MethGrup xk´nameStrnPrintXMLCompStrnVsblInt sorcGrup èkµEncoInt srclStrnSub PrintXML() srclStrn/// Name of Routine: PrintXML srclStrn3/// Programmer: "CV" ("Jack") on the RB mail list srclStrn/// Date Added: 9/21/2005 srclStrn/// srclStrnDim g As Graphics srclStrnDim I, LastRow As Integer srclStrn&Dim LeftMargin As Integer = 1.25 * 72 srclStrnDim LineSpacing As Integer srclStrnDim p As PrinterSetup srclStrn1Dim PrinterLines ( - 1 ) , Temp1, Test1 As String srclStrn"Dim TopMargin As Integer = 1 * 72 srclStrnDim X, Y, yStart As Integer srclStrnPageNumber = 1 srclStrn$XMLDisplayBuffer = XMLEditField.TextsrclStrn@XMLDisplayBuffer = ReplaceLineEndings ( XMLDisplayBuffer, EOL ) srclStrn3XMLDisplayBuffer = ReplaceAll ( XMLDisplayBuffer, _ srclStrn1CR + LF + CR + LF + CR + LF, CR + LF + CR + LF ) srclStrnp = New PrinterSetupsrclStrng = OpenPrinter ( p ) srclStrnLineSpacing = g.TextHeight srclStrn$X = LeftMargin - Abs ( p.PageLeft ) srclStrn5yStart = TopMargin - Abs ( p.PageTop ) + g.TextAscent srclStrn Y = yStart srclStrn/PrinterLines = Split ( XMLDisplayBuffer, EOL ) srclStrn%For I = 0 To Ubound ( PrinterLines ) srclStrnTemp1 = PrinterLines ( I ) srclStrn$If I <> Ubound ( PrinterLines ) ThensrclStrnEIf Temp1 = "" Then Temp1 = "_______________________________________"_ srclStrnQ + "_______________________________________" + " " srclStrn&Test1 = Lowercase ( LTrim ( Temp1 ) ) srclStrnEnd If srclStrn 80 Then srclStrn(PrinterLines ( I ) = Left ( Temp1, 80 ) srclStrn-PrinterLines.Insert I + 1, Mid ( Temp1, 81 ) srclStrn I = I - 1 srclStrnElsesrclStrnPrinterLines ( I ) = Temp1 srclStrnEnd If srclStrn Next I srclStrn"LastRow = Ubound ( PrinterLines ) srclStrnFor I = 0 To LastRowsrclStrn'If Y > p.Height - 2 * LineSpacing Then srclStrng.DrawString " ", X, Y srclStrnY = Y + LineSpacing srclStrn0g.DrawString "Page " + Str ( PageNumber ) , X, YsrclStrnY = Y + LineSpacing srclStrnPageNumber = PageNumber + 1 srclStrn g.NextPage srclStrn Y = yStart srclStrnEnd If srclStrn&g.DrawString PrinterLines ( I ) , X, Y srclStrnY = Y + LineSpacing srclStrn Next I srclStrng = Nil srclStrnEnd Sub EndGInt kµEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k´MethGrupk¶nameStrnPruneBookmarks CompStrnVsblInt sorcGrup€k·EncoInt srclStrnSub PruneBookmarks()srclStrnDim B As Bookmark srclStrnDim C, I As Integer srclStrn3 /// Name of Routine: PruneBookmarks srclStrn% /// Location: Window1 srclStrn+ /// Programmer: Mark Nutter srclStrn# /// Date: 1/26/2006 srclStrnM // After "stocking" the Bookmarks listbox there will be several srclStrnL // bookmarks with no child entries, due to the way XML entriessrclStrnL // are parsed. This routine prunes out those empty bookmarks.srclStrn"C = BookmarksListBox.ListCount - 1 srclStrnFor I = C DownTo 0 srclStrn3B = Bookmark ( BookmarksListBox.CellTag ( I, 0 ) ) srclStrn!If B.Count = 0 Then ' no children srclStrnBookmarksListBox.RemoveRow IsrclStrnEnd If srclStrn Next I srclStrnEnd Sub EndGInt k·EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k¶MethGrup„k¸nameStrnPutDimStatementsOnSeparateLines CompStrnVsblInt sorcGrup Ük¹EncoInt srclStrn%Sub PutDimStatementsOnSeparateLines() srclStrnDim AsPhrase, Char1 As String srclStrnDim I As IntegersrclStrn-Dim LeftPart, MiddlePart, NewSource As String srclStrn-Dim Pos1, Pos2, Pos2a, Pos2b, Pos3 As Integer srclStrnDim Pos4 As Integer srclStrn$Dim RightPart, Temp, Temp2 As StringsrclStrnMainBufferBackup = MainBuffer srclStrnReDim Constants ( - 1 ) srclStrn-For XMLLineNumber = 0 To Ubound ( XMLLInes ) srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn.If LeftB ( Trim ( Source ) , 4 ) = "Dim " Then srclStrnFor I = 1 To Len ( Source ) srclStrnChar1 = Mid ( Source, I, 1 ) srclStrnIf Char1 = "," Then srclStrn+If IsInsideParens ( Source, I ) = True Then srclStrn"LeftPart = Left ( Source, I - 1 ) srclStrnMiddlePart = "[|]" srclStrn"RightPart = Mid ( Source, I + 1 ) srclStrn*Source = LeftPart + MiddlePart + RightPart srclStrnEnd If srclStrnEnd If srclStrn Next I srclStrnXMLLInes.Remove XMLLineNumber srclStrn!XMLLineNumber = XMLLineNumber - 1 srclStrn Temp = Source srclStrn"Temp = RemoveExtraSpaces ( Temp ) srclStrn'Temp = ReplaceAllB ( Temp, " (", "(" ) srclStrn'Temp = ReplaceAllB ( Temp, "( ", "(" ) srclStrn'Temp = ReplaceAllB ( Temp, " )", ")" ) srclStrn'Temp = ReplaceAllB ( Temp, "- ", "-" ) srclStrn+Temp = ReplaceAllB ( Temp, "[|] ", "[|]" ) srclStrnTemp = MidB ( Temp, 5 ) srclStrnDo srclStrnPos1 = 1srclStrnPos2a = InStrB ( Temp, "," ) srclStrnPos2b = InStrB ( Temp, " " ) srclStrn#Pos2 = MinNonZero ( Pos2a, Pos2b ) srclStrn,Temp2 = RTrim ( Mid1 ( Temp, Pos1, Pos2 ) ) srclStrn!If RIghtB ( Temp2, 1 ) = "," Then srclStrn+Temp2 = LeftB ( Temp2, Len ( Temp2 ) - 1 ) srclStrnEnd If srclStrn'Pos3 = InStr ( Pos2, Temp, " As " ) + 1 srclStrn!Pos4 = InStr ( Pos3, Temp, "," ) srclStrnIf Pos4 = 0 ThensrclStrnPos4 = Len ( Temp ) srclStrnEnd If srclStrn%AsPhrase = Mid1 ( Temp, Pos3, Pos4 ) srclStrn$If RIghtB ( AsPhrase, 1 ) = "," ThensrclStrn4AsPhrase = LeftB ( AsPhrase, Len ( AsPhrase ) - 1 ) srclStrnEnd If srclStrn+NewSource = "Dim " + Temp2 + " " + AsPhrase srclStrn3NewSource = ReplaceAllB ( NewSource, "[|]", ", " ) srclStrnSourceCodeLine = NewSource srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrn&XMLLInes.Insert XMLLineNumber, XMLLine srclStrnPos1 = InStrB ( Temp, " " ) srclStrnTemp = MidB ( Temp, Pos1 + 1 ) srclStrn!If LeftB ( Temp, 3 ) = "As " Then srclStrnPos1 = InStrB ( Temp, "," ) srclStrnIf Pos1 = 0 ThensrclStrn Temp = "" srclStrnElse srclStrn(Temp = Trim ( MidB ( Temp, Pos1 + 1 ) ) srclStrnEnd If srclStrnEnd If srclStrnIf LeftB ( Temp, 1 ) = "," Then srclStrnTemp = MidB ( Temp, 3 ) srclStrnEnd If srclStrnIf Temp = "" Then Exit srclStrnLoopsrclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLInes, EOL ) srclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnEnd Sub EndGInt k¹EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k¸MethGrup8kºnameStrnPutSpacesAfterCommasCompStrnVsblInt sorcGrupœk»EncoInt srclStrnSub PutSpacesAfterCommas() srclStrnDim I As IntegersrclStrnDim Regex1 As New RegEx srclStrnDim Temp As String srclStrnDim UpperBound2 As Integer srclStrn7If TaskSelected <> "Add Extra Spaces Of All Types" Then srclStrnMainBufferBackup = MainBuffer srclStrnEnd If srclStrnRegex1.Options.Greedy = False srclStrn'Regex1.Options.ReplaceAllMatches = True srclStrn WorkStarted srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnMainBuffer = "" srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTemp = LTrim ( Source ) srclStrn5FrontSpacesToPutBack = Len ( Source ) - Len ( Temp ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrn+Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn*Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn)Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn)Piece = ReplaceAllB ( Piece, ", ", "," ) srclStrn /// , Space srclStrnRegex1.SearchPattern = ",(?! )" srclStrn Regex1.ReplacementPattern = ", "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnCSource = Rpt ( " ", FrontSpacesToPutBack ) + MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt k»EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kºMethGrup¸k¼nameStrnQuadrupleSpaceSourceCompStrnVsblInt sorcGrupk½EncoInt srclStrnSub QuadrupleSpaceSource() srclStrnMainBufferBackup = MainBuffer srclStrn WorkStarted srclStrnAddBlankLines ( 3 ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrn EndModify srclStrnExitsrclStrn'MainBufferBackup = MainBuffer srclStrn 'WorkStartedsrclStrn'AddBlankLines ( 3 ) srclStrn' srclStrn 'EndModify srclStrn' srclStrnEnd Sub EndGInt k½EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt k¼MethGrupk¾nameStrn RegExReplaceCompStrnVsblInt sorcGrup\k¿EncoInt srclStrn Sub RegExReplace(New1 As String)srclStrnDim R As New RegEx srclStrn;R.SearchPattern = "(?" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnIf Trim ( Source ) = "" Then' srclStrnXMLLInes.Remove XMLLineNumber srclStrn!XMLLineNumber = XMLLineNumber - 1 srclStrnUpperBound = UpperBound - 1 srclStrnElse srclStrnSourceCodeLine = Source srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnEnd If srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt kÁEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kÀMethGrup kÂnameStrnRemoveBlankLinesCompStrnVsblInt sorcGruptkÃEncoInt srclStrnSub RemoveBlankLines() srclStrnMainBufferBackup = MainBuffer srclStrn+If TaskSelected = "Remove Blank Lines" Then srclStrn WorkStarted srclStrnEnd If srclStrn$XMLLInes = Split ( MainBuffer, EOL )srclStrnMainBuffer = "" srclStrn#UpperBoundXML = Ubound ( XMLLInes ) srclStrn+If TaskSelected = "Remove Blank Lines" Then srclStrnStartProgressBar2 srclStrnEnd If srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrn+If TaskSelected = "Remove Blank Lines" Then srclStrnContinueProgressBar2srclStrnEnd If srclStrn$XMLLine = XMLLInes ( XMLLineNumber )srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn$If Trim ( SourceCodeLine ) = "" ThensrclStrnXMLLInes.Remove XMLLineNumber srclStrn!XMLLineNumber = XMLLineNumber - 1 srclStrn!UpperBoundXML = UpperBoundXML - 1 srclStrnEnd If srclStrnEnd If srclStrnNext XMLLineNumber srclStrn'Dim SourceCodeLine2, XMLLine2 As String srclStrn0For XMLLineNumber = 0 To Ubound ( XMLLines ) - 1srclStrn$XMLLine = XMLLInes ( XMLLineNumber )srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn-If Mid ( SourceCodeLine, 1, 4 ) = "Sub " Then srclStrn)XMLLine2 = XMLLInes ( XMLLineNumber + 1 ) srclStrn:SourceCodeLine2 = BetweenTags ( XMLLine2, "" ) srclStrn1If Mid ( SourceCodeLine2, 1, 7 ) = "End Sub" Then srclStrnCXMLLines.Insert ( XMLLineNumber + 1 ) , "" srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnNext XMLLineNumber srclStrn+If TaskSelected = "Remove Blank Lines" Then srclStrnEndProgressBar2 srclStrnEnd If srclStrn%MainBuffer = MyJoin ( XMLLInes, EOL ) srclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrn+If TaskSelected = "Remove Blank Lines" Then srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnEnd If srclStrn EndModify srclStrnExitsrclStrn'MainBufferBackup = MainBuffer srclStrn,'If TaskSelected = "Remove Blank Lines" ThensrclStrn 'WorkStartedsrclStrn'End If srclStrn%'XMLLInes = Split ( MainBuffer, EOL ) srclStrn'MainBuffer = ""srclStrn$'UpperBoundXML = Ubound ( XMLLInes )srclStrn,'If TaskSelected = "Remove Blank Lines" ThensrclStrn'StartProgressBar2 srclStrn'End If srclStrn' srclStrn''For XMLLineNumber = 0 To UpperBoundXML srclStrn,'If TaskSelected = "Remove Blank Lines" ThensrclStrn'ContinueProgressBar2 srclStrn'End If srclStrn%'XMLLine = XMLLInes ( XMLLineNumber ) srclStrn!'If IsSourceLine ( XMLLine ) Then srclStrn9'SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn%'If Trim ( SourceCodeLine ) = "" Then srclStrn'XMLLInes.Remove XMLLineNumber srclStrn"'XMLLineNumber = XMLLineNumber - 1 srclStrn"'UpperBoundXML = UpperBoundXML - 1 srclStrn'End If srclStrn'End If srclStrn'Next XMLLineNumber srclStrn('Dim SourceCodeLine2, XMLLine2 As StringsrclStrn1'For XMLLineNumber = 0 To Ubound ( XMLLines ) - 1 srclStrn%'XMLLine = XMLLInes ( XMLLineNumber ) srclStrn!'If IsSourceLine ( XMLLine ) Then srclStrn9'SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn.'If Mid ( SourceCodeLine, 1, 4 ) = "Sub " Then srclStrn*'XMLLine2 = XMLLInes ( XMLLineNumber + 1 ) srclStrn;'SourceCodeLine2 = BetweenTags ( XMLLine2, "" ) srclStrn2'If Mid ( SourceCodeLine2, 1, 7 ) = "End Sub" Then srclStrnD'XMLLines.Insert ( XMLLineNumber + 1 ) , ""srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'End If srclStrn'End If srclStrn'Next XMLLineNumber srclStrn,'If TaskSelected = "Remove Blank Lines" ThensrclStrn'EndProgressBar2srclStrn'End If srclStrn'MainBufferBackup = MainBuffer srclStrn$'MainBuffer = Join ( XMLLInes, EOL )srclStrn'FileSaved = False srclStrn'XMLChanged = True srclStrn'SourceDisplayChanged = TruesrclStrn'XMLDisplayChanged = True srclStrn,'If TaskSelected = "Remove Blank Lines" ThensrclStrn 'WorkFinished srclStrn'FileSaved = False srclStrn'XMLChanged = True srclStrn'SourceDisplayChanged = TruesrclStrn'XMLDisplayChanged = True srclStrn'End If srclStrn' srclStrn 'EndModify srclStrn' srclStrn' srclStrn' srclStrn' srclStrn' srclStrn' srclStrn'Exit srclStrn' srclStrn' srclStrn' srclStrn)''Dim SourceCodeLine2, XMLLine2 As String srclStrn''MainBufferBackup = MainBuffer srclStrn ''WorkStarted srclStrn&''UpperBoundXML = Ubound ( XMLLInes ) srclStrn'' srclStrn''StartProgressBar2 srclStrn(''For XMLLineNumber = 0 To UpperBoundXMLsrclStrn''ContinueProgressBar2 srclStrn-''If TaskSelected = "Remove Blank Lines" Then srclStrn''ContinueProgressBar2 srclStrn ''End If srclStrn'''XMLLine = XMLLInes ( XMLLineNumber ) srclStrn"''If IsSourceLine ( XMLLine ) Then srclStrn;''SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn&''If Trim ( SourceCodeLine ) = "" Then srclStrn''XMLLInes.Remove XMLLineNumber srclStrn#''XMLLineNumber = XMLLineNumber - 1 srclStrn#''UpperBoundXML = UpperBoundXML - 1 srclStrn ''End If srclStrn ''End If srclStrn''Next XMLLineNumber srclStrn''EndProgressBar2 srclStrn'' srclStrn'' srclStrn''StartProgressBar2 srclStrn2''For XMLLineNumber = 0 To Ubound ( XMLLines ) - 1 srclStrn''ContinueProgressBar2 srclStrn'''XMLLine = XMLLInes ( XMLLineNumber ) srclStrn"''If IsSourceLine ( XMLLine ) Then srclStrn;''SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn/''If Mid ( SourceCodeLine, 1, 4 ) = "Sub " Then srclStrn,''XMLLine2 = XMLLInes ( XMLLineNumber + 1 ) srclStrn=''SourceCodeLine2 = BetweenTags ( XMLLine2, "" ) srclStrn3''If Mid ( SourceCodeLine2, 1, 7 ) = "End Sub" Then srclStrnE''XMLLines.Insert ( XMLLineNumber + 1 ) , "" srclStrn#''XMLLineNumber = XMLLineNumber + 1 srclStrn ''End If srclStrn ''End If srclStrn ''End If srclStrn''Next XMLLineNumber srclStrn''EndProgressBar2 srclStrn'' srclStrn ''EndModify srclStrn'' srclStrn'' srclStrn' srclStrnEnd Sub EndGInt kÃEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kÂMethGruphkÄnameStrnRemoveComments1 CompStrnVsblInt sorcGrupÐkÅEncoInt srclStrnSub RemoveComments1() srclStrnMainBufferBackup = MainBuffer srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn-For XMLLineNumber = 0 To Ubound ( XMLLines ) srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnXIf Left ( Trim ( Comment ) , 3 ) = "///" And Mid ( Trim ( Comment ) , 4, 1 ) <> "/" ThensrclStrnGoTo DoNextXMLLineNumbersrclStrnEnd If srclStrn-If Left ( Trim ( Comment ) , 2 ) <> "//" Then srclStrnGoTo DoNextXMLLineNumbersrclStrnElse srclStrnIf Trim ( Source ) = "" ThensrclStrnXMLLines.Remove XMLLineNumber srclStrn!XMLLineNumber = XMLLineNumber - 1 srclStrnGoTo DoNextXMLLineNumbersrclStrnElse srclStrnSourceCodeLine = Source srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnDoNextXMLLineNumber:srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt kÅEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kÄMethGrupÈkÆnameStrnRemoveComments2 CompStrnVsblInt sorcGrup0kÇEncoInt srclStrnSub RemoveComments2() srclStrnMainBufferBackup = MainBuffer srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn-For XMLLineNumber = 0 To Ubound ( XMLLines ) srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn,If Left ( Trim ( Comment ) , 1 ) <> "'" ThensrclStrnGoTo DoNextXMLLineNumbersrclStrnElse srclStrnIf Trim ( Source ) = "" ThensrclStrnXMLLines.Remove XMLLineNumber srclStrn!XMLLineNumber = XMLLineNumber - 1 srclStrnGoTo DoNextXMLLineNumbersrclStrnElse srclStrnSourceCodeLine = Source srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnDoNextXMLLineNumber:srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt kÇEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kÆMethGrupÌkÈnameStrnRemoveComments3 CompStrnVsblInt sorcGrup4kÉEncoInt srclStrnSub RemoveComments3() srclStrnMainBufferBackup = MainBuffer srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn-For XMLLineNumber = 0 To Ubound ( XMLLines ) srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn/If Left ( Trim ( Comment ) , 4 ) <> "Rem " Then srclStrnGoTo DoNextXMLLineNumbersrclStrnElse srclStrnIf Trim ( Source ) = "" ThensrclStrnXMLLines.Remove XMLLineNumber srclStrn!XMLLineNumber = XMLLineNumber - 1 srclStrnGoTo DoNextXMLLineNumbersrclStrnElse srclStrnSourceCodeLine = Source srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnDoNextXMLLineNumber:srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt kÉEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kÈMethGrupìkÊnameStrnRemoveCommentSymbols1 CompStrnVsblInt sorcGrupLkËEncoInt srclStrnSub RemoveCommentSymbols1() srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn.If LeftB ( Trim ( Comment ) , 2 ) = "//" And _ srclStrn,LeftB ( Trim ( Comment ) , 3 ) <> "///" ThensrclStrnComment = MidB ( Comment, 3 ) srclStrnEnd If srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt kËEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kÊMethGrupdkÌnameStrnRemoveCommentSymbols2 CompStrnVsblInt sorcGrupÄkÍEncoInt srclStrnSub RemoveCommentSymbols2() srclStrnDim TrimComment As String srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimComment = Trim ( Comment ) srclStrn'If LeftB ( TrimComment, 1 ) = "'" And _ srclStrn%LeftB ( TrimComment, 2 ) <> "'/" Then srclStrnComment = MidB ( Comment, 2 ) srclStrnEnd If srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt kÍEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kÌMethGrup´kÎnameStrnRemoveCommentSymbols3 CompStrnVsblInt sorcGrupkÏEncoInt srclStrnSub RemoveCommentSymbols3() srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn/If LeftB ( Trim ( Comment ) , 4 ) = "rem " Then srclStrnComment = MidB ( Comment, 5 ) srclStrnEnd If srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt kÏEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kÎMethGrup$kÐnameStrnRemoveDuplicatesCompStrnVsblInt sorcGrupxkÑEncoInt srclStrn)Sub RemoveDuplicates(MyArray() As String) srclStrnDim I, UpperBound1 As Integer srclStrn MyArray.SortsrclStrn!UpperBound1 = Ubound ( MyArray ) srclStrnFor I = UpperBound1 DownTo 1srclStrn)If MyArray ( I ) = MyArray ( I - 1 ) Then srclStrnMyArray.Remove IsrclStrnEnd If srclStrn Next I srclStrnEnd Sub EndGInt kÑEncoInt AlasStrnflagInt shrdInt parmStrnMyArray() As String rsltStrnEndGInt kÐMethGrup DkÒnameStrnRemoveElseComments CompStrnVsblInt sorcGrup ¨kÓEncoInt srclStrnSub RemoveElseComments()srclStrn Dim I, Pos1, StartPos As IntegersrclStrn Dim SubStrings ( - 1 ) As StringsrclStrn&Dim SubStringStarts ( - 1 ) As Integer srclStrnDim Test As String srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrnReDim SubStrings ( - 1 ) srclStrnReDim SubStringStarts ( - 1 ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnIf Trim ( Comment ) = "" Then srclStrnGoTo DoNextXMLLineNumbersrclStrnEnd If srclStrn-If StartsWith ( Source, "Else" ) <> True Then srclStrnGoTo DoNextXMLLineNumbersrclStrnEnd If srclStrn StartPos = 1srclStrnDo srclStrn*Pos1 = InStrB ( StartPos, Comment, "//" ) srclStrnIf Pos1 = 0 Then Exit srclStrn.If OutsideQuotes ( Comment, Pos1 ) = True Then srclStrnSubStringStarts.Append Pos1 srclStrnEnd If srclStrnStartPos = Pos1 + 2 srclStrnLoopsrclStrn StartPos = 1srclStrnDo srclStrn)Pos1 = InStrB ( StartPos, Comment, "'" ) srclStrnIf Pos1 = 0 Then Exit srclStrn.If OutsideQuotes ( Comment, Pos1 ) = True Then srclStrnSubStringStarts.Append Pos1 srclStrnEnd If srclStrnStartPos = Pos1 + 1 srclStrnLoopsrclStrn StartPos = 1srclStrnDo srclStrn,Pos1 = InStrB ( StartPos, Comment, "Rem " ) srclStrnIf Pos1 = 0 Then Exit srclStrnIf Pos1 = 1 ThensrclStrnSubStringStarts.Append Pos1 srclStrnEnd If srclStrnIf Pos1 <> 1 Then srclStrn%Test = MidB ( Comment, Pos1 - 1, 1 ) srclStrnIf ( Test = " " Or Test = Q ) _ srclStrn/And OutsideQuotes ( Comment, Pos1 ) = True Then srclStrnSubStringStarts.Append Pos1 srclStrnElse srclStrnExitsrclStrnEnd If srclStrnEnd If srclStrnStartPos = Pos1 + 4 srclStrnLoopsrclStrn*SubStringStarts.Append Len ( Comment ) + 1 srclStrnSubStringStarts.SortsrclStrn+For I = 0 To Ubound ( SubStringStarts ) - 1 srclStrnZSubStrings.Append Mid1 ( Comment, SubStringStarts ( I ) , SubStringStarts ( I + 1 ) - 1 ) srclStrn Next I srclStrn#For I = 0 To Ubound ( SubStrings ) srclStrnTest = SubStrings ( I ) srclStrnNIf StartsWith ( Test, "'/ If " ) Or StartsWith ( Test, "'/ (Caution:" ) Then srclStrnSubStrings.Remove I srclStrn I = I - 1 srclStrnEnd If srclStrn Next I srclStrn#For I = 0 To Ubound ( SubStrings ) srclStrn.If RIghtB ( SubStrings ( I ) , 1 ) <> " " Then srclStrn)SubStrings ( I ) = SubStrings ( I ) + " " srclStrnEnd If srclStrn Next I srclStrn Comment = ""srclStrn#For I = 0 To Ubound ( SubStrings ) srclStrn%Comment = Comment + SubStrings ( I ) srclStrn Next I srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextXMLLineNumber:srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt kÓEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kÒMethGrup TkÔnameStrnRemoveEndIfComments CompStrnVsblInt sorcGrup ¸kÕEncoInt srclStrnSub RemoveEndIfComments() srclStrn Dim I, Pos1, StartPos As IntegersrclStrn Dim SubStrings ( - 1 ) As StringsrclStrn&Dim SubStringStarts ( - 1 ) As Integer srclStrnDim Test As String srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrnReDim SubStrings ( - 1 ) srclStrnReDim SubStringStarts ( - 1 ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnIf Trim ( Comment ) = "" Then srclStrnGoTo DoNextXMLLineNumbersrclStrnEnd If srclStrn9If StartsWith ( Trim ( Source ) , "End If" ) <> True Then srclStrnGoTo DoNextXMLLineNumbersrclStrnEnd If srclStrn StartPos = 1srclStrnDo srclStrn*Pos1 = InStrB ( StartPos, Comment, "//" ) srclStrnIf Pos1 = 0 Then Exit srclStrn.If OutsideQuotes ( Comment, Pos1 ) = True Then srclStrnSubStringStarts.Append Pos1 srclStrnEnd If srclStrnStartPos = Pos1 + 2 srclStrnLoopsrclStrn StartPos = 1srclStrnDo srclStrn)Pos1 = InStrB ( StartPos, Comment, "'" ) srclStrnIf Pos1 = 0 Then Exit srclStrn.If OutsideQuotes ( Comment, Pos1 ) = True Then srclStrnSubStringStarts.Append Pos1 srclStrnEnd If srclStrnStartPos = Pos1 + 1 srclStrnLoopsrclStrn StartPos = 1srclStrnDo srclStrn,Pos1 = InStrB ( StartPos, Comment, "Rem " ) srclStrnIf Pos1 = 0 Then Exit srclStrnIf Pos1 = 1 ThensrclStrnSubStringStarts.Append Pos1 srclStrnEnd If srclStrnIf Pos1 <> 1 Then srclStrn%Test = MidB ( Comment, Pos1 - 1, 1 ) srclStrnIf ( Test = " " Or Test = Q ) _ srclStrn/And OutsideQuotes ( Comment, Pos1 ) = True Then srclStrnSubStringStarts.Append Pos1 srclStrnElse srclStrnExitsrclStrnEnd If srclStrnEnd If srclStrnStartPos = Pos1 + 4 srclStrnLoopsrclStrn*SubStringStarts.Append Len ( Comment ) + 1 srclStrnSubStringStarts.SortsrclStrn+For I = 0 To Ubound ( SubStringStarts ) - 1 srclStrnZSubStrings.Append Mid1 ( Comment, SubStringStarts ( I ) , SubStringStarts ( I + 1 ) - 1 ) srclStrn Next I srclStrn#For I = 0 To Ubound ( SubStrings ) srclStrnTest = SubStrings ( I ) srclStrnOIf StartsWith ( Test , "'/ If " ) Or StartsWith ( Test, "'/ (Caution:" ) Then srclStrnSubStrings.Remove I srclStrn I = I - 1 srclStrnEnd If srclStrn Next I srclStrn#For I = 0 To Ubound ( SubStrings ) srclStrn.If RIghtB ( SubStrings ( I ) , 1 ) <> " " Then srclStrn)SubStrings ( I ) = SubStrings ( I ) + " " srclStrnEnd If srclStrn Next I srclStrn Comment = ""srclStrn#For I = 0 To Ubound ( SubStrings ) srclStrn%Comment = Comment + SubStrings ( I ) srclStrn Next I srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextXMLLineNumber:srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt kÕEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kÔMethGrupkÖnameStrnRemoveExtraSpaces CompStrnVsblInt sorcGrupdk×EncoInt srclStrn5Function RemoveExtraSpaces(Line1 As String) As String srclStrnDim Line2 As String srclStrnLine1 = Trim ( Line1 ) srclStrnDo srclStrn)Line2 = ReplaceAllB ( Line1, " ", " " ) srclStrnIf Line2 = Line1 Then Exit srclStrn Line1 = Line2 srclStrnLoopsrclStrn Return Line1srclStrn End FunctionEndGInt k×EncoInt AlasStrnflagInt shrdInt parmStrnLine1 As String rsltStrnString EndGInt kÖMethGrupPkØnameStrnRemoveFirstWordOverlapFromFirst CompStrnVsblInt sorcGrupxkÙEncoInt srclStrn^Function RemoveFirstWordOverlapFromFirst(String1() As String, String2() As String) As String() srclStrnDim I, J As Integer srclStrn String1.SortsrclStrn String2.SortsrclStrn For J = 0 To Ubound ( String2 ) srclStrn For I = 0 To Ubound ( String1 ) srclStrnSIf FirstWord ( Trim ( String1 ( I ) ) ) = FirstWord ( Trim ( String2 ( J ) ) ) Then srclStrnString1.Remove IsrclStrn I = I - 1 srclStrnGoTo CheckNextProperty4 srclStrnEnd If srclStrn Next I srclStrnCheckNextProperty4: srclStrn Next J srclStrnReturn String1 ( ) srclStrn End FunctionEndGInt kÙEncoInt AlasStrnflagInt shrdInt parmStrn(String1() As String, String2() As StringrsltStrnString()EndGInt kØMethGrup8kÚnameStrnRemoveHighlighting CompStrnVsblInt sorcGrupœkÛEncoInt srclStrnSub RemoveHighlighting()srclStrnDim SelCol, SelRow As Integer srclStrnDim Throwaway As String srclStrn SelRow = 1 srclStrn SelCol = 0 srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn0If InStrB ( XMLLine, "" ) <> 0 ThensrclStrn5Throwaway = BetweenTags ( XMLLine, "" ) srclStrn7XMLLInes ( XMLLineNumber ) = TagBefore + "1" + TagAfter srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn0If InStrB ( XMLLine, "" ) <> 0 ThensrclStrn5Throwaway = BetweenTags ( XMLLine, "" ) srclStrn7XMLLInes ( XMLLineNumber ) = TagBefore + "0" + TagAfter srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn.If InStrB ( XMLLine, "" ) <> 0 Then srclStrn3Throwaway = BetweenTags ( XMLLine, "" ) srclStrn7XMLLInes ( XMLLineNumber ) = TagBefore + "1" + TagAfter srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn.If InStrB ( XMLLine, "" ) <> 0 Then srclStrn3Throwaway = BetweenTags ( XMLLine, "" ) srclStrn7XMLLInes ( XMLLineNumber ) = TagBefore + "0" + TagAfter srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnEnd Sub EndGInt kÛEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kÚMethGrupÜkÜnameStrnRemoveIncreasedIndentation CompStrnVsblInt sorcGrup8kÝEncoInt srclStrn Sub RemoveIncreasedIndentation()srclStrnIndentFactor = 0srclStrnDim WhiteSpace As StringsrclStrnWhiteSpace = Rpt ( " ", 64 ) srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnIf Trim ( Source ) <> "" Then srclStrnSource = LTrim ( Source ) srclStrnEnd If srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrnXMLEditField.Text = MainBuffer srclStrn WorkFinishedsrclStrnRestoreDetailBooleans srclStrnFinishWithSourcesrclStrnEnd Sub EndGInt kÝEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kÜMethGruptkÞnameStrnRemoveItemFromArray CompStrnVsblInt sorcGrup°kßEncoInt srclStrn?Sub RemoveItemFromArray(MyArray() As String, String1 As String) srclStrnDim I, UpperBound1 As Integer srclStrnString1 = Trim ( String1 ) srclStrn MyArray.SortsrclStrn!UpperBound1 = Ubound ( MyArray ) srclStrnFor I = UpperBound1 DownTo 0srclStrn(If Trim ( MyArray ( I ) ) = String1 ThensrclStrnMyArray.Remove IsrclStrnEnd If srclStrn Next I srclStrnEnd Sub EndGInt kßEncoInt AlasStrnflagInt shrdInt parmStrn&MyArray() As String, String1 As String rsltStrnEndGInt kÞMethGrup kànameStrnRemoveNextComments CompStrnVsblInt sorcGrup pkáEncoInt srclStrnSub RemoveNextComments()srclStrn Dim I, Pos1, StartPos As IntegersrclStrn Dim SubStrings ( - 1 ) As StringsrclStrn&Dim SubStringStarts ( - 1 ) As Integer srclStrnDim Test As String srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrnReDim SubStrings ( - 1 ) srclStrnReDim SubStringStarts ( - 1 ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnIf Trim ( Comment ) = "" Then srclStrnGoTo DoNextXMLLineNumbersrclStrnEnd If srclStrn7If StartsWith ( Trim ( Source ) , "Next" ) <> True Then srclStrnGoTo DoNextXMLLineNumbersrclStrnEnd If srclStrn StartPos = 1srclStrnDo srclStrn*Pos1 = InStrB ( StartPos, Comment, "//" ) srclStrnIf Pos1 = 0 Then Exit srclStrn.If OutsideQuotes ( Comment, Pos1 ) = True Then srclStrnSubStringStarts.Append Pos1 srclStrnEnd If srclStrnStartPos = Pos1 + 2 srclStrnLoopsrclStrn StartPos = 1srclStrnDo srclStrn)Pos1 = InStrB ( StartPos, Comment, "'" ) srclStrnIf Pos1 = 0 Then Exit srclStrn.If OutsideQuotes ( Comment, Pos1 ) = True Then srclStrnSubStringStarts.Append Pos1 srclStrnEnd If srclStrnStartPos = Pos1 + 1 srclStrnLoopsrclStrn StartPos = 1srclStrnDo srclStrn,Pos1 = InStrB ( StartPos, Comment, "Rem " ) srclStrnIf Pos1 = 0 Then Exit srclStrnIf Pos1 = 1 ThensrclStrnSubStringStarts.Append Pos1 srclStrnEnd If srclStrnIf Pos1 <> 1 Then srclStrn%Test = MidB ( Comment, Pos1 - 1, 1 ) srclStrnIf ( Test = " " Or Test = Q ) _ srclStrn/And OutsideQuotes ( Comment, Pos1 ) = True Then srclStrnSubStringStarts.Append Pos1 srclStrnElse srclStrnExitsrclStrnEnd If srclStrnEnd If srclStrnStartPos = Pos1 + 4 srclStrnLoopsrclStrn*SubStringStarts.Append Len ( Comment ) + 1 srclStrnSubStringStarts.SortsrclStrn+For I = 0 To Ubound ( SubStringStarts ) - 1 srclStrnZSubStrings.Append Mid1 ( Comment, SubStringStarts ( I ) , SubStringStarts ( I + 1 ) - 1 ) srclStrn Next I srclStrn#For I = 0 To Ubound ( SubStrings ) srclStrn3If LeftB ( SubStrings ( I ) , 8 ) = "'/ For " Then srclStrnSubStrings.Remove I srclStrn I = I - 1 srclStrnEnd If srclStrn Next I srclStrn#For I = 0 To Ubound ( SubStrings ) srclStrn.If RIghtB ( SubStrings ( I ) , 1 ) <> " " Then srclStrn)SubStrings ( I ) = SubStrings ( I ) + " " srclStrnEnd If srclStrn Next I srclStrn Comment = ""srclStrn#For I = 0 To Ubound ( SubStrings ) srclStrn%Comment = Comment + SubStrings ( I ) srclStrn Next I srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextXMLLineNumber:srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt káEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kàMethGrupPkânameStrnRemoveOverlapFromFirst CompStrnVsblInt sorcGrup€kãEncoInt srclStrnUFunction RemoveOverlapFromFirst(String1() As String, String2() As String) As String() srclStrn,/// Dim UpperBound1, UpperBound2 As IntegersrclStrnDim I, J As Integer srclStrn String1.SortsrclStrn String2.SortsrclStrn//MsgBox "String1" srclStrn//For I = 0 To 5srclStrn"//MsgBox "*" + String1 ( I ) + "*" srclStrn//Next IsrclStrn//MsgBox "String2" srclStrn//For I = 0 To 5srclStrn"//MsgBox "*" + String2 ( I ) + "*" srclStrn//Next IsrclStrn For J = 0 To Ubound ( String2 ) srclStrn For I = 0 To Ubound ( String1 ) srclStrn*//MsgBox "*" + String1 ( I ) + "*" + EOL _ srclStrn//+ "*" + String2 ( J ) + "*" srclStrn7If Trim ( String1 ( I ) ) = Trim ( String2 ( J ) ) Then srclStrn+///MsgBox "*" + String1 ( I ) + "*" + EOL _ srclStrn///+ "*" + String2 ( J ) + "*" srclStrnString1.Remove IsrclStrn ///UpperBound1 = UpperBound1 - 1srclStrn I = I - 1 srclStrnGoTo CheckNextProperty4 srclStrnEnd If srclStrn Next I srclStrnCheckNextProperty4: srclStrn Next J srclStrnReturn String1 ( ) srclStrn End FunctionEndGInt kãEncoInt AlasStrnflagInt shrdInt parmStrn(String1() As String, String2() As StringrsltStrnString()EndGInt kâMethGrup`känameStrnRemoveParenthesesBack CompStrnVsblInt sorcGrup¤kåEncoInt srclStrn?Function RemoveParenthesesBack(String1() As String) As String() srclStrnDim I, Pos1 As Integer srclStrn For I = 0 To Ubound ( String1 ) srclStrn%Pos1 = InStr ( String1 ( I ) , "(" ) srclStrnIf Pos1 <> 0 Then srclStrn2String1 ( I ) = Left ( String1 ( I ) , Pos1 - 1 ) srclStrnEnd If srclStrn Next I srclStrnReturn String1 ( ) srclStrn End FunctionEndGInt kåEncoInt AlasStrnflagInt shrdInt parmStrnString1() As String rsltStrnString()EndGInt käMethGrup$kænameStrnRemoveProcedureFooters CompStrnVsblInt sorcGrup„kçEncoInt srclStrnSub RemoveProcedureFooters()srclStrn WorkStarted srclStrn srclStrnStartProgressBar2 srclStrn-For XMLLineNumber = 0 To Ubound ( XMLLInes ) srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn+If Right ( Trim ( Comment ) , 3 ) = " '" _ srclStrnOr Trim ( Comment ) = "'" Then srclStrnTrimSource = Trim ( Source ) srclStrn0If TrimSource = "" Or TrimSource = "Exception" _srclStrnIOr StartsWith ( TrimSource, "MsgBox " + Q + "An error occurred in" ) Then srclStrnXMLLInes.Remove XMLLineNumber srclStrn!XMLLineNumber = XMLLineNumber - 1 srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrnXMLEditField.Text = MainBuffer srclStrn WorkFinishedsrclStrnRestoreDetailBooleans srclStrnFinishWithSourcesrclStrnEnd Sub EndGInt kçEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kæMethGrup kènameStrnRemoveProcedureHeaders CompStrnVsblInt sorcGruplkéEncoInt srclStrnSub RemoveProcedureHeaders()srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn-For XMLLineNumber = 0 To Ubound ( XMLLInes ) srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn3If LeftB ( Trim ( SourceCodeLine ) , 4 ) = "'/ " _ srclStrn&Or Trim ( SourceCodeLine ) = "'/" Then srclStrnXMLLInes.Remove XMLLineNumber srclStrn!XMLLineNumber = XMLLineNumber - 1 srclStrnEnd If srclStrnEnd If srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrnXMLEditField.Text = MainBuffer srclStrn WorkFinishedsrclStrnRestoreDetailBooleans srclStrnFinishWithSourcesrclStrnEnd Sub EndGInt kéEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kèMethGrupLkênameStrnRemoveSourceLineBreakpoints CompStrnVsblInt sorcGrup¨këEncoInt srclStrn!Sub RemoveSourceLineBreakpoints() srclStrnDim SelCol, SelRow As Integer srclStrn SelRow = 1 srclStrn SelCol = 0 srclStrnRestoreDetailBooleans srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrnBIf StartsWith ( Trim ( XMLLine ) , "" ) Then srclStrnXMLLines.Remove XMLLineNumber srclStrn!XMLLineNumber = XMLLineNumber - 1 srclStrn!UpperBoundXML = UpperBoundXML - 1 srclStrnEnd If srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt këEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kêMethGrup ìkìnameStrnRemoveUnnecessarySpaces CompStrnVsblInt sorcGrup LkíEncoInt srclStrnSub RemoveUnnecessarySpaces() srclStrn"Dim Piece1, Piece2, Temp As String srclStrnDim I, UpperBound2 As Integer srclStrn WorkStarted srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnMainBuffer = "" srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTemp = LTrim ( Source ) srclStrn5FrontSpacesToPutBack = Len ( Source ) - Len ( Temp ) srclStrn Source = Temp srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPiece1 = Piece srclStrnDo srclStrn-Piece2 = ReplaceAllB ( Piece1, " ", " " ) srclStrnIf Piece1 = Piece2 Then ExitsrclStrnPiece1 = Piece2 srclStrnLoopsrclStrnDo srclStrn+Piece2 = ReplaceAllB ( Piece1, " ", " " ) srclStrnIf Piece1 = Piece2 Then ExitsrclStrnPiece1 = Piece2 srclStrnLoopsrclStrnPiece = Piece1 srclStrn)Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn/Piece = ReplaceAllB ( Piece, "< ", "<" ) srclStrn/Piece = ReplaceAllB ( Piece, "> ", ">" ) srclStrn/Piece = ReplaceAllB ( Piece, " <", "<" ) srclStrn/Piece = ReplaceAllB ( Piece, " >", ">" ) srclStrn)Piece = ReplaceAllB ( Piece, "= ", "=" ) srclStrn)Piece = ReplaceAllB ( Piece, " =", "=" ) srclStrn)Piece = ReplaceAllB ( Piece, "+ ", "+" ) srclStrn)Piece = ReplaceAllB ( Piece, " +", "+" ) srclStrn)Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn)Piece = ReplaceAllB ( Piece, "- ", "-" ) srclStrn)Piece = ReplaceAllB ( Piece, " -", "-" ) srclStrn)Piece = ReplaceAllB ( Piece, "* ", "*" ) srclStrn)Piece = ReplaceAllB ( Piece, " *", "*" ) srclStrn)Piece = ReplaceAllB ( Piece, "/ ", "/" ) srclStrn)Piece = ReplaceAllB ( Piece, " /", "/" ) srclStrn)Piece = ReplaceAllB ( Piece, "^ ", "^" ) srclStrn)Piece = ReplaceAllB ( Piece, " ^", "^" ) srclStrn)Piece = ReplaceAllB ( Piece, "( ", "(" ) srclStrn)Piece = ReplaceAllB ( Piece, " (", "(" ) srclStrn)Piece = ReplaceAllB ( Piece, ") ", ")" ) srclStrn)Piece = ReplaceAllB ( Piece, " )", ")" ) srclStrn)Piece = ReplaceAllB ( Piece, ", ", "," ) srclStrn7Piece = ReplaceAllB ( Piece, "<> ", "<>" ) srclStrn7Piece = ReplaceAllB ( Piece, " <>", "<>" ) srclStrn1Piece = ReplaceAllB ( Piece, "<= ", "<=" ) srclStrn1Piece = ReplaceAllB ( Piece, " <=", "<=" ) srclStrn1Piece = ReplaceAllB ( Piece, ">= ", ">=" ) srclStrn1Piece = ReplaceAllB ( Piece, " >=", ">=" ) srclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn3Source = Rpt ( " ", FrontSpacesToPutBack ) + Source srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt kíEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kìMethGrup kînameStrnRemoveXMLLineNumbersFromSource CompStrnVsblInt sorcGrupxkïEncoInt srclStrn$Sub RemoveXMLLineNumbersFromSource()srclStrn$If XMLLineNumbersWanted = False ThensrclStrnMsgBox "Already done!" srclStrnExit SubsrclStrnEnd If srclStrnDim I, Pos1 As Integer srclStrn)Dim SourceLines ( - 1 ) , Temp1 As String srclStrnFSourceDisplayBuffer = ReplaceLineEndings ( SourceDisplayBuffer, EOL ) srclStrn1SourceLines = Split ( SourceDisplayBuffer, EOL ) srclStrn$For I = 0 To Ubound ( SourceLines ) srclStrn)Pos1 = InStr ( SourceLines ( I ) , " " ) srclStrn*Temp1 = Left ( SourceLines ( I ) , Pos1 ) srclStrn$If IsNumeric ( Trim ( Temp1 ) ) ThensrclStrn9SourceLines ( I ) = Mid ( SourceLines ( I ) , Pos1 + 1 ) srclStrnEnd If srclStrn Next I srclStrn0SourceDisplayBuffer = Join ( SourceLines, EOL ) srclStrn*SourceEditField.Text = SourceDisplayBuffer srclStrnEnd Sub EndGInt kïEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kîMethGrupèkðnameStrn$RemoveXMLLineNumbersFromSourceAndXMLCompStrnVsblInt sorcGrup<kñEncoInt srclStrn*Sub RemoveXMLLineNumbersFromSourceAndXML() srclStrnRemoveXMLLineNumbersFromSource srclStrnRemoveXMLLineNumbersFromXML srclStrnWantXMLLineNumbers = False srclStrn,MsgBox "XML Line NUmbers have been Removed."srclStrnTabPanel1.Value = SourcePanel srclStrnEnd Sub EndGInt kñEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kðMethGrupøkònameStrnRemoveXMLLineNumbersFromXML CompStrnVsblInt sorcGrupTkóEncoInt srclStrn!Sub RemoveXMLLineNumbersFromXML() srclStrnDim I, Pos1 As Integer srclStrn!For I = 0 To Ubound ( XMLLines ) srclStrn&Pos1 = InStr ( XMLLines ( I ) , " " ) srclStrnIf Pos1 = 0 ThensrclStrnXMLLines ( I ) = "" srclStrnExitsrclStrnElse srclStrn/XMLLines ( I ) = Mid ( XMLLines ( I ) , Pos1 ) srclStrnEnd If srclStrn Next I srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLines, EOL ) srclStrnXMLEditField.Text = MainBuffer srclStrnXMLLineNumbersWanted = FalsesrclStrnEnd Sub EndGInt kóEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kòMethGrupÈkônameStrnReplaceStringThroughout CompStrnVsblInt sorcGrupkõEncoInt srclStrn?Sub ReplaceStringThroughout(OldStr As String, NewStr As String) srclStrnDim I As IntegersrclStrn'Dim Left1, Middle1, NonSource As String srclStrnDim OldWordOK As BooleansrclStrnDim OldXMLLine As StringsrclStrnDim Pos1 As Integer srclStrnDim Pos1Changed As Boolean srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrn/Dim ReplacementPattern1, Right1, Temp As String srclStrnDim TrimTagBefore As String srclStrnDim UpperBound2 As Integer srclStrn% // KindOfList = "Names" srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrn WorkStarted srclStrnOldName = Trim ( OldStr ) srclStrnNewName = Trim ( NewStr ) srclStrnGetAllSourceWords srclStrnOldWordOK = False srclStrn"For I = 0 To Ubound ( AllWords2 ) srclStrn!If AllWords2 ( I ) = OldName Then srclStrnOldWordOK = TruesrclStrnEnd If srclStrn Next I srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrnOldXMLLine = XMLLinesrclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnPos1Changed = False srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrnIf Temp = OldName Then srclStrnReplacementPattern1 = NewName srclStrnLeft1 = LeftB ( Piece, Pos1 ) srclStrnMiddle1 = ReplacementPattern1 srclStrn1Right1 = MidB ( Piece, Pos1 + Len ( Temp ) + 1 ) srclStrn Piece = Left1 + Middle1 + Right1srclStrn.Pos1 = Pos1 + ( Len ( ReplacementPattern1 ) ) srclStrnPos1Changed = True srclStrnEnd If srclStrnIf Pos1Changed = False Then srclStrnPos1 = Pos1 + ( Len ( Temp ) ) srclStrnEnd If srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnElse srclStrnNonSource = BetweenAnyTags srclStrn GetPiecesOfString ( NonSource ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrnPos1 = 0srclStrnDo srclStrn,Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnPos1Changed = False srclStrnIf Regexmatch1 = Nil Then Exit srclStrn-Pos1 = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrnIf Temp = OldName Then srclStrnReplacementPattern1 = NewName srclStrnLeft1 = LeftB ( Piece, Pos1 ) srclStrnMiddle1 = ReplacementPattern1 srclStrn1Right1 = MidB ( Piece, Pos1 + Len ( Temp ) + 1 ) srclStrn Piece = Left1 + Middle1 + Right1srclStrn.Pos1 = Pos1 + ( Len ( ReplacementPattern1 ) ) srclStrnPos1Changed = True srclStrnEnd If srclStrnIf Pos1Changed = False Then srclStrnPos1 = Pos1 + ( Len ( Temp ) ) srclStrnEnd If srclStrnLoopsrclStrnPieces ( I ) = PiecesrclStrn Next I srclStrn"NonSource = MyJoin ( Pieces, "" ) srclStrn.If Trim ( TagBefore ) = Trim ( TagAfter ) Then srclStrn TagAfter = "" srclStrnEnd If srclStrn#TrimTagBefore = Trim ( TagBefore ) srclStrn:If TrimTagBefore <> "" And TrimTagBefore <> "" _ srclStrn%And TrimTagBefore <> "" _ srclStrn%And TrimTagBefore <> "" Then srclStrn*XMLLine = TagBefore + NonSource + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn$MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnEnd Sub EndGInt kõEncoInt AlasStrnflagInt shrdInt parmStrn"OldStr As String, NewStr As String rsltStrnEndGInt kôMethGrupkönameStrn ResetCounters CompStrnVsblInt sorcGrup„k÷EncoInt srclStrnSub ResetCounters() srclStrnControlNumber = - 1 srclStrnBlockNumber = - 1 srclStrnEnd Sub EndGInt k÷EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt köMethGrupdkønameStrnRestoreDetailBooleans CompStrnVsblInt sorcGrupÄkùEncoInt srclStrnSub RestoreDetailBooleans() srclStrn'LocationDetails = LocationDetailsHolder srclStrn5AlphabeticalByLocation = AlphabeticalByLocationHolder srclStrnEnd Sub EndGInt kùEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt køMethGrup¬kúnameStrnSaveDetailBooleans CompStrnVsblInt sorcGrupkûEncoInt srclStrnSub SaveDetailBooleans()srclStrn'LocationDetailsHolder = LocationDetails srclStrn5AlphabeticalByLocationHolder = AlphabeticalByLocation srclStrnLocationDetails = False srclStrnAlphabeticalByLocation = False srclStrnEnd Sub EndGInt kûEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kúMethGrupxkünameStrn SaveResults CompStrnVsblInt sorcGrupäkýEncoInt srclStrnSub SaveResults() srclStrn#Dim FileStreamA As TextOutputStream srclStrnDim FileToSave As FolderItemsrclStrnDim I As IntegersrclStrnDim ListBuffer As StringsrclStrnDim UpperBound As Integer srclStrn'ListBuffer = ResultsTopLabel.Text + EOL srclStrn)UpperBound = ResultsListBox.ListCount - 1 srclStrnFor I = 0 To UpperBound srclStrn9ListBuffer = ListBuffer + ResultsListBox.List ( I ) + EOL srclStrn Next I srclStrn3FileToSave = GetSaveFolderItem ( "Text File", "" ) srclStrnIf FileToSave <> Nil Then srclStrnFListBuffer = ReplaceLineEndings ( ListBuffer, OriginalFileEndOfLine ) srclStrn)If Len ( OriginalFileEndOfLine ) = 2 Then srclStrn5 /// MsgBox "Saving As A Windows file." srclStrn/ElseIf AscB ( OriginalFileEndOfLine ) = 13 Then srclStrn1 /// MsgBox "Saving As A Mac file." srclStrn/ElseIf AscB ( OriginalFileEndOfLine ) = 10 Then srclStrn3 /// MsgBox "Saving As A Linux file." srclStrnEnd If srclStrn'FileStreamA = FileToSave.CreateTextFile srclStrnFileStreamA.Write ListBuffersrclStrnFileStreamA.Close srclStrnListBuffer = "" srclStrnEnd If srclStrnEnd Sub EndGInt kýEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt küMethGrup ÌkþnameStrn SaveSource CompStrnVsblInt sorcGrup 8kÿEncoInt srclStrnSub SaveSource()srclStrnDim WhatToSave As StringsrclStrnDim XMLType As New FileType srclStrnXMLType.Name = "XML files" srclStrnXMLType.Extensions = ".xml" srclStrn%///Dim FileStreamA as TextInputStream srclStrn#Dim FileStreamB As TextOutputStream srclStrnDim File1 As FolderItem srclStrn///Dim MainBuffer As String srclStrn///Dim XMLLines() As String srclStrn// Decide WhatToSave srclStrn"If XMLEditField.SelText <> "" Then srclStrn!WhatToSave = XMLEditField.SelText srclStrnElsesrclStrnWhatToSave = MainBuffer srclStrnEnd srclStrn// Write WhatToSave to disk: srclStrn/File1 = GetSaveFolderItem(XMLType, NameOfFile ) srclStrnIf File1 <> Nil ThensrclStrn.FileStreamB = TextOutputStream.Create ( File1) srclStrnFileStreamB.Write WhatToSavesrclStrnFileStreamB.Close srclStrnNameOfFile = File1.Name srclStrnEnd srclStrnFInishWithSourcesrclStrnFileSaved = TruesrclStrnExitsrclStrn//Dim EditFieldBuffer As String srclStrn%//Dim FileStreamA As TextOutputStream srclStrn//Dim FileToSave As FolderItem srclStrn//Dim Pos0 As Integer srclStrn //Dim SourceNameOfFIle As StringsrclStrn&//Pos0 = RevInStr ( NameOfFile, "." ) srclStrn//If Pos0 <> 0 Then srclStrn6//SourceNameOfFIle = Left ( NameOfFile, Pos0 ) + "txt" srclStrn//Else srclStrn//SourceNameOfFIle = NameOfFile srclStrn //End If srclStrnD//FileToSave = GetSaveFolderItem ( "Text File" , SourceNameOfFIle ) srclStrn//If FileToSave <> Nil Then srclStrn(//EditFieldBuffer = SourceEditField.TextsrclStrnR//EditFieldBuffer = ReplaceLineEndings ( EditFieldBuffer, OriginalFileEndOfLine ) srclStrn+//If Len ( OriginalFileEndOfLine ) = 2 Then srclStrn7// /// MsgBox "Saving as a Windows file." srclStrn1//ElseIf AscB ( OriginalFileEndOfLine ) = 13 Then srclStrn3// /// MsgBox "Saving as a Mac file." srclStrn1//ElseIf AscB ( OriginalFileEndOfLine ) = 10 Then srclStrn5// /// MsgBox "Saving as a Linux file." srclStrn //End If srclStrn)//FileStreamA = FileToSave.CreateTextFile srclStrn#//FileStreamA.Write EditFieldBuffer srclStrn//FileStreamA.Close srclStrn//EditFieldBuffer = "" srclStrn //End If srclStrnEnd Sub EndGInt kÿEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt kþMethGrup @lnameStrnSaveXML CompStrnVsblInt sorcGrup °lEncoInt srclStrn Sub SaveXML() srclStrn/// Dim WhatToSave As String srclStrnDim XMLType As New FileType srclStrnXMLType.Name = "XML files" srclStrnXMLType.Extensions = ".xml" srclStrn%///Dim FileStreamA as TextInputStream srclStrn#Dim FileStreamB As TextOutputStream srclStrnDim File1 As FolderItem srclStrn///Dim MainBuffer As String srclStrn///Dim XMLLines() As String srclStrn/// Write the file:srclStrn/File1 = GetSaveFolderItem(XMLType, NameOfFile ) srclStrnIf File1 <> Nil ThensrclStrn.FileStreamB = TextOutputStream.Create ( File1) srclStrnFileStreamB.Write MainBuffer srclStrnFileStreamB.Close srclStrnEnd if srclStrnFileSaved = TruesrclStrnExitsrclStrn///XMLChanged = TruesrclStrn///SourceDisplayChanged = True srclStrn///XMLDisplayChanged = True srclStrn///DisplaySourceCodesrclStrn ///TabPanel1.Value = SourcePanelsrclStrnExitsrclStrn$'Dim FileStreamA As TextOutputStreamsrclStrn'Dim FileToAccess As FolderItem srclStrn&'If Left ( MainBuffer, 2 ) = "0 " Then srclStrn'RemoveXMLLineNumbersFromXMLsrclStrn'End If srclStrn"'If EditingXMLRightNow = True Then srclStrn"'MainBuffer = SourceEditField.Text srclStrn'#If TargetWin32srclStrn1'MainBuffer = ReplaceAllB ( MainBuffer, CR, EOL ) srclStrn'#EndIf srclStrn'EditingXMLRightNow = False srclStrn'End If srclStrn='FileToAccess = GetSaveFolderItem ( "XML File" , NameOfFile ) srclStrn'mnuSaveXML.Visible = True srclStrn'If FileToAccess <> Nil ThensrclStrn'NameOfFile = FileToAccess.Name srclStrnF'MainBuffer = ReplaceLineEndings ( MainBuffer, OriginalFileEndOfLine ) srclStrn*'If Len ( OriginalFileEndOfLine ) = 2 Then srclStrn6' /// MsgBox "Saving as a Windows file." srclStrn0'ElseIf AscB ( OriginalFileEndOfLine ) = 13 ThensrclStrn2' /// MsgBox "Saving as a Mac file." srclStrn0'ElseIf AscB ( OriginalFileEndOfLine ) = 10 ThensrclStrn4' /// MsgBox "Saving as a Linux file."srclStrn'End If srclStrn$'MainBuffer = Join (XMLLines, EOL )srclStrn*'FileStreamA = FileToAccess.CreateTextFile srclStrn'FileStreamA.Write MainBuffer srclStrn'FileStreamA.Close srclStrn4'MainBuffer = ReplaceLineEndings ( MainBuffer, EOL )srclStrn'End If srclStrn 'WorkFinished srclStrn'FileSaved = True srclStrn'XMLChanged = False srclStrnEnd Sub EndGInt lEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lMethGrup hlnameStrn SearchSourceCompStrnVsblInt sorcGrup ÔlEncoInt srclStrnSub SearchSource() srclStrnSourceEditField.SetFocussrclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrn!Dim SearchString1, Temp As String srclStrn4SearchString1 = Trim ( SourceSearchEditField.Text ) srclStrn:If SourceEditField.SelStart <> LastSearchPosition - 2 Then srclStrn1LastSearchPosition = SourceEditField.SelStart + 1 srclStrnEnd If srclStrn#If SourceCheckBox.Value = True Then srclStrn$Regex1.SearchPattern = SearchString1srclStrnRegex1.Options.Greedy = False srclStrn;Regex1.SearchPattern = "(? Nil Then srclStrn;LastSearchPosition = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn-SourceEditField.SelStart = LastSearchPosition srclStrn2SourceEditField.SelLength = Len ( SearchString1 ) srclStrnbSourceEditField.ScrollPosition = SourceEditField.LineNumAtCharPos ( SourceEditField.SelStart ) - 3 srclStrn+LastSearchPosition = LastSearchPosition + 2 srclStrnElse srclStrnLastSearchPosition = 0 srclStrnMRegexmatch1 = Regex1.Search ( SourceEditField.Text, LastSearchPosition - 1 ) srclStrnIf Regexmatch1 <> Nil Then srclStrn5MsgBox "Starting again at the beginning of the file." srclStrn;LastSearchPosition = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn-SourceEditField.SelStart = LastSearchPosition srclStrn2SourceEditField.SelLength = Len ( SearchString1 ) srclStrnbSourceEditField.ScrollPosition = SourceEditField.LineNumAtCharPos ( SourceEditField.SelStart ) - 3 srclStrn+LastSearchPosition = LastSearchPosition + 2 srclStrnElse srclStrnIMsgBox "The whole word " + Q + SearchString1 + Q + " could not be found." srclStrnEnd If srclStrnEnd If srclStrnSourceTopGoButton.SetFocus srclStrnElse srclStrnHLastSearchPosition = InStr ( LastSearchPosition, SourceEditField.Text, _srclStrnSearchString1 ) srclStrnIf LastSearchPosition <> 0 Then srclStrn1SourceEditField.SelStart = LastSearchPosition - 1 srclStrn2SourceEditField.SelLength = Len ( SearchString1 ) srclStrnbSourceEditField.ScrollPosition = SourceEditField.LineNumAtCharPos ( SourceEditField.SelStart ) - 3 srclStrn+LastSearchPosition = LastSearchPosition + 1 srclStrnElse srclStrnWLastSearchPosition = InStr ( LastSearchPosition, SourceEditField.Text, SearchString1 ) srclStrnIf LastSearchPosition <> 0 Then srclStrn5MsgBox "Starting again at the beginning of the file." srclStrn1SourceEditField.SelStart = LastSearchPosition - 1 srclStrn2SourceEditField.SelLength = Len ( SearchString1 ) srclStrnbSourceEditField.ScrollPosition = SourceEditField.LineNumAtCharPos ( SourceEditField.SelStart ) - 3 srclStrn+LastSearchPosition = LastSearchPosition + 1 srclStrnElse srclStrnCMsgBox "The Text " + Q + SearchString1 + Q + " could not be found." srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnSourceEditField.SetFocussrclStrnEnd Sub EndGInt lEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lMethGrupðlnameStrn SearchXML CompStrnVsblInt sorcGrup\lEncoInt srclStrnSub SearchXML() srclStrnXMLEditField.SetFocus srclStrnDim Pos1, Pos2 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrn!Dim SearchString1, Temp As String srclStrn1SearchString1 = Trim ( XMLSearchEditField.Text ) srclStrn7If XMLEditField.SelStart <> LastSearchPosition - 2 Then srclStrn.LastSearchPosition = XMLEditField.SelStart + 1 srclStrnEnd If srclStrn If XMLCheckBox.Value = True ThensrclStrn$Regex1.SearchPattern = SearchString1srclStrnRegex1.Options.Greedy = False srclStrn;Regex1.SearchPattern = "(? Nil Then srclStrn;LastSearchPosition = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn*XMLEditField.SelStart = LastSearchPosition srclStrn/XMLEditField.SelLength = Len ( SearchString1 ) srclStrnYXMLEditField.ScrollPosition = XMLEditField.LineNumAtCharPos ( XMLEditField.SelStart ) - 3 srclStrn+LastSearchPosition = LastSearchPosition + 2 srclStrnElse srclStrnLastSearchPosition = 0 srclStrnJRegexmatch1 = Regex1.Search ( XMLEditField.Text, LastSearchPosition - 1 ) srclStrnIf Regexmatch1 <> Nil Then srclStrn5MsgBox "Starting again at the beginning of the file." srclStrn;LastSearchPosition = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn-Temp = Regexmatch1.SubexpressionString ( 0 ) srclStrn*XMLEditField.SelStart = LastSearchPosition srclStrn/XMLEditField.SelLength = Len ( SearchString1 ) srclStrnYXMLEditField.ScrollPosition = XMLEditField.LineNumAtCharPos ( XMLEditField.SelStart ) - 3 srclStrn+LastSearchPosition = LastSearchPosition + 2 srclStrnElse srclStrnIMsgBox "The whole word " + Q + SearchString1 + Q + " could not be found." srclStrnEnd If srclStrnEnd If srclStrnXMLTopGoButton.SetFocus srclStrnElse srclStrnELastSearchPosition = InStr ( LastSearchPosition, XMLEditField.Text, _ srclStrnSearchString1 ) srclStrnIf LastSearchPosition <> 0 Then srclStrn.XMLEditField.SelStart = LastSearchPosition - 1 srclStrn/XMLEditField.SelLength = Len ( SearchString1 ) srclStrnYXMLEditField.ScrollPosition = XMLEditField.LineNumAtCharPos ( XMLEditField.SelStart ) - 3 srclStrn+LastSearchPosition = LastSearchPosition + 1 srclStrnElse srclStrnTLastSearchPosition = InStr ( LastSearchPosition, XMLEditField.Text, SearchString1 ) srclStrnIf LastSearchPosition <> 0 Then srclStrn5MsgBox "Starting again at the beginning of the file." srclStrn.XMLEditField.SelStart = LastSearchPosition - 1 srclStrn/XMLEditField.SelLength = Len ( SearchString1 ) srclStrnYXMLEditField.ScrollPosition = XMLEditField.LineNumAtCharPos ( XMLEditField.SelStart ) - 3 srclStrn+LastSearchPosition = LastSearchPosition + 1 srclStrnElse srclStrnCMsgBox "The Text " + Q + SearchString1 + Q + " could not be found." srclStrnEnd If srclStrnEnd If srclStrnXMLTopGoButton.SetFocus srclStrnEnd If srclStrnXMLEditField.SetFocus srclStrnIf GetNextControl Then srclStrn&//MsgBox Str ( XMLEditField.SelStart ) srclStrn2XMLEditField.SelStart = XMLEditField.SelStart + 27 srclStrnPos1 = XMLEditField.SelStartsrclStrn1Pos2 = InStr ( Pos1 + 1, XMLEditField.Text, "<" ) srclStrn(XMLEditField.SelLength = Pos2 - Pos1 - 1srclStrn//XMLEditField.SelLength = 0srclStrnLastSearchPosition = Pos1 + 1 srclStrnEnd If srclStrnEnd Sub EndGInt lEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lMethGrup6DlnameStrnSeparateLogicalUnitsCompStrnVsblInt sorcGrup5¨lEncoInt srclStrnSub SeparateLogicalUnits() srclStrnDim EndingLineNumber As Integer srclStrn!Dim StartingLineNumber As Integer srclStrnDim WholeLine As String srclStrnMainBufferBackup = MainBuffer srclStrn WorkStarted srclStrnRemoveBlankLinessrclStrnStartProgressBar2 srclStrn,For XMLLineNumber = 0 To Ubound ( XMLLines )srclStrnContinueProgressBar2srclStrn$XMLLine = XMLLInes ( XMLLineNumber )srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn"StartingLineNumber = XMLLineNumber srclStrn4If RIghtB ( Trim ( SourceCodeLine ) , 1 ) = "_" ThensrclStrn@GetWholeLine ( StartingLineNumber, EndingLineNumber, WholeLine )srclStrnElsesrclStrnWholeLine = SourceCodeLine srclStrn%EndingLineNumber = StartingLineNumber srclStrnEnd If srclStrn XMLLineNumber = EndingLineNumbersrclStrn2GetSourceAndComment ( WholeLine, Source, Comment ) srclStrn&Source = Lowercase ( Trim ( Source ) ) srclStrn-If StartsWith ( Source, "End Function" ) Then srclStrn,InsertBlankLineBefore ( StartingLineNumber )srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn(If StartsWith ( Source, "End Sub" ) ThensrclStrn,InsertBlankLineBefore ( StartingLineNumber )srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrnIf Source = "End Sub" Then srclStrn)InsertBlankLineAfter ( EndingLineNumber ) srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrnIf Source = "End Function" Then srclStrn)InsertBlankLineAfter ( EndingLineNumber ) srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn)If StartsWith ( Source, "Function" ) Then srclStrn)InsertBlankLineAfter ( EndingLineNumber ) srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn$If StartsWith ( Source, "Sub" ) ThensrclStrn)InsertBlankLineAfter ( EndingLineNumber ) srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn#If StartsWith ( Source, "Do" ) Then srclStrn,InsertBlankLineBefore ( StartingLineNumber )srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn%If StartsWith ( Source, "Loop" ) Then srclStrn)InsertBlankLineAfter ( EndingLineNumber ) srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn$If StartsWith ( Source, "For" ) ThensrclStrn,InsertBlankLineBefore ( StartingLineNumber )srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnEnd If srclStrn%If StartsWith ( Source, "Next" ) Then srclStrn)InsertBlankLineAfter ( EndingLineNumber ) srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn%If LeftB ( Source, 5 ) = "Case " Then srclStrn,InsertBlankLineBefore ( StartingLineNumber )srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrnFIf LeftB ( Source, 3 ) = "If " And RIghtB ( Source, 5 ) = " Then" Then srclStrn,InsertBlankLineBefore ( StartingLineNumber )srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn$If LeftB ( Source, 4 ) = "#If " ThensrclStrn,InsertBlankLineBefore ( StartingLineNumber )srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn'If StartsWith ( Source, "End If" ) Then srclStrn)InsertBlankLineAfter ( EndingLineNumber ) srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn'If StartsWith ( Source, "#EndIf" ) Then srclStrn)InsertBlankLineAfter ( EndingLineNumber ) srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn&If StartsWith ( Source, "while" ) Then srclStrn,InsertBlankLineBefore ( StartingLineNumber )srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn%If StartsWith ( Source, "wend" ) Then srclStrn)InsertBlankLineAfter ( EndingLineNumber ) srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn,If StartsWith ( Source, "Select Case" ) ThensrclStrn*InsertBlankLineBefore ( EndingLineNumber ) srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn+If StartsWith ( Source, "End Select" ) Then srclStrn*InsertBlankLineBefore ( EndingLineNumber ) srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrn'EndingLineNumber = EndingLineNumber + 1 srclStrnEnd If srclStrn)InsertBlankLineAfter ( EndingLineNumber ) srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn*If StartsWith ( Source, "Exception" ) Then srclStrn*InsertBlankLineBefore ( EndingLineNumber ) srclStrnIf BlankLineAdded Then srclStrn!XMLLineNumber = XMLLineNumber + 1 srclStrnEnd If srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn%MainBuffer = MyJoin ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrn EndModify srclStrnExitsrclStrn 'Dim EndingLineNumber As IntegersrclStrn"'Dim StartingLineNumber As Integer srclStrn'Dim WholeLine As StringsrclStrn 'WorkStartedsrclStrn'RemoveBlankLines srclStrn'StartProgressBar2 srclStrn.'For XMLLineNumber = 0 To Ubound ( XMLLines ) srclStrn'ContinueProgressBar2 srclStrn&'XMLLine = XMLLInes ( XMLLineNumber ) srclStrn!'If IsSourceLine ( XMLLine ) Then srclStrn:'SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn#'StartingLineNumber = XMLLineNumber srclStrn5'If RIghtB ( Trim ( SourceCodeLine ) , 1 ) = "_" Then srclStrnB'GetWholeLine ( StartingLineNumber, EndingLineNumber, WholeLine ) srclStrn'Else srclStrn'WholeLine = SourceCodeLine srclStrn&'EndingLineNumber = StartingLineNumber srclStrn'End If srclStrn!'XMLLineNumber = EndingLineNumber srclStrn4'GetSourceAndComment ( WholeLine, Source, Comment ) srclStrn('Source = Lowercase ( Trim ( Source ) ) srclStrn.'If StartsWith ( Source, "End Function" ) Then srclStrn.'InsertBlankLineBefore ( StartingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn)'If StartsWith ( Source, "End Sub" ) Then srclStrn.'InsertBlankLineBefore ( StartingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn'If Source = "End Sub" Then srclStrn+'InsertBlankLineAfter ( EndingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn 'If Source = "End Function" ThensrclStrn+'InsertBlankLineAfter ( EndingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn*'If StartsWith ( Source, "Function" ) Then srclStrn+'InsertBlankLineAfter ( EndingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn%'If StartsWith ( Source, "Sub" ) Then srclStrn+'InsertBlankLineAfter ( EndingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn$'If StartsWith ( Source, "Do" ) ThensrclStrn.'InsertBlankLineBefore ( StartingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn&'If StartsWith ( Source, "Loop" ) Then srclStrn+'InsertBlankLineAfter ( EndingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn%'If StartsWith ( Source, "For" ) Then srclStrn.'InsertBlankLineBefore ( StartingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'End If srclStrn&'If StartsWith ( Source, "Next" ) Then srclStrn+'InsertBlankLineAfter ( EndingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn&'If LeftB ( Source, 5 ) = "Case " Then srclStrn.'InsertBlankLineBefore ( StartingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrnG'If LeftB ( Source, 3 ) = "If " And RIghtB ( Source, 5 ) = " Then" Then srclStrn.'InsertBlankLineBefore ( StartingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn%'If LeftB ( Source, 4 ) = "#If " Then srclStrn.'InsertBlankLineBefore ( StartingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn('If StartsWith ( Source, "End If" ) ThensrclStrn+'InsertBlankLineAfter ( EndingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn('If StartsWith ( Source, "#EndIf" ) ThensrclStrn+'InsertBlankLineAfter ( EndingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn''If StartsWith ( Source, "while" ) Then srclStrn.'InsertBlankLineBefore ( StartingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn&'If StartsWith ( Source, "wend" ) Then srclStrn+'InsertBlankLineAfter ( EndingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn-'If StartsWith ( Source, "Select Case" ) Then srclStrn,'InsertBlankLineBefore ( EndingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn,'If StartsWith ( Source, "End Select" ) ThensrclStrn,'InsertBlankLineBefore ( EndingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn('EndingLineNumber = EndingLineNumber + 1srclStrn'End If srclStrn+'InsertBlankLineAfter ( EndingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn+'If StartsWith ( Source, "Exception" ) Then srclStrn,'InsertBlankLineBefore ( EndingLineNumber ) srclStrn'If BlankLineAdded Then srclStrn"'XMLLineNumber = XMLLineNumber + 1 srclStrn'End If srclStrn'GoTo DoNextLineNumber srclStrn'End If srclStrn'End If srclStrn'DoNextLineNumber: srclStrn'Next XMLLineNumber srclStrn'EndProgressBar2srclStrn' srclStrn 'EndModify srclStrn' srclStrnEnd Sub EndGInt lEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lMethGrupllnameStrn SetForDetails CompStrnVsblInt sorcGrupÔl EncoInt srclStrnSub SetForDetails() srclStrnSaveDetailBooleans srclStrnLocationDetails = True srclStrnAlphabeticalByLocation = False srclStrnSetting = "Details" srclStrnEnd Sub EndGInt l EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lMethGrupll nameStrnSetForLocation CompStrnVsblInt sorcGrupÔl EncoInt srclStrnSub SetForLocation()srclStrnSaveDetailBooleans srclStrnLocationDetails = True srclStrnAlphabeticalByLocation = True srclStrnSetting = "Location"srclStrnEnd Sub EndGInt l EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l MethGruphl nameStrn SetForSimpleCompStrnVsblInt sorcGrupÔl EncoInt srclStrnSub SetForSimple() srclStrnSaveDetailBooleans srclStrnLocationDetails = False srclStrnAlphabeticalByLocation = False srclStrnSetting = "Simple" srclStrnEnd Sub EndGInt l EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l MethGrup œlnameStrnSpaceInsideParentheses CompStrnVsblInt sorcGrupülEncoInt srclStrnSub SpaceInsideParentheses()srclStrnDim I As IntegersrclStrnDim Regex1 As New RegEx srclStrnDim Temp As String srclStrnDim UpperBound2 As Integer srclStrn:///If TaskSelected <> "Add Extra Spaces Of All Types" Then srclStrn ///MainBufferBackup = MainBuffersrclStrn ///End If srclStrnRegex1.Options.Greedy = False srclStrn'Regex1.Options.ReplaceAllMatches = True srclStrn WorkStarted srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnMainBuffer = "" srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTemp = LTrim ( Source ) srclStrn5FrontSpacesToPutBack = Len ( Source ) - Len ( Temp ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrn+Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn*Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn)Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn)Piece = ReplaceAllB ( Piece, "( ", "(" ) srclStrn)Piece = ReplaceAllB ( Piece, " )", ")" ) srclStrn)Piece = ReplaceAllB ( Piece, " (", "(" ) srclStrn)Piece = ReplaceAllB ( Piece, ") ", ")" ) srclStrn /// ( Space srclStrn Regex1.SearchPattern = "\((?! )"srclStrn Regex1.ReplacementPattern = "( "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// Space ) srclStrn Regex1.SearchPattern = "(?! )\)"srclStrn Regex1.ReplacementPattern = " )"srclStrn"Piece = Regex1. Replace ( Piece ) srclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnCSource = Rpt ( " ", FrontSpacesToPutBack ) + MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt lEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lMethGrup\lnameStrnSpaceMathOperators CompStrnVsblInt sorcGrupÀlEncoInt srclStrnSub SpaceMathOperators()srclStrnDim I As IntegersrclStrnDim Regex1 As New RegEx srclStrnDim Temp As String srclStrnDim UpperBound2 As Integer srclStrn:///If TaskSelected <> "Add Extra Spaces Of All Types" Then srclStrn ///MainBufferBackup = MainBuffersrclStrn ///End If srclStrnRegex1.Options.Greedy = False srclStrn'Regex1.Options.ReplaceAllMatches = True srclStrn WorkStarted srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnMainBuffer = "" srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrn9If XMLLineNumber/ 100 = Floor ( XMLLineNumber/ 100 ) Then srclStrn)MainMenuProgressBar.Value = XMLLineNumber srclStrnMainMenuProgressBar.Refresh srclStrnEnd If srclStrn%XMLLine = XMLLInes ( XMLLineNumber ) srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTemp = LTrim ( Source ) srclStrn5FrontSpacesToPutBack = Len ( Source ) - Len ( Temp ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrn+Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn)Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn/Piece = ReplaceAllB ( Piece, "< ", "<" ) srclStrn/Piece = ReplaceAllB ( Piece, "> ", ">" ) srclStrn/Piece = ReplaceAllB ( Piece, " <", "<" ) srclStrn/Piece = ReplaceAllB ( Piece, " >", ">" ) srclStrn)Piece = ReplaceAllB ( Piece, "= ", "=" ) srclStrn)Piece = ReplaceAllB ( Piece, " =", "=" ) srclStrn)Piece = ReplaceAllB ( Piece, "+ ", "+" ) srclStrn)Piece = ReplaceAllB ( Piece, " +", "+" ) srclStrn)Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn)Piece = ReplaceAllB ( Piece, "- ", "-" ) srclStrn)Piece = ReplaceAllB ( Piece, " -", "-" ) srclStrn)Piece = ReplaceAllB ( Piece, "* ", "*" ) srclStrn)Piece = ReplaceAllB ( Piece, " *", "*" ) srclStrn)Piece = ReplaceAllB ( Piece, "/ ", "/" ) srclStrn)Piece = ReplaceAllB ( Piece, " /", "/" ) srclStrn)Piece = ReplaceAllB ( Piece, "^ ", "^" ) srclStrn)Piece = ReplaceAllB ( Piece, " ^", "^" ) srclStrn7Piece = ReplaceAllB ( Piece, "<> ", "<>" ) srclStrn7Piece = ReplaceAllB ( Piece, " <>", "<>" ) srclStrn1Piece = ReplaceAllB ( Piece, "<= ", "<=" ) srclStrn1Piece = ReplaceAllB ( Piece, " <=", "<=" ) srclStrn1Piece = ReplaceAllB ( Piece, ">= ", ">=" ) srclStrn1Piece = ReplaceAllB ( Piece, " >=", ">=" ) srclStrn' /// Space + srclStrn Regex1.SearchPattern = "(?! )\+"srclStrn Regex1.ReplacementPattern = " +"srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn' /// + Space srclStrn Regex1.SearchPattern = "\+(?! )"srclStrn Regex1.ReplacementPattern = "+ "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn' /// Space - srclStrn Regex1.SearchPattern = "(?! )\-"srclStrn Regex1.ReplacementPattern = " -"srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn' /// - Space srclStrn Regex1.SearchPattern = "\-(?! )"srclStrn Regex1.ReplacementPattern = "- "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn' /// Space * srclStrn Regex1.SearchPattern = "(?! )\*"srclStrn Regex1.ReplacementPattern = " *"srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn' /// * Space srclStrn Regex1.SearchPattern = "\*(?! )"srclStrn Regex1.ReplacementPattern = "* "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn ' /// Space / srclStrn Regex1.SearchPattern = "(?! )\*"srclStrn Regex1.ReplacementPattern = " *"srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn' /// / Space srclStrnRegex1.SearchPattern = "/(?! )" srclStrn Regex1.ReplacementPattern = "/ "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn' /// Space ^ srclStrn Regex1.SearchPattern = "(?! )\^"srclStrn Regex1.ReplacementPattern = " ^"srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn' /// ^ Space srclStrn Regex1.SearchPattern = "\^(?! )"srclStrn Regex1.ReplacementPattern = "^ "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn' /// Space = srclStrnRegex1.SearchPattern = "(?! )=" srclStrn Regex1.ReplacementPattern = " ="srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn' /// = Space srclStrnRegex1.SearchPattern = "=(?! )" srclStrn Regex1.ReplacementPattern = "= "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn' /// Space < srclStrn"Regex1.SearchPattern = "(?! )<" srclStrn#Regex1.ReplacementPattern = " <" srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn' /// < Space srclStrn"Regex1.SearchPattern = "<(?! )" srclStrn#Regex1.ReplacementPattern = "< " srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn' /// Space > srclStrn"Regex1.SearchPattern = "(?! )>" srclStrn#Regex1.ReplacementPattern = " >" srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn ' /// > Space srclStrn"Regex1.SearchPattern = ">(?! )" srclStrn#Regex1.ReplacementPattern = "> " srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn8Piece = ReplaceAllB ( Piece, "< >", "<>" ) srclStrn7Piece = ReplaceAllB ( Piece, "< >", "<>" ) srclStrn2Piece = ReplaceAllB ( Piece, "< =", "<=" ) srclStrn1Piece = ReplaceAllB ( Piece, "< =", "<=" ) srclStrn2Piece = ReplaceAllB ( Piece, "> =", ">=" ) srclStrn1Piece = ReplaceAllB ( Piece, "> =", ">=" ) srclStrn+Piece = ReplaceAllB ( Piece, "" )srclStrn7GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTemp = LTrim ( Source ) srclStrn4FrontSpacesToPutBack = Len ( Source ) - Len ( Temp )srclStrn Source = Temp srclStrnGetPiecesOfString ( Source )srclStrnUpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I )srclStrnPiece1 = Piece srclStrnDo srclStrn,Piece2 = ReplaceAllB ( Piece1, " ", " " )srclStrnIf Piece1 = Piece2 Then ExitsrclStrnPiece1 = Piece2 srclStrnLoopsrclStrnDo srclStrn*Piece2 = ReplaceAllB ( Piece1, " ", " " ) srclStrnIf Piece1 = Piece2 Then ExitsrclStrnPiece1 = Piece2 srclStrnLoopsrclStrnPiece = Piece1 srclStrn(Piece = ReplaceAllB ( Piece, " ", " " )srclStrn.Piece = ReplaceAllB ( Piece, "< ", "<" ) srclStrn.Piece = ReplaceAllB ( Piece, "> ", ">" ) srclStrn.Piece = ReplaceAllB ( Piece, " <", "<" ) srclStrn.Piece = ReplaceAllB ( Piece, " >", ">" ) srclStrn(Piece = ReplaceAllB ( Piece, "= ", "=" )srclStrn(Piece = ReplaceAllB ( Piece, " =", "=" )srclStrn(Piece = ReplaceAllB ( Piece, "+ ", "+" )srclStrn(Piece = ReplaceAllB ( Piece, " +", "+" )srclStrn(Piece = ReplaceAllB ( Piece, " ", " " )srclStrn(Piece = ReplaceAllB ( Piece, "- ", "-" )srclStrn(Piece = ReplaceAllB ( Piece, " -", "-" )srclStrn(Piece = ReplaceAllB ( Piece, "* ", "*" )srclStrn(Piece = ReplaceAllB ( Piece, " *", "*" )srclStrn(Piece = ReplaceAllB ( Piece, "/ ", "/" )srclStrn(Piece = ReplaceAllB ( Piece, " /", "/" )srclStrn(Piece = ReplaceAllB ( Piece, "^ ", "^" )srclStrn(Piece = ReplaceAllB ( Piece, " ^", "^" )srclStrn(Piece = ReplaceAllB ( Piece, "( ", "(" )srclStrn(Piece = ReplaceAllB ( Piece, " (", "(" )srclStrn(Piece = ReplaceAllB ( Piece, ") ", ")" )srclStrn(Piece = ReplaceAllB ( Piece, " )", ")" )srclStrn(Piece = ReplaceAllB ( Piece, ", ", "," )srclStrn6Piece = ReplaceAllB ( Piece, "<> ", "<>" ) srclStrn6Piece = ReplaceAllB ( Piece, " <>", "<>" ) srclStrn0Piece = ReplaceAllB ( Piece, "<= ", "<=" )srclStrn0Piece = ReplaceAllB ( Piece, " <=", "<=" )srclStrn0Piece = ReplaceAllB ( Piece, ">= ", ">=" )srclStrn0Piece = ReplaceAllB ( Piece, " >=", ">=" )srclStrnPieces ( I ) = PiecesrclStrnNext I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn3Source = Rpt ( " ", FrontSpacesToPutBack ) + Source srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrnXMLEditField.Text = MainBuffer srclStrnMainMenuTopLabel.Visible = True srclStrnMainMenuTopLabel.TextAlign = 0 srclStrnMainMenuTopLabel.Bold = False srclStrn,MainMenuTopLabel.TextColor = RGB ( 0, 0, 0 )srclStrn3MainMenuTopLabel.Text = "Select a Task to Perform:" srclStrnMainMenuTopLabel.RefreshsrclStrn0App.MouseCursor = System.Cursors.StandardPointersrclStrnSourceProgressBar.Value = 0 srclStrnRestoreDetailBooleans srclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnDim TempTask As String srclStrnTempTask = TaskSelected srclStrnDim d As New Date srclStrn$Dim TrimComment, WholeLine As StringsrclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then srclStrnExit SubsrclStrnEnd If srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnJBookmarksListBox.Visible = False /// mn (hide ugly bookmarks construction) srclStrn'If BookmarksListBox.Visible = True Then srclStrnPSourceEditField.Left = HorizontalMargin + 155 ////// mn (make room for bookmarkssrclStrnMSourceEditField.Width = TabPanel1.Width - ( ( 2 * HorizontalMargin ) + 155 ) srclStrnElsesrclStrn'SourceEditField.Left = HorizontalMargin srclStrnCSourceEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnEnd If srclStrnPrepareSourcePanel srclStrn.SourceProgressBar.Left = 2 * HorizontalMargin srclStrnESourceProgressBar.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnBetweenMethods = 0 srclStrnSaveDetailBooleans srclStrnLocationDetails = True srclStrnAlphabeticalByLocation = True srclStrn ZapFileMenu srclStrn2If MainBuffer = "" Then mnuSaveXML.Visible = False srclStrn(MainMenuBottomPushButton.Default = FalsesrclStrn SourceTopGoButton.Default = TruesrclStrnSourceSearchEditField.SetFocus srclStrn$If SourceDisplayChanged = False ThensrclStrnEditFieldDisplay = "Source" srclStrnExitsrclStrnEnd If srclStrnMainMenuTopLabel.TextAlign = 1 srclStrnMainMenuTopLabel.Bold = TruesrclStrn.MainMenuTopLabel.TextColor = RGB ( 255, 0, 0 ) srclStrnMainMenuTopLabel.Width = 540srclStrn%MainMenuTopLabel.Text = "WORKING...." srclStrnMainMenuTopLabel.RefreshsrclStrn%App.MouseCursor = System.Cursors.Wait srclStrnSourceProgressBar.Value = 0 srclStrn GetControls srclStrnTextHolder = "Search For:" srclStrnStartOfIndent = "" srclStrn4SourceDisplayBuffer = "Extracting Source Code...." _srclStrn.+ EditFieldEndOfLine + "One moment please...." srclStrn*SourceEditField.Text = SourceDisplayBuffer srclStrnSourceEditField.Refresh srclStrnMakeDisplaySource = TruesrclStrnDoIndentsrclStrnFSourceDisplayBuffer = ReplaceAllB ( SourceDisplayBuffer, "<", "<" ) srclStrnFSourceDisplayBuffer = ReplaceAllB ( SourceDisplayBuffer, ">", ">" ) srclStrnASourceDisplayBuffer = ReplaceLineEndings ( SourceDisplayBuffer, _ srclStrnEditFieldEndOfLine )srclStrnNumberOfBlankLines = 0 srclStrnNumberOfMixedLines = 0 srclStrnNumberOfCommentLines = 0srclStrnNumberOfSourceLines = 0 srclStrn ResetCounters srclStrnMethodSource = FalsesrclStrn,For XMLLineNumber = 0 To Ubound ( XMLLInes )srclStrn$XMLLine = XMLLInes ( XMLLineNumber )srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn8GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine )srclStrnSourceCodeLine = WholeLine srclStrnEnd If srclStrn7GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimComment = Trim ( Comment ) srclStrnTrimSource = Trim ( Source )srclStrnGIf Left ( Source, 4 ) = "Sub " Or Left ( Source, 9 ) = "Function " Then srclStrnMethodSource = True srclStrnEnd If srclStrnIf MethodSource = True Then srclStrn.If TrimComment <> "" And TrimSource <> "" Then srclStrn+NumberOfMixedLines = NumberOfMixedLines + 1 srclStrn1ElseIf TrimComment <> "" And TrimSource = "" Then srclStrn/NumberOfCommentLines = NumberOfCommentLines + 1 srclStrn1ElseIf TrimComment = "" And TrimSource <> "" Then srclStrn-NumberOfSourceLines = NumberOfSourceLines + 1 srclStrn0ElseIf TrimComment = "" And TrimSource = "" ThensrclStrn+NumberOfBlankLines = NumberOfBlankLines + 1 srclStrnEnd If srclStrnEnd If srclStrnGetCurrentInfoS srclStrnNIf Left ( Source, 7 ) = "End Sub" Or Left ( Source, 12 ) = "End Function" Then srclStrnMethodSource = FalsesrclStrnEnd If srclStrnElsesrclStrnGetCurrentInfoX srclStrnEnd If srclStrnNext XMLLineNumber srclStrn2SourceDisplayBuffer = "// NumberOfMethods: " + _ srclStrn8Str ( BetweenMethods ) + EOL + EOL + SourceDisplayBuffersrclStrn1SourceDisplayBuffer = "// Number of Subs: " + _ srclStrn0Str ( NumberOfSubs ) + EOL + SourceDisplayBuffersrclStrn6SourceDisplayBuffer = "// Number of Functions: " + _ srclStrn5Str ( NumberOfFunctions ) + EOL + SourceDisplayBuffer srclStrn=SourceDisplayBuffer = "// Program: " + NameOfFile + EOL + _ srclStrn\"// Date and Time: " + d.LongDate + " at " + d.ShortTime + EOL + EOL + SourceDisplayBuffersrclStrn*SourceEditField.Text = SourceDisplayBuffer srclStrnSourceEditField.Refresh srclStrnSourceDisplayChanged = FalsesrclStrnEditFieldDisplay = "Source" srclStrnTextHolder = "Search for:" srclStrnJSourceBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnMainMenuTopLabel.Visible = True srclStrnMainMenuTopLabel.TextAlign = 0 srclStrnMainMenuTopLabel.Bold = False srclStrn,MainMenuTopLabel.TextColor = RGB ( 0, 0, 0 )srclStrn3MainMenuTopLabel.Text = "Select a Task to Perform:" srclStrnMainMenuTopLabel.RefreshsrclStrn0App.MouseCursor = System.Cursors.StandardPointersrclStrnSourceProgressBar.Value = 0 srclStrnSourceSearchEditField.SetFocus srclStrnSourceDisplayChanged = FalsesrclStrnRestoreDetailBooleans srclStrnBookmarksListBox.Visible = True srclStrn'If BookmarksListBox.Visible = True Then srclStrnPSourceEditField.Left = HorizontalMargin + 155 ////// mn (make room for bookmarkssrclStrnMSourceEditField.Width = TabPanel1.Width - ( ( 2 * HorizontalMargin ) + 155 ) srclStrnElsesrclStrn'SourceEditField.Left = HorizontalMargin srclStrnCSourceEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnEnd If srclStrnTaskSelected = TempTask srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnStartProgressBar2 srclStrn LeftCount = 0 srclStrnRightCount = 0 srclStrnInsideQuotes = FalsesrclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnNewSource = "" srclStrnSource = RTrim ( Source ) srclStrnFor I = 1 To Len ( Source ) srclStrnChar1 = Mid ( Source, I, 1 ) srclStrnIf Char1 = "(" Then srclStrnLeftCount = LeftCount + 1 srclStrnEnd If srclStrnIf Char1 = ")" Then srclStrnRightCount = RightCount + 1 srclStrnEnd If srclStrnIf Char1 = Q Then srclStrnInsideQuotes = Not InsideQuotes srclStrnEnd If srclStrnIf InsideQuotes = False ThensrclStrn2If Char1 = "(" And LeftCount - RightCount = 1 Then srclStrnNewSource = NewSource + " ("srclStrn6ElseIf Char1 = ")" And LeftCount - RightCount = 0 Then srclStrnNewSource = NewSource + ") "srclStrnElse srclStrnNewSource = NewSource + Char1 srclStrnEnd If srclStrnElse srclStrnNewSource = NewSource + Char1 srclStrnEnd If srclStrn Next I srclStrn2NewSource = ReplaceAll ( NewSource, "()", "( )" ) srclStrnIf Source <> NewSource Then srclStrn NewSource = RTrim ( NewSource ) srclStrnEnd If srclStrn,If Right ( Trim ( Source ) , 1 ) <> "_" ThensrclStrn LeftCount = 0 srclStrnRightCount = 0 srclStrnInsideQuotes = FalsesrclStrnEnd If srclStrn$SourceCodeLine = NewSource + CommentsrclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrnXMLEditField.Text = MainBuffer srclStrnMainMenuTopLabel.Visible = True srclStrnMainMenuTopLabel.TextAlign = 0 srclStrnMainMenuTopLabel.Bold = False srclStrn,MainMenuTopLabel.TextColor = RGB ( 0, 0, 0 )srclStrn3MainMenuTopLabel.Text = "Select a Task to Perform:" srclStrnMainMenuTopLabel.RefreshsrclStrn0App.MouseCursor = System.Cursors.StandardPointersrclStrnSourceProgressBar.Value = 0 srclStrnRestoreDetailBooleans srclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnTempTask = TaskSelected srclStrnCheckForXMLFile srclStrnIf MainBuffer = "" Then srclStrnExit SubsrclStrnEnd If srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnJBookmarksListBox.Visible = False /// mn (hide ugly bookmarks construction) srclStrn'If BookmarksListBox.Visible = True Then srclStrnPSourceEditField.Left = HorizontalMargin + 155 ////// mn (make room for bookmarkssrclStrnMSourceEditField.Width = TabPanel1.Width - ( ( 2 * HorizontalMargin ) + 155 ) srclStrnElsesrclStrn'SourceEditField.Left = HorizontalMargin srclStrnCSourceEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnEnd If srclStrnPrepareSourcePanel srclStrn.SourceProgressBar.Left = 2 * HorizontalMargin srclStrnESourceProgressBar.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnBetweenMethods = 0 srclStrnSaveDetailBooleans srclStrnLocationDetails = True srclStrnAlphabeticalByLocation = True srclStrn ZapFileMenu srclStrn2If MainBuffer = "" Then mnuSaveXML.Visible = False srclStrn(MainMenuBottomPushButton.Default = FalsesrclStrn SourceTopGoButton.Default = TruesrclStrnSourceSearchEditField.SetFocus srclStrn$If SourceDisplayChanged = False ThensrclStrnEditFieldDisplay = "Source" srclStrnExitsrclStrnEnd If srclStrnMainMenuTopLabel.TextAlign = 1 srclStrnMainMenuTopLabel.Bold = TruesrclStrn.MainMenuTopLabel.TextColor = RGB ( 255, 0, 0 ) srclStrnMainMenuTopLabel.Width = 540srclStrn%MainMenuTopLabel.Text = "WORKING...." srclStrnMainMenuTopLabel.RefreshsrclStrn%App.MouseCursor = System.Cursors.Wait srclStrnSourceProgressBar.Value = 0 srclStrn GetControls srclStrnTextHolder = "Search For:" srclStrnStartOfIndent = "" srclStrn4SourceDisplayBuffer = "Extracting Source Code...." _srclStrn.+ EditFieldEndOfLine + "One moment please...." srclStrn*SourceEditField.Text = SourceDisplayBuffer srclStrnSourceEditField.Refresh srclStrnMakeDisplaySource = TruesrclStrnDoIndentsrclStrnFSourceDisplayBuffer = ReplaceAllB ( SourceDisplayBuffer, "<", "<" ) srclStrnFSourceDisplayBuffer = ReplaceAllB ( SourceDisplayBuffer, ">", ">" ) srclStrnASourceDisplayBuffer = ReplaceLineEndings ( SourceDisplayBuffer, _ srclStrnEditFieldEndOfLine )srclStrnNumberOfBlankLines = 0 srclStrnNumberOfMixedLines = 0 srclStrnNumberOfCommentLines = 0srclStrnNumberOfSourceLines = 0 srclStrn ResetCounters srclStrnMethodSource = FalsesrclStrn,For XMLLineNumber = 0 To Ubound ( XMLLInes )srclStrn$XMLLine = XMLLInes ( XMLLineNumber )srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn8GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine )srclStrnSourceCodeLine = WholeLine srclStrnEnd If srclStrn7GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTrimComment = Trim ( Comment ) srclStrnTrimSource = Trim ( Source )srclStrnGIf Left ( Source, 4 ) = "Sub " Or Left ( Source, 9 ) = "Function " Then srclStrnMethodSource = True srclStrnEnd If srclStrnIf MethodSource = True Then srclStrn.If TrimComment <> "" And TrimSource <> "" Then srclStrn+NumberOfMixedLines = NumberOfMixedLines + 1 srclStrn1ElseIf TrimComment <> "" And TrimSource = "" Then srclStrn/NumberOfCommentLines = NumberOfCommentLines + 1 srclStrn1ElseIf TrimComment = "" And TrimSource <> "" Then srclStrn-NumberOfSourceLines = NumberOfSourceLines + 1 srclStrn0ElseIf TrimComment = "" And TrimSource = "" ThensrclStrn+NumberOfBlankLines = NumberOfBlankLines + 1 srclStrnEnd If srclStrnEnd If srclStrnGetCurrentInfoS srclStrnNIf Left ( Source, 7 ) = "End Sub" Or Left ( Source, 12 ) = "End Function" Then srclStrnMethodSource = FalsesrclStrnEnd If srclStrnElsesrclStrnGetCurrentInfoX srclStrnEnd If srclStrnNext XMLLineNumber srclStrn2SourceDisplayBuffer = "// NumberOfMethods: " + _ srclStrn8Str ( BetweenMethods ) + EOL + EOL + SourceDisplayBuffersrclStrn1SourceDisplayBuffer = "// Number of Subs: " + _ srclStrn0Str ( NumberOfSubs ) + EOL + SourceDisplayBuffersrclStrn6SourceDisplayBuffer = "// Number of Functions: " + _ srclStrn5Str ( NumberOfFunctions ) + EOL + SourceDisplayBuffer srclStrn=SourceDisplayBuffer = "// Program: " + NameOfFile + EOL + _ srclStrn\"// Date and Time: " + d.LongDate + " at " + d.ShortTime + EOL + EOL + SourceDisplayBuffersrclStrn*SourceEditField.Text = SourceDisplayBuffer srclStrnSourceEditField.Refresh srclStrnSourceDisplayChanged = FalsesrclStrnEditFieldDisplay = "Source" srclStrnTextHolder = "Search for:" srclStrnJSourceBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrnMainMenuTopLabel.Visible = True srclStrnMainMenuTopLabel.TextAlign = 0 srclStrnMainMenuTopLabel.Bold = False srclStrn,MainMenuTopLabel.TextColor = RGB ( 0, 0, 0 )srclStrn3MainMenuTopLabel.Text = "Select a Task to Perform:" srclStrnMainMenuTopLabel.RefreshsrclStrn0App.MouseCursor = System.Cursors.StandardPointersrclStrnSourceProgressBar.Value = 0 srclStrnSourceSearchEditField.SetFocus srclStrnSourceDisplayChanged = FalsesrclStrnRestoreDetailBooleans srclStrnBookmarksListBox.Visible = True srclStrn'If BookmarksListBox.Visible = True Then srclStrnPSourceEditField.Left = HorizontalMargin + 155 ////// mn (make room for bookmarkssrclStrnMSourceEditField.Width = TabPanel1.Width - ( ( 2 * HorizontalMargin ) + 155 ) srclStrnElsesrclStrn'SourceEditField.Left = HorizontalMargin srclStrnCSourceEditField.Width = TabPanel1.Width - ( 2 * HorizontalMargin ) srclStrnEnd If srclStrnTaskSelected = TempTask srclStrnTabPanel1.Value = SourcePanel srclStrnEnd Sub EndGInt lEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lMethGrup ØlnameStrnSpaceOutsideParentheses CompStrnVsblInt sorcGrup 8lEncoInt srclStrnSub SpaceOutsideParentheses() srclStrnDim I As IntegersrclStrnDim Regex1 As New RegEx srclStrnDim Temp As String srclStrnDim UpperBound2 As Integer srclStrn:///If TaskSelected <> "Add Extra Spaces Of All Types" Then srclStrn ///MainBufferBackup = MainBuffersrclStrn ///End If srclStrnRegex1.Options.Greedy = False srclStrn'Regex1.Options.ReplaceAllMatches = True srclStrn WorkStarted srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnMainBuffer = "" srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTemp = LTrim ( Source ) srclStrn5FrontSpacesToPutBack = Len ( Source ) - Len ( Temp ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrn)Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn+Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn*Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn)Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn)Piece = ReplaceAllB ( Piece, " (", "(" ) srclStrn)Piece = ReplaceAllB ( Piece, ") ", ")" ) srclStrn)Piece = ReplaceAllB ( Piece, "( ", "(" ) srclStrn)Piece = ReplaceAllB ( Piece, " )", ")" ) srclStrn /// Space ( srclStrn Regex1.SearchPattern = "(?! )\("srclStrn Regex1.ReplacementPattern = " ("srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// ) Space srclStrn Regex1.SearchPattern = "\)(?! )"srclStrn Regex1.ReplacementPattern = ") "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnCSource = Rpt ( " ", FrontSpacesToPutBack ) + MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt lEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lMethGrup ðlnameStrnSpaceParenthesesCompStrnVsblInt sorcGrup XlEncoInt srclStrnSub SpaceParentheses() srclStrnDim I As IntegersrclStrnDim Regex1 As New RegEx srclStrnDim Temp As String srclStrnDim UpperBound2 As Integer srclStrn:///If TaskSelected <> "Add Extra Spaces Of All Types" Then srclStrn ///MainBufferBackup = MainBuffersrclStrn ///End If srclStrnRegex1.Options.Greedy = False srclStrn'Regex1.Options.ReplaceAllMatches = True srclStrn WorkStarted srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnMainBuffer = "" srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTemp = LTrim ( Source ) srclStrn5FrontSpacesToPutBack = Len ( Source ) - Len ( Temp ) srclStrnGetPiecesOfString ( Source ) srclStrn UpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I ) srclStrn+Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn*Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn)Piece = ReplaceAllB ( Piece, " ", " " ) srclStrn)Piece = ReplaceAllB ( Piece, "( ", "(" ) srclStrn)Piece = ReplaceAllB ( Piece, " (", "(" ) srclStrn)Piece = ReplaceAllB ( Piece, ") ", ")" ) srclStrn)Piece = ReplaceAllB ( Piece, " )", ")" ) srclStrn /// Space ( srclStrn Regex1.SearchPattern = "(?! )\("srclStrn Regex1.ReplacementPattern = " ("srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// ( Space srclStrn Regex1.SearchPattern = "\((?! )"srclStrn Regex1.ReplacementPattern = "( "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// Space ) srclStrn Regex1.SearchPattern = "(?! )\)"srclStrn Regex1.ReplacementPattern = " )"srclStrn"Piece = Regex1. Replace ( Piece ) srclStrn /// ) Space srclStrn Regex1.SearchPattern = "\)(?! )"srclStrn Regex1.ReplacementPattern = ") "srclStrn"Piece = Regex1. Replace ( Piece ) srclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnCSource = Rpt ( " ", FrontSpacesToPutBack ) + MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt lEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lMethGrup(lnameStrn StartDisplayCompStrnVsblInt sorcGrup”lEncoInt srclStrnSub StartDisplay() srclStrnHideOldAndNewName srclStrn ZapFileMenu srclStrn WorkStarted srclStrnEnd Sub EndGInt lEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lMethGrupPlnameStrnStartProgressBar2 CompStrnVsblInt sorcGrup´lEncoInt srclStrnSub StartProgressBar2() srclStrn'If TabPanel1.Value = MainMenuPanel Then srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn+MainMenuProgressBar.Maximum = UpperBoundXML srclStrnMainMenuProgressBar.Value = 0 srclStrn"MainMenuProgressBar.Visible = True srclStrn*ElseIf TabPanel1.Value = ResultsPanel Then srclStrn'ResultsBottomPushButton.Visible = False srclStrn$UpperBoundXML = Ubound ( XMLLInes ) srclStrn*ResultsProgressBar.Maximum = UpperBoundXML srclStrnResultsProgressBar.Value = 0srclStrn!ResultsProgressBar.Visible = True srclStrnEnd If srclStrnEnd Sub EndGInt lEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lMethGrupìlnameStrn StartsWith CompStrnVsblInt sorcGrup8lEncoInt srclStrn8Function StartsWith(A As String, B As String) As BooleansrclStrnDim Test As String srclStrnA = Trim ( A ) srclStrnB = Trim ( B ) srclStrn;If Right ( B, 1 ) = ">" Then B = Left ( B, Len ( B ) - 1 ) srclStrn"Test = LeftB ( A, Len ( B ) + 1 ) srclStrn$If ( Test = B + " " ) Or ( A = B ) _srclStrn+Or ( Test = B + Q ) Or ( Test = B + "(" ) _ srclStrn0Or ( Test = B + ">" ) Or ( Test = B + "." ) ThensrclStrn Return True srclStrnElse srclStrn Return FalsesrclStrnEnd If srclStrn End FunctionEndGInt lEncoInt AlasStrnflagInt shrdInt parmStrnA As String, B As StringrsltStrnBoolean EndGInt lMethGrup`lnameStrnSwitchControls CompStrnVsblInt sorcGrupÈlEncoInt srclStrnSub SwitchControls()srclStrnDim I, J, UpperBound As Integer srclStrnDim Controls2 ( - 1 ) As String srclStrn GetControls srclStrn UpperBound = Ubound ( Controls )srclStrnReDim Controls2 ( UpperBound ) srclStrnFor I = 0 To UpperBound srclStrn Controls2 ( I ) = Controls ( I )srclStrnNext I srclStrnRemoveDuplicates Controls2 srclStrnControls2.Insert 0, "WXYZed"srclStrnResultsListBox.DeleteAllRowssrclStrn WorkStarted srclStrn'// XMLLInes = Split ( MainBuffer, EOL ) srclStrn>If TaskSelected = "Obfuscate Controls By Switching Names" Then srclStrn!UpperBound = Ubound ( Controls2 ) srclStrnFor J = 1 To UpperBound srclStrn"OldName = Trim ( Controls2 ( J ) ) srclStrn&NewName = Trim ( Controls2 ( J - 1 ) ) srclStrn4MsgBox "Changing " + OldName + EOL + "to " + NewNamesrclStrn ChangeWord srclStrn#Next J '/ For J = 1 To UpperBound srclStrnOldName = Controls2 ( 0 ) srclStrn"NewName = Controls2 ( UpperBound ) srclStrn;MsgBox "(Last) Changing " + OldName + EOL + "to " + NewName srclStrn ChangeWord srclStrnEnd If srclStrn@If TaskSelected = "Unobfuscate Controls By Switching Names" ThensrclStrn!UpperBound = Ubound ( Controls2 ) srclStrn"OldName = Controls2 ( UpperBound ) srclStrnNewName = Controls2 ( 0 ) srclStrn" ) srclStrnElse srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnIf Source = "" Then srclStrnTest1 = LeftB ( Comment, 2 ) srclStrnIf Test1 = "' "Then srclStrnComment = MidB ( Comment, 3 ) srclStrn1If Left ( Trim ( Comment ) , 7 ) = "MsgBox " Then srclStrnSourceCodeLine = CommentsrclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt l#EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l"MethGrupl$nameStrnUndoCommentOutSourceCompStrnVsblInt sorcGruptl%EncoInt srclStrnSub UndoCommentOutSource() srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn9SourceCodeLine = BetweenTags ( XMLLine, "" ) srclStrn8GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrn-If LeftB ( Trim ( Comment ) , 2 ) = "' " Then srclStrn(Comment = MidB ( Trim ( Comment ) , 2 ) srclStrnEnd If srclStrn!SourceCodeLine = Source + Comment srclStrn.If StartsWith ( Trim ( Source ) , "MsgBox" ) _ srclStrn,And Comment = "/// Remove this MsgBox." ThensrclStrnXMLLines.Remove XMLLineNumber srclStrn!XMLLineNumber = XMLLineNumber - 1 srclStrn!UpperBoundXML = UpperBoundXML - 1 srclStrnGoTo DoNextXMLLineNumbersrclStrnEnd If srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextXMLLineNumber:srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt l%EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l$MethGrup˜l&nameStrnUndoPreviousChange CompStrnVsblInt sorcGrupül'EncoInt srclStrnSub UndoPreviousChange()srclStrn%If MainBuffer = MainBufferBackup Then srclStrnMsgBox "Not possible" srclStrnExit srclStrnEnd If srclStrnMainBuffer = MainBufferBackup srclStrn%XMLLInes = Split ( MainBuffer, EOL ) srclStrnXMLEditField.Text = MainBuffer srclStrn// XMLEditField.RefreshsrclStrnSourceDisplayChanged = True srclStrn// DisplaySourceCode srclStrnFinishWithSourcesrclStrn/// EndModify srclStrnEnd Sub EndGInt l'EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l&MethGrupTl(nameStrnUseMnuForMenuItems CompStrnVsblInt sorcGrup¸l)EncoInt srclStrnSub UseMnuForMenuItems()srclStrnDim I As IntegersrclStrnHideOldAndNewName srclStrn SetForSimplesrclStrn ZapFileMenu srclStrn WorkStarted srclStrn GetMenuItemssrclStrnRestoreDetailBooleans srclStrnKindOfList = "Menu Items" srclStrn PopulateResultsListBox MenuItemssrclStrn/TextHolder = Str ( Ubound ( MenuItems ) + 1 ) _ srclStrn + " Different Menu Items:" srclStrnAdjustResultsListBoxsrclStrn WorkFinished3 srclStrnPrepareFileMenu srclStrnKindOfList = "Main Menu"srclStrnRestoreDetailBooleans srclStrn"For I = 0 To Ubound ( MenuItems ) srclStrn"OldStr = Trim ( MenuItems ( I ) ) srclStrn6If Left ( Trim ( MenuItems ( I ) ) , 3 ) <> "mnu" Then srclStrnNewStr = "mnu" + OldStr srclStrn+ReplaceStringThroughout ( OldStr, NewStr ) srclStrn App.DoEventssrclStrnEnd If srclStrnNext I srclStrn EndModify srclStrnEnd Sub EndGInt l)EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l(MethGrup8l*nameStrn WorkFinished3 CompStrnVsblInt sorcGrup l+EncoInt srclStrnSub WorkFinished3() srclStrnResultsTopLabel.Visible = True srclStrnResultsTopLabel.TextAlign = 0 srclStrnResultsTopLabel.Bold = FalsesrclStrn,ResultsTopLabel.TextColor = RGB ( 0, 0, 0 ) srclStrnResultsTopLabel.Refresh srclStrnResultsTopLabel.Visible = True srclStrnResultsTopLabel.TextAlign = 0 srclStrnResultsTopLabel.Bold = FalsesrclStrn,ResultsTopLabel.TextColor = RGB ( 0, 0, 0 ) srclStrnResultsTopLabel.Text = "" srclStrnResultsTopLabel.Refresh srclStrnLResultsBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrn0App.MouseCursor = System.Cursors.StandardPointersrclStrnResultsProgressBar.Value = 0srclStrnMainMenuTopLabel.Visible = True srclStrnMainMenuTopLabel.TextAlign = 0 srclStrnMainMenuTopLabel.Bold = False srclStrn-MainMenuTopLabel.TextColor = RGB ( 0, 0, 0 ) srclStrn2MainMenuTopLabel.Text = "Select a Task To Perform" srclStrnMMainMenuBottomPushButton.Width = TabPanel1.Width - ( 4 * HorizontalMargin ) srclStrn3MainMenuTopLabel.Text = "Select a Task to Perform:" srclStrnMainMenuTopLabel.RefreshsrclStrnEnd Sub EndGInt l+EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l*MethGrup`l,nameStrn WorkFinishedCompStrnVsblInt sorcGrupÌl-EncoInt srclStrnSub WorkFinished() srclStrnMainMenuTopLabel.Visible = True srclStrnMainMenuTopLabel.TextAlign = 0 srclStrnMainMenuTopLabel.Bold = False srclStrn-MainMenuTopLabel.TextColor = RGB ( 0, 0, 0 ) srclStrn3MainMenuTopLabel.Text = "Select a Task to Perform:" srclStrnMainMenuTopLabel.RefreshsrclStrn0App.MouseCursor = System.Cursors.StandardPointersrclStrnSourceProgressBar.Value = 0 srclStrnEnd Sub EndGInt l-EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l,MethGrup\l.nameStrn WorkStarted CompStrnVsblInt sorcGrupÈl/EncoInt srclStrnSub WorkStarted() srclStrnMainMenuTopLabel.TextAlign = 1 srclStrnMainMenuTopLabel.Bold = TruesrclStrn/MainMenuTopLabel.TextColor = RGB ( 255, 0, 0 ) srclStrnMainMenuTopLabel.Width = 540srclStrn%MainMenuTopLabel.Text = "WORKING...." srclStrnMainMenuTopLabel.RefreshsrclStrn%App.MouseCursor = System.Cursors.Wait srclStrnSourceProgressBar.Value = 0 srclStrn GetControls srclStrnEnd Sub EndGInt l/EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l.MethGrup¨l0nameStrn ZapFileMenu CompStrnVsblInt sorcGrupl1EncoInt srclStrnSub ZapFileMenu() srclStrnmnuSeparator3.Visible = False srclStrnmnuPrintXML.Visible = False srclStrnmnuSeparator2.Visible = False srclStrnmnuSaveXML.Visible = False srclStrnmnuSeparator1.Visible = False srclStrnmnuOpenXML.Visible = False srclStrnmnuSaveResults.Visible = False srclStrnmnuSaveSource.Visible = False srclStrnmnuPrintResults.Visible = False srclStrnmnuPrintSource.Visible = False srclStrnmnuQuit.Visible = False srclStrnEnd Sub EndGInt l1EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l0MethGrupl2nameStrnChangeEndToEndIfCompStrnVsblInt sorcGruphl3EncoInt srclStrnSub ChangeEndToEndIf() srclStrn/'Dim NextComments ( - 1 ) , TheSource As String srclStrn0'Dim TheVariable, Throwaway, WholeLine As StringsrclStrn WorkStarted srclStrn$XMLLInes = Split ( MainBuffer, EOL )srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn(SourceCodeLine = Trim ( SourceCodeLine )srclStrnElsesrclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn7GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnIf Trim(Source) = "End" ThensrclStrn+Source = Replace (Source, "End", "End If" ) srclStrnEnd If srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnDisplaySourceCode srclStrnTabPanel1.Value = SourcePanel srclStrnEnd Sub EndGInt l3EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l2MethGrupl4nameStrnChangeEndIfToEndCompStrnVsblInt sorcGrupll5EncoInt srclStrnSub ChangeEndIfToEnd() srclStrn/'Dim NextComments ( - 1 ) , TheSource As String srclStrn0'Dim TheVariable, Throwaway, WholeLine As StringsrclStrn WorkStarted srclStrn$XMLLInes = Split ( MainBuffer, EOL )srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn(SourceCodeLine = Trim ( SourceCodeLine )srclStrnElsesrclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn7GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnIf Trim(Source) = "End If" Then srclStrn+Source = Replace (Source, "End If", "End" ) srclStrnEnd If srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnDisplaySourceCode srclStrnTabPanel1.Value = SourcePanel srclStrnEnd Sub EndGInt l5EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l4MethGrup\l6nameStrnChangeNextIToNext CompStrnVsblInt sorcGrupÀl7EncoInt srclStrnSub ChangeNextIToNext() srclStrnDim TheSource As String srclStrnDim WholeLine As String srclStrnDim Pos1 As Integer srclStrn WorkStarted srclStrn$XMLLInes = Split ( MainBuffer, EOL )srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn(SourceCodeLine = Trim ( SourceCodeLine )srclStrnElsesrclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn-If StartsWith ( SourceCodeLine, "Next" ) Then srclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn8GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine )srclStrn#SourceCodeLine = Trim ( WholeLine ) srclStrnEnd If srclStrnEnd If srclStrn7GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTheSource = Trim ( Source ) srclStrn(If StartsWith ( TheSource, "Next" ) ThensrclStrnPos1 = InStr (TheSource, " " ) srclStrnIf Pos1 <> 0 Then srclStrn&TheSource = Left (TheSource, Pos1 - 1) srclStrnEnd If srclStrn2//MsgBox "TheSource" + EOL + "|" + TheSource + "|" srclStrn#Source = RTrim ( TheSource ) + " " srclStrn /////Comment = LTrim ( Comment )srclStrn"//MsgBox "Comment" + EOL + Comment srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnDisplaySourceCode srclStrnTabPanel1.Value = SourcePanel srclStrnEnd Sub EndGInt l7EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l6MethGrup Pl8nameStrnChangeNextToNextI CompStrnVsblInt sorcGrup ´l9EncoInt srclStrnSub ChangeNextToNextI() srclStrnDim Source2 As String srclStrn.Dim NextComments ( - 1 ) , TheSource As String srclStrn/Dim TheVariable, Throwaway, WholeLine As String srclStrn WorkStarted srclStrn$XMLLInes = Split ( MainBuffer, EOL )srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn(SourceCodeLine = Trim ( SourceCodeLine )srclStrnElsesrclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn,If StartsWith ( SourceCodeLine, "For" ) ThensrclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn8GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine )srclStrn#SourceCodeLine = Trim ( WholeLine ) srclStrnEnd If srclStrn7GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnSource2 = SourcesrclStrn(Source2 = Replace (Source2, "=", " = " )srclStrn)Source2 = Replace (Source2, " =", " =" ) srclStrn)Source2 = Replace (Source2, "= ", "= " ) srclStrnTheVariable = Trim ( Source2 ) srclStrn-//MsgBox "1 TheVariable" + EOL + TheVariable srclStrn5TheVariable = AllExceptFirstItem ( TheVariable, " " ) srclStrn-//MsgBox "2 TheVariable" + EOL + TheVariable srclStrn,TheVariable = FirstItem ( TheVariable, " " )srclStrn-//MsgBox "3 TheVariable" + EOL + TheVariable srclStrn&If Right ( TheVariable, 1 ) = "=" Then srclStrn9TheVariable = Left (TheVariable, Len ( TheVariable) - 1 ) srclStrnEnd If srclStrn-//MsgBox "4 TheVariable" + EOL + TheVariable srclStrnNextComments.Append TheVariable srclStrnGoTo DoNextLineNumber srclStrnEnd If srclStrn-If StartsWith ( SourceCodeLine, "Next" ) Then srclStrn(If EndsWith ( SourceCodeLine, "_" ) ThensrclStrn8GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine )srclStrn#SourceCodeLine = Trim ( WholeLine ) srclStrnEnd If srclStrn7GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnTheSource = Trim ( Source ) srclStrnIf TheSource = "next" Then srclStrn Source = RTrim ( Source ) + " "srclStrn5Comment = NextComments.Pop + " " + LTrim ( Comment ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnElsesrclStrnThrowaway = NextComments.PopsrclStrnEnd If srclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnDisplaySourceCode srclStrnTabPanel1.Value = SourcePanel srclStrnEnd Sub EndGInt l9EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l8MethGrup ll:nameStrnInitialConform CompStrnVsblInt sorcGrup Ôl;EncoInt srclStrnSub InitialConform()srclStrnDim Temp2 As String srclStrn!If WantXMLLineNumbers = True Then srclStrn$RemoveXMLLineNumbersFromSourceAndXMLsrclStrnEnd If srclStrnDim I, Pos1 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrnDim Temp As String srclStrnDim UpperBound2 As Integer srclStrn5///If Left ( TaskSelected, 11 ) <> "Conform All" Then srclStrn ///MainBufferBackup = MainBuffersrclStrn ///End If srclStrn.Regex1.SearchPattern = "[A-Za-z][A-Za-z_0-9]*" srclStrn WorkStarted srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn7GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnGetPiecesOfString ( Source )srclStrnUpperBound2 = Ubound ( Pieces ) srclStrnFor I = 0 To UpperBound2 Step 2 srclStrnPiece = Pieces ( I )srclStrnPos1 = 0srclStrnDo srclStrn+Regexmatch1 = Regex1.Search ( Piece, Pos1 ) srclStrnIf Regexmatch1 <> Nil Then srclStrn,Pos1 = Regexmatch1.SubexpressionStartB ( 0 )srclStrn,Temp = Regexmatch1.SubexpressionString ( 0 )srclStrnIf Temp = "amp" Then srclStrn Temp2 = "amp" srclStrnElseIf Temp = "gt" Then srclStrn Temp2 = "gt"srclStrnElseIf Temp = "lt" Then srclStrn Temp2 = "lt"srclStrnElsesrclStrnFTemp2 = UpperCase (Left ( Temp, 1 ) ) + LowerCase ( Mid ( Temp, 2 ) ) srclStrnEnd If srclStrn)//MsgBox Piece + EOL + Temp + EOL + Temp2 srclStrnRegExReplace Temp2 srclStrn;Pos1 = Pos1 + Len ( Regexmatch1.SubexpressionString ( 0 ) ) srclStrnEnd If srclStrnLoop Until Regexmatch1 = NilsrclStrn//MsgBox "Piece" + EOL + Piece srclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrn!SourceCodeLine = Source + Comment srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnEnd Sub EndGInt l;EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l:MethGrup@l" )srclStrn"OldSourceCodeLine = SourceCodeLine srclStrn7GetSourceAndComment ( SourceCodeLine, Source, Comment ) srclStrnOldSource = Source srclStrnGetPiecesOfString ( Source )srclStrn%For I = 0 To Ubound ( Pieces ) Step 2 srclStrn"//MsgBox Str ( Ubound ( Pieces ) ) srclStrn$//In1 = InStr ( Pieces ( I ), "&" ) srclStrn//If In1 <> 0 Then srclStrn$//MsgBox Source + EOL + Pieces ( I )srclStrn"//If I < (UBound ( Pieces ) ) Then srclStrn//MsgBox Pieces ( I + 1 ) srclStrn//End IfsrclStrn&//If I + 1 < (UBound ( Pieces ) ) Then srclStrn//MsgBox Pieces ( I + 2 ) srclStrn//End IfsrclStrn//End IfsrclStrnPiece = Pieces ( I )srclStrnMakeChange = False srclStrnFor J = 1 To Len ( Piece ) - 5 srclStrnChar1 = Mid ( Piece, J, 1) srclStrnChar2 = Mid ( Piece, J + 1, 1) srclStrnChar3 = Mid ( Piece, J + 2, 1) srclStrnChar4 = Mid ( Piece, J + 3, 1) srclStrnChar5 = Mid ( Piece, J + 4, 1) srclStrn"If Asc ( Char1 ) = Asc ("&") And _ srclStrnAsc ( Char2 ) = Asc ("a") And _ srclStrnAsc ( Char3 ) = Asc ("m") And _ srclStrnAsc ( Char4 ) = Asc ("p") And _ srclStrnAsc ( Char5 ) = Asc (";") Then srclStrnMakeChange = True srclStrn //MsgBox "Piece 1" + EOL + PiecesrclStrnEnd If srclStrnChar6 = Mid ( Piece, J + 5, 1 ) srclStrn)If ( Char6 >= "0" And Char6 <= "9" ) Or _ srclStrn&( Char6 >= "A" And Char6 <= "F" ) Or _ srclStrn&( Char6 >= "a" And Char6 <= "f" ) Then srclStrn FirstPart = Left ( Piece, J + 4)srclStrnIf MakeChange Then srclStrn2MiddlePart = UpperCase ( Mid ( Piece, J + 5, 1 ) ) srclStrnElsesrclStrn$MiddlePart = Mid ( Piece, J + 5, 1 )srclStrnEnd If srclStrnLastPart = Mid (Piece, J + 6 ) srclStrn)Piece = FirstPart + MiddlePart + LastPart srclStrn//MsgBox "Piece" + EOL + Piece srclStrn //In2 = InStr ( Piece, "&" )srclStrn//If In2 <> 0 Then srclStrn7//MsgBox "Piece" + EOL + Piece + EOL + "Source" + EOL _ srclStrn4//+ Source + "SourceCodeLine" + EOL + SourceCodeLinesrclStrn//End IfsrclStrnElsesrclStrnMakeChange = False srclStrnEnd If srclStrn Next J srclStrnPieces ( I ) = PiecesrclStrn Next I srclStrnSource = MyJoin ( Pieces, "" ) srclStrnNewSource = Source srclStrn5//MsgBox "Source" + EOL + OldSource + EOL + NewSource srclStrn!SourceCodeLine = Source + Comment srclStrn"NewSourceCodeLine = SourceCodeLine srclStrnM//MsgBox "SourceCodeLine" + EOL + OldSourceCodeLine + EOL + NewSourceCodeLine srclStrn/XMLLine = TagBefore + SourceCodeLine + TagAfter srclStrnNewXMLLine = XMLLinesrclStrn8//MsgBox "XMLLine" + EOL + OldXMLLine + EOL + NewXMLLinesrclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd If srclStrnDoNextLineNumber: srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrn WorkFinishedsrclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnEnd Sub EndGInt l=EncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lnameStrn WorkOnHex CompStrnVsblInt sorcGrupl?EncoInt srclStrn$Sub WorkOnHex(ByRef Piece As String)srclStrnDim Pos1 As Integer srclStrn-Dim FirstPart, MiddlePart, LastPart As String srclStrnDim Char1 As String srclStrn//MsgBox "Before: " + Piece srclStrnPos1 = 1srclStrnDo srclStrn*Pos1= InStr ( Pos1, Piece, "&") /// ?? srclStrnIf Pos1 = 0 ThensrclStrn//MsgBox "Exit" srclStrnExitsrclStrnEnd If srclStrnDo srclStrn$FirstPart = Left (Piece, Pos1 + 4 ) srclStrn&//MsgBox "FirstPart" + EOL + FirstPart srclStrn4MiddlePart = UpperCase ( Mid ( Piece, Pos1 + 5, 1) )srclStrn(//MsgBox "MiddlePart" + EOL + MiddlePartsrclStrn!LastPart = Mid (Piece, Pos1 + 6 ) srclStrn$//MsgBox "LastPart" + EOL + LastPartsrclStrnChar1 = MiddlePart srclStrn)If ( Char1 >= "0" And Char1 <= "9" ) Or _ srclStrn&( Char1 >= "A" And Char1 <= "F") Or _ srclStrn&( Char1 >= "a" And Char1 <= "f") Then srclStrn)Piece = FirstPart + MiddlePart + LastPart srclStrn//MsgBox "Piece" + EOL + Piece srclStrnPos1 = Pos1 + 1 srclStrnElsesrclStrn//MsgBox "Exit 1" srclStrnExitsrclStrnEnd If srclStrnLoopsrclStrn//MsgBox Piece srclStrnPos1 = Pos1 + 1 srclStrnLoopsrclStrn//MsgBox "After: " + PiecesrclStrnEnd Sub EndGInt l?EncoInt AlasStrnflagInt shrdInt parmStrnByRef Piece As String rsltStrnEndGInt l>MethGrup8l@nameStrn Constructor CompStrnVsblInt sorcGrup¤lAEncoInt srclStrnSub Constructor() srclStrn1// Calling the overridden superclass constructor. srclStrnSuper.Constructor srclStrnEnd Sub EndGInt lAEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt l@MethGrup@lBnameStrnSearchXMLForControl CompStrnVsblInt sorcGrup¤lCEncoInt srclStrnSub SearchXMLForControl() srclStrnXMLEditField.SetFocus srclStrnDim Pos1, Pos2 As Integer srclStrnDim Regex1 As New RegEx srclStrnDim Regexmatch1 As RegExMatch srclStrn!Dim SearchString1, Temp As String srclStrn0SearchString1 = Trim ( XMLSearchEditField.Text )srclStrn=SearchString1 = "" srclStrn'XMLSearchEditField.Text = SearchString1 srclStrn7If XMLEditField.SelStart <> LastSearchPosition - 2 Then srclStrn.LastSearchPosition = XMLEditField.SelStart + 1 srclStrnEnd If srclStrn If XMLCheckBox.Value = True ThensrclStrn$Regex1.SearchPattern = SearchString1srclStrnRegex1.Options.Greedy = False srclStrn;Regex1.SearchPattern = "(? Nil Then srclStrn:LastSearchPosition = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn,Temp = Regexmatch1.SubexpressionString ( 0 )srclStrn*XMLEditField.SelStart = LastSearchPosition srclStrn.XMLEditField.SelLength = Len ( SearchString1 ) srclStrnYXMLEditField.ScrollPosition = XMLEditField.LineNumAtCharPos ( XMLEditField.SelStart ) - 3 srclStrn/// LastSearchPosition = LastSearchPosition + 2 srclStrn.LastSearchPosition = XMLEditField.SelStart + 2 srclStrnElsesrclStrnLastSearchPosition = 0 srclStrnIRegexmatch1 = Regex1.Search ( XMLEditField.Text, LastSearchPosition - 1 ) srclStrnIf Regexmatch1 <> Nil Then srclStrn5MsgBox "Starting again at the beginning of the file." srclStrn:LastSearchPosition = Regexmatch1.SubexpressionStartB ( 0 ) srclStrn,Temp = Regexmatch1.SubexpressionString ( 0 )srclStrn*XMLEditField.SelStart = LastSearchPosition srclStrn.XMLEditField.SelLength = Len ( SearchString1 ) srclStrnYXMLEditField.ScrollPosition = XMLEditField.LineNumAtCharPos ( XMLEditField.SelStart ) - 3 srclStrn+LastSearchPosition = LastSearchPosition + 2 srclStrnElsesrclStrnIMsgBox "The whole word " + Q + SearchString1 + Q + " could not be found." srclStrnEnd If srclStrnEnd If srclStrnXMLTopGoButton.SetFocus srclStrnElsesrclStrnELastSearchPosition = InStr ( LastSearchPosition, XMLEditField.Text, _ srclStrnSearchString1 ) srclStrnIf LastSearchPosition <> 0 Then srclStrn.XMLEditField.SelStart = LastSearchPosition - 1 srclStrn.XMLEditField.SelLength = Len ( SearchString1 ) srclStrnYXMLEditField.ScrollPosition = XMLEditField.LineNumAtCharPos ( XMLEditField.SelStart ) - 3 srclStrn+LastSearchPosition = LastSearchPosition + 1 srclStrnElsesrclStrnSLastSearchPosition = InStr ( LastSearchPosition, XMLEditField.Text, SearchString1 ) srclStrnIf LastSearchPosition <> 0 Then srclStrn5MsgBox "Starting again at the beginning of the file." srclStrn.XMLEditField.SelStart = LastSearchPosition - 1 srclStrn.XMLEditField.SelLength = Len ( SearchString1 ) srclStrnYXMLEditField.ScrollPosition = XMLEditField.LineNumAtCharPos ( XMLEditField.SelStart ) - 3 srclStrn+LastSearchPosition = LastSearchPosition + 1 srclStrnElsesrclStrnCMsgBox "The Text " + Q + SearchString1 + Q + " could not be found." srclStrnEnd If srclStrnEnd If srclStrnXMLTopGoButton.SetFocus srclStrnEnd If srclStrnXMLEditField.SetFocus srclStrn&//MsgBox Str ( XMLEditField.SelStart ) srclStrn2XMLEditField.SelStart = XMLEditField.SelStart + 27 srclStrnPos1 = XMLEditField.SelStartsrclStrn1Pos2 = InStr ( Pos1 + 1, XMLEditField.Text, "<" ) srclStrn(XMLEditField.SelLength = Pos2 - Pos1 - 1srclStrn//XMLEditField.SelLength = 0srclStrnEnd Sub EndGInt lCEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lBMethGrup„lDnameStrnAddBlankLineFooter CompStrnVsblInt sorcGrupèlEEncoInt srclStrnSub AddBlankLineFooter()srclStrnDim Line3, Line4 As String srclStrnDim Pos1, Pos2 As Integer srclStrn&Dim Temp1, Temp2, WhiteSpace As String srclStrnDim WholeLine1 As StringsrclStrnSaveDetailBooleans srclStrnLocationDetails = True srclStrnAlphabeticalByLocation = True srclStrnWhiteSpace = Rpt ( " ", 64 )srclStrn WorkStarted srclStrn ResetCounters srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn If IsSourceLine ( XMLLine ) ThensrclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn9GetWholeLine ( XMLLineNumber, XMLLineNumber, WholeLine1 ) srclStrn3GetSourceAndComment ( WholeLine1, Source, Comment ) srclStrnGetCurrentInfoS srclStrnTemp1 = Trim ( Source ) srclStrn$If Left ( Temp1, 9 ) = "Function " _srclStrn"Or Left ( Temp1, 4 ) = "Sub " Then srclStrn Pos1 = InStrB ( Temp1, " " ) + 1srclStrn&Pos2 = InStrB ( Pos1, Temp1, "(" ) - 1 srclStrn*CurrentMethod = Mid1 ( Temp1, Pos1, Pos2 ) srclStrn'Temp2 = FormatForList ( CurrentMethod ) srclStrnEnd srclStrn,If StartsWith ( Temp1, "End Function" ) Or _srclStrn$StartsWith ( Temp1, "End Sub" ) ThensrclStrn(XMLLine = XMLLInes ( XMLLineNumber - 1 )srclStrn8SourceCodeLine = BetweenTags ( XMLLine, "" )srclStrn6If Right ( Trim ( SourceCodeLine ) , 3 ) <> " '" Then srclStrn/Line3 = TagBefore + Rpt ( " ", 50 ) + TagAfter srclStrn/Line4 = TagBefore + Rpt ( " ", 50 ) + TagAfter srclStrn$XMLLInes.Insert XMLLineNumber, Line4srclStrn$XMLLInes.Insert XMLLineNumber, Line3srclStrn!XMLLineNumber = XMLLineNumber + 4 srclStrn#UpperBoundXML = Ubound ( XMLLines ) srclStrnEnd srclStrnEnd srclStrnElsesrclStrnGetCurrentInfoX srclStrn'Temp2 = FormatForList ( CurrentMethod ) srclStrnEnd srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrnEnd Sub EndGInt lEEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lDMethGrup lFnameStrnChangeFontThroughoutToArial24 CompStrnVsblInt sorcGrupølGEncoInt srclStrn#Sub ChangeFontThroughoutToArial24() srclStrnDim Pos1, Pos2 As Integer srclStrn!Dim FirstPart, LastPart As String srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn$XMLLine = XMLLInes ( XMLLineNumber )srclStrn:Pos1 = InStr ( XMLLine, "PropertyVal Name=" + Chr ( 34 ) _ srclStrn+ "TextSize" + Chr ( 34 ) ) srclStrnIf Pos1<> 0 ThensrclStrn'FirstPart = Left ( XMLLine, Pos1 + 27 ) srclStrn$Pos2 = InStr ( Pos1, XMLLine, " 0 Then srclStrn LastPart = Mid ( XMLLine, Pos2 )srclStrn%XMLLine = FirstPart + "24" + LastPart srclStrnEnd srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd srclStrn:Pos1 = InStr ( XMLLine, "PropertyVal Name=" + Chr ( 34 ) _ srclStrn+ "TextFont" + Chr ( 34 ) ) srclStrnIf Pos1<> 0 ThensrclStrn'FirstPart = Left ( XMLLine, Pos1 + 27 ) srclStrn$Pos2 = InStr ( Pos1, XMLLine, " 0 Then srclStrn LastPart = Mid ( XMLLine, Pos2 )srclStrn(XMLLine = FirstPart + "Arial" + LastPartsrclStrnEnd '/ If Pos2 <> 0 srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnP///If InStr (XMLLine, "TextFont") <> 0 Or InStr (XMLLine, "TextSize") <> 0 ThensrclStrnG///MsgBox Str (XMLLineNumber ) + EOL + XMLLines (XMLLineNumber ) ///// srclStrn ///End If srclStrnEnd srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrn7MsgBox "Font is Changed to Arial 24 (although" + EOL _ srclStrn5+ "only Window info -- not source code -- is" + EOL _ srclStrn5+ "changed for now; a more complete version" + EOL _ srclStrn+ "will be provided later)."srclStrnEnd Sub EndGInt lGEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lFMethGrupœlHnameStrnChangeFontThroughoutToSystem0 CompStrnVsblInt sorcGrupôlIEncoInt srclStrn#Sub ChangeFontThroughoutToSystem0() srclStrnDim Pos1, Pos2 As Integer srclStrn!Dim FirstPart, LastPart As String srclStrnStartProgressBar2 srclStrn&For XMLLineNumber = 0 To UpperBoundXML srclStrnContinueProgressBar2srclStrn$XMLLine = XMLLInes ( XMLLineNumber )srclStrn:Pos1 = InStr ( XMLLine, "PropertyVal Name=" + Chr ( 34 ) _ srclStrn+ "TextSize" + Chr ( 34 ) ) srclStrnIf Pos1<> 0 ThensrclStrn'FirstPart = Left ( XMLLine, Pos1 + 27 ) srclStrn$Pos2 = InStr ( Pos1, XMLLine, " 0 Then srclStrn LastPart = Mid ( XMLLine, Pos2 )srclStrn$XMLLine = FirstPart + "0" + LastPartsrclStrnEnd srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnEnd srclStrn:Pos1 = InStr ( XMLLine, "PropertyVal Name=" + Chr ( 34 ) _ srclStrn+ "TextFont" + Chr ( 34 ) ) srclStrnIf Pos1<> 0 ThensrclStrn'FirstPart = Left ( XMLLine, Pos1 + 27 ) srclStrn$Pos2 = InStr ( Pos1, XMLLine, " 0 Then srclStrn LastPart = Mid ( XMLLine, Pos2 )srclStrn)XMLLine = FirstPart + "System" + LastPart srclStrnEnd '/ If Pos2 <> 0 srclStrn$XMLLInes ( XMLLineNumber ) = XMLLinesrclStrnP///If InStr (XMLLine, "TextFont") <> 0 Or InStr (XMLLine, "TextSize") <> 0 ThensrclStrnG///MsgBox Str (XMLLineNumber ) + EOL + XMLLines (XMLLineNumber ) ///// srclStrn ///End If srclStrnEnd srclStrnNext XMLLineNumber srclStrnEndProgressBar2 srclStrn EndModify srclStrn7MsgBox "Font is Changed to System 0 (although" + EOL _ srclStrn5+ "only Window info -- not source code -- is" + EOL _ srclStrn5+ "changed for now; a more complete version" + EOL _ srclStrn+ "will be provided later)."srclStrnEnd Sub EndGInt lIEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lHMethGrup,lJnameStrnChangeSourceToEditable CompStrnVsblInt sorcGrupŒlKEncoInt srclStrnSub ChangeSourceToEditable()srclStrn(If SourceEditField.ReadOnly = False ThensrclStrn!MsgBox "Source Already Editable!" srclStrnElsesrclStrn SourceEditField.ReadOnly = FalsesrclStrnMMsgBox "Source changed to Editable" + EOL + "(for this session only, not a" _ srclStrn"+ EOL + "permanent change in XML)" srclStrnEnd If srclStrnEnd Sub EndGInt lKEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lJMethGrupØlLnameStrnChangeSourceToReadOnly CompStrnVsblInt sorcGrup8lMEncoInt srclStrnSub ChangeSourceToReadOnly()srclStrn'If SourceEditField.ReadOnly = True Then srclStrn!MsgBox "Source already Read Only" srclStrnElsesrclStrnSourceEditField.ReadOnly = True srclStrn)MsgBox "Source Changed Back to Read Only" srclStrnEnd If srclStrnEnd Sub EndGInt lMEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lLMethGrup¸lNnameStrnFinishWithSourceCompStrnVsblInt sorcGrup lOEncoInt srclStrnSub FinishWithSource() srclStrnFileSaved = False srclStrnXMLChanged = True srclStrnSourceDisplayChanged = True srclStrnXMLDisplayChanged = TruesrclStrnDisplaySourceCode srclStrnTabPanel1.Value = SourcePanel srclStrnEnd Sub EndGInt lOEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lNMethGrup´lPnameStrn EndModify CompStrnVsblInt sorcGrup lQEncoInt srclStrnSub EndModify() srclStrnMainBufferBackup = MainBuffer srclStrn#MainBuffer = Join ( XMLLInes, EOL ) srclStrnXMLEditField.Text = MainBuffer srclStrn WorkFinishedsrclStrnRestoreDetailBooleans srclStrnFinishWithSourcesrclStrnEnd Sub EndGInt lQEncoInt AlasStrnflagInt shrdInt parmStrnrsltStrnEndGInt lPNoteGrup€lRnameStrnCompStrnVsblInt sorcGrup4lSEncoInt ntlnStrnntlnStrnntlnStrnEndGInt lSflagInt EndGInt lRPropGrupÌlTnameStrn KindOfList CompStrnVsblInt sorcGrup<lUEncoInt srclStrnKindOfList As StringsrclStrnEndGInt lUEncoInt declStrnKindOfList As StringflagInt shrdInt EndGInt lTPropGrupÌlVnameStrn AddMsgBox CompStrnVsblInt sorcGrup<lWEncoInt srclStrnAddMsgBox As BooleansrclStrnEndGInt lWEncoInt declStrnAddMsgBox As BooleanflagInt shrdInt EndGInt lVPropGrupÔlXnameStrn AllWords(-1)CompStrnVsblInt sorcGrup@lYEncoInt srclStrnAllWords(-1) As String srclStrnEndGInt lYEncoInt declStrnAllWords(-1) As String flagInt shrdInt EndGInt lXPropGrupØlZnameStrn AllWords2(-1) CompStrnVsblInt sorcGrup@l[EncoInt srclStrnAllWords2(-1) As String srclStrnEndGInt l[EncoInt declStrnAllWords2(-1) As String flagInt shrdInt EndGInt lZPropGrupäl\nameStrnBasicKeywords(-1) CompStrnVsblInt sorcGrupDl]EncoInt srclStrnBasicKeywords(-1) As String srclStrnEndGInt l]EncoInt declStrnBasicKeywords(-1) As String flagInt shrdInt EndGInt l\PropGrupàl^nameStrnBlankLineAdded CompStrnVsblInt sorcGrupDl_EncoInt srclStrnBlankLineAdded As Boolean srclStrnEndGInt l_EncoInt declStrnBlankLineAdded As Boolean flagInt shrdInt EndGInt l^PropGrupÈl`nameStrnComment CompStrnVsblInt sorcGrup<laEncoInt srclStrnComment As String srclStrnEndGInt laEncoInt declStrnComment As String flagInt shrdInt EndGInt l`PropGrupØlbnameStrn Constants(-1) CompStrnVsblInt sorcGrup@lcEncoInt srclStrnConstants(-1) As String srclStrnEndGInt lcEncoInt declStrnConstants(-1) As String flagInt shrdInt EndGInt lbPropGrupØldnameStrn ControlNumber CompStrnVsblInt sorcGrup@leEncoInt srclStrnControlNumber As IntegersrclStrnEndGInt leEncoInt declStrnControlNumber As IntegerflagInt shrdInt EndGInt ldPropGrupÔlfnameStrn Controls(-1)CompStrnVsblInt sorcGrup@lgEncoInt srclStrnControls(-1) As String srclStrnEndGInt lgEncoInt declStrnControls(-1) As String flagInt shrdInt EndGInt lfPropGrupìlhnameStrnControlsOrdered(-1) CompStrnVsblInt sorcGrupHliEncoInt srclStrnControlsOrdered(-1) As String srclStrnEndGInt liEncoInt declStrnControlsOrdered(-1) As String flagInt shrdInt EndGInt lhPropGrup´ljnameStrnCR CompStrnVsblInt sorcGrup4lkEncoInt srclStrn CR As StringsrclStrnEndGInt lkEncoInt declStrn CR As StringflagInt shrdInt EndGInt ljPropGrupØllnameStrnCurrentControl CompStrnVsblInt sorcGrup@lmEncoInt srclStrnCurrentControl As StringsrclStrnEndGInt lmEncoInt declStrnCurrentControl As StringflagInt shrdInt EndGInt llPropGrupàlnnameStrnCurrentMenuItem CompStrnVsblInt sorcGrupDloEncoInt srclStrnCurrentMenuItem As String srclStrnEndGInt loEncoInt declStrnCurrentMenuItem As String flagInt shrdInt EndGInt lnPropGrupØlpnameStrn CurrentMethod CompStrnVsblInt sorcGrup@lqEncoInt srclStrnCurrentMethod As String srclStrnEndGInt lqEncoInt declStrnCurrentMethod As String flagInt shrdInt EndGInt lpPropGrupØlrnameStrn CurrentModule CompStrnVsblInt sorcGrup@lsEncoInt srclStrnCurrentModule As String srclStrnEndGInt lsEncoInt declStrnCurrentModule As String flagInt shrdInt EndGInt lrPropGrupØltnameStrnDuplicates(-1) CompStrnVsblInt sorcGrup@luEncoInt srclStrnDuplicates(-1) As StringsrclStrnEndGInt luEncoInt declStrnDuplicates(-1) As StringflagInt shrdInt EndGInt ltPropGrupàlvnameStrnEditFieldDisplayCompStrnVsblInt sorcGrupDlwEncoInt srclStrnEditFieldDisplay As String srclStrnEndGInt lwEncoInt declStrnEditFieldDisplay As String flagInt shrdInt EndGInt lvPropGrupälxnameStrnEditFieldEndOfLine CompStrnVsblInt sorcGrupDlyEncoInt srclStrnEditFieldEndOfLine As StringsrclStrnEndGInt lyEncoInt declStrnEditFieldEndOfLine As StringflagInt shrdInt EndGInt lxPropGrupìlznameStrnEditingXMLRightNow CompStrnVsblInt sorcGrupHl{EncoInt srclStrnEditingXMLRightNow As Boolean srclStrnEndGInt l{EncoInt declStrnEditingXMLRightNow As Boolean flagInt shrdInt EndGInt lzPropGrupàl|nameStrnFileJustLoaded CompStrnVsblInt sorcGrupDl}EncoInt srclStrnFileJustLoaded As Boolean srclStrnEndGInt l}EncoInt declStrnFileJustLoaded As Boolean flagInt shrdInt EndGInt l|PropGrupÌl~nameStrn FileSaved CompStrnVsblInt sorcGrup<lEncoInt srclStrnFileSaved As BooleansrclStrnEndGInt lEncoInt declStrnFileSaved As BooleanflagInt shrdInt EndGInt l~PropGrupÔl€nameStrn IndentFactorCompStrnVsblInt sorcGrup@lEncoInt srclStrnIndentFactor As Integer srclStrnEndGInt lEncoInt declStrnIndentFactor As Integer flagInt shrdInt EndGInt l€PropGrupÔl‚nameStrn IndentLevel CompStrnVsblInt sorcGrup@lƒEncoInt srclStrnIndentLevel As Integer srclStrnEndGInt lƒEncoInt declStrnIndentLevel As Integer flagInt shrdInt EndGInt l‚PropGrupìl„nameStrnLastSearchPosition CompStrnVsblInt sorcGrupHl…EncoInt srclStrnLastSearchPosition As Integer srclStrnEndGInt l…EncoInt declStrnLastSearchPosition As Integer flagInt shrdInt EndGInt l„PropGrup´l†nameStrnLF CompStrnVsblInt sorcGrup4l‡EncoInt srclStrn LF As StringsrclStrnEndGInt l‡EncoInt declStrn LF As StringflagInt shrdInt EndGInt l†PropGrupØlˆnameStrnLineLabels(-1) CompStrnVsblInt sorcGrup@l‰EncoInt srclStrnLineLabels(-1) As StringsrclStrnEndGInt l‰EncoInt declStrnLineLabels(-1) As StringflagInt shrdInt EndGInt lˆPropGrupÌlŠnameStrn MainBuffer CompStrnVsblInt sorcGrup<l‹EncoInt srclStrnMainBuffer As StringsrclStrnEndGInt l‹EncoInt declStrnMainBuffer As StringflagInt shrdInt EndGInt lŠPropGrupälŒnameStrnMakeDisplaySource CompStrnVsblInt sorcGrupDlEncoInt srclStrnMakeDisplaySource As BooleansrclStrnEndGInt lEncoInt declStrnMakeDisplaySource As BooleanflagInt shrdInt EndGInt lŒPropGrupØlŽnameStrn MenuItems(-1) CompStrnVsblInt sorcGrup@lEncoInt srclStrnMenuItems(-1) As String srclStrnEndGInt lEncoInt declStrnMenuItems(-1) As String flagInt shrdInt EndGInt lŽPropGrupÔlnameStrn Methods(-1) CompStrnVsblInt sorcGrup@l‘EncoInt srclStrnMethods(-1) As String srclStrnEndGInt l‘EncoInt declStrnMethods(-1) As String flagInt shrdInt EndGInt lPropGrupÔl’nameStrn Modules(-1) CompStrnVsblInt sorcGrup@l“EncoInt srclStrnModules(-1) As String srclStrnEndGInt l“EncoInt declStrnModules(-1) As String flagInt shrdInt EndGInt l’PropGrupÌl”nameStrn NameOfFile CompStrnVsblInt sorcGrup<l•EncoInt srclStrnNameOfFile As StringsrclStrnEndGInt l•EncoInt declStrnNameOfFile As StringflagInt shrdInt EndGInt l”PropGrupðl–nameStrnOriginalFileEndOfLine CompStrnVsblInt sorcGrupHl—EncoInt srclStrnOriginalFileEndOfLine As String srclStrnEndGInt l—EncoInt declStrnOriginalFileEndOfLine As String flagInt shrdInt EndGInt l–PropGrupÀl˜nameStrnPiece CompStrnVsblInt sorcGrup8l™EncoInt srclStrnPiece As String srclStrnEndGInt l™EncoInt declStrnPiece As String flagInt shrdInt EndGInt l˜PropGrupÌlšnameStrn Pieces(-1) CompStrnVsblInt sorcGrup<l›EncoInt srclStrnPieces(-1) As StringsrclStrnEndGInt l›EncoInt declStrnPieces(-1) As StringflagInt shrdInt EndGInt lšPropGrupØlœnameStrnProperties(-1) CompStrnVsblInt sorcGrup@lEncoInt srclStrnProperties(-1) As StringsrclStrnEndGInt lEncoInt declStrnProperties(-1) As StringflagInt shrdInt EndGInt lœPropGrupÀlžnameStrnSource CompStrnVsblInt sorcGrup8lŸEncoInt srclStrnSource As StringsrclStrnEndGInt lŸEncoInt declStrnSource As StringflagInt shrdInt EndGInt lžPropGrupØl nameStrnSourceCodeLine CompStrnVsblInt sorcGrup@l¡EncoInt srclStrnSourceCodeLine As StringsrclStrnEndGInt l¡EncoInt declStrnSourceCodeLine As StringflagInt shrdInt EndGInt l PropGrupìl¢nameStrnSourceDisplayBuffer CompStrnVsblInt sorcGrupHl£EncoInt srclStrnSourceDisplayBuffer As String srclStrnEndGInt l£EncoInt declStrnSourceDisplayBuffer As String flagInt shrdInt EndGInt l¢PropGrupìl¤nameStrnSourceDisplayChangedCompStrnVsblInt sorcGrupHl¥EncoInt srclStrnSourceDisplayChanged As Boolean srclStrnEndGInt l¥EncoInt declStrnSourceDisplayChanged As Boolean flagInt shrdInt EndGInt l¤PropGrupØl¦nameStrn StartOfIndent CompStrnVsblInt sorcGrup@l§EncoInt srclStrnStartOfIndent As String srclStrnEndGInt l§EncoInt declStrnStartOfIndent As String flagInt shrdInt EndGInt l¦PropGrupÈl¨nameStrnTagAfterCompStrnVsblInt sorcGrup<l©EncoInt srclStrnTagAfter As String srclStrnEndGInt l©EncoInt declStrnTagAfter As String flagInt shrdInt EndGInt l¨PropGrupÌlªnameStrn TagBefore CompStrnVsblInt sorcGrup<l«EncoInt srclStrnTagBefore As String srclStrnEndGInt l«EncoInt declStrnTagBefore As String flagInt shrdInt EndGInt lªPropGrupÔl¬nameStrn TaskSelectedCompStrnVsblInt sorcGrup@l­EncoInt srclStrnTaskSelected As String srclStrnEndGInt l­EncoInt declStrnTaskSelected As String flagInt shrdInt EndGInt l¬PropGrupØl®nameStrn TempWholeLine CompStrnVsblInt sorcGrup@l¯EncoInt srclStrnTempWholeLine As String srclStrnEndGInt l¯EncoInt declStrnTempWholeLine As String flagInt shrdInt EndGInt l®PropGrupÌl°nameStrn TextHolder CompStrnVsblInt sorcGrup<l±EncoInt srclStrnTextHolder As StringsrclStrnEndGInt l±EncoInt declStrnTextHolder As StringflagInt shrdInt EndGInt l°PropGrupÌl²nameStrn TrimSource CompStrnVsblInt sorcGrup<l³EncoInt srclStrnTrimSource As StringsrclStrnEndGInt l³EncoInt declStrnTrimSource As StringflagInt shrdInt EndGInt l²PropGrupØl´nameStrn Variables(-1) CompStrnVsblInt sorcGrup@lµEncoInt srclStrnVariables(-1) As String srclStrnEndGInt lµEncoInt declStrnVariables(-1) As String flagInt shrdInt EndGInt l´PropGrupl¶nameStrnVariablesPlusProperties(-1) CompStrnVsblInt sorcGrupPl·EncoInt srclStrn%VariablesPlusProperties(-1) As String srclStrnEndGInt l·EncoInt declStrn%VariablesPlusProperties(-1) As String flagInt shrdInt EndGInt l¶PropGrupÔl¸nameStrn XMLChanged CompStrnVsblInt sorcGrup@l¹EncoInt srclStrnXMLChanged As Boolean srclStrnEndGInt l¹EncoInt declStrnXMLChanged As Boolean flagInt shrdInt EndGInt l¸PropGrupàlºnameStrnXMLDisplayBufferCompStrnVsblInt sorcGrupDl»EncoInt srclStrnXMLDisplayBuffer As String srclStrnEndGInt l»EncoInt declStrnXMLDisplayBuffer As String flagInt shrdInt EndGInt lºPropGrupäl¼nameStrnXMLDisplayChanged CompStrnVsblInt sorcGrupDl½EncoInt srclStrnXMLDisplayChanged As BooleansrclStrnEndGInt l½EncoInt declStrnXMLDisplayChanged As BooleanflagInt shrdInt EndGInt l¼PropGrupÈl¾nameStrnXMLLine CompStrnVsblInt sorcGrup<l¿EncoInt srclStrnXMLLine As String srclStrnEndGInt l¿EncoInt declStrnXMLLine As String flagInt shrdInt EndGInt l¾PropGrupØlÀnameStrn XMLLineNumber CompStrnVsblInt sorcGrup@lÁEncoInt srclStrnXMLLineNumber As IntegersrclStrnEndGInt lÁEncoInt declStrnXMLLineNumber As IntegerflagInt shrdInt EndGInt lÀPropGrupÔlÂnameStrn XMLLInes(-1)CompStrnVsblInt sorcGrup@lÃEncoInt srclStrnXMLLInes(-1) As String srclStrnEndGInt lÃEncoInt declStrnXMLLInes(-1) As String flagInt shrdInt EndGInt lÂPropGrupÌlÄnameStrn ModuleType CompStrnVsblInt sorcGrup<lÅEncoInt srclStrnModuleType As StringsrclStrnEndGInt lÅEncoInt declStrnModuleType As StringflagInt shrdInt EndGInt lÄPropGrupàlÆnameStrnLocationDetails CompStrnVsblInt sorcGrupDlÇEncoInt srclStrnLocationDetails As Boolean srclStrnEndGInt lÇEncoInt declStrnLocationDetails As Boolean flagInt shrdInt EndGInt lÆPropGrupølÈnameStrnAlphabeticalByLocation CompStrnVsblInt sorcGrupLlÉEncoInt srclStrn!AlphabeticalByLocation As Boolean srclStrnEndGInt lÉEncoInt declStrn!AlphabeticalByLocation As Boolean flagInt shrdInt EndGInt lÈPropGrupàlÊnameStrnFinishedRoutine CompStrnVsblInt sorcGrupDlËEncoInt srclStrnFinishedRoutine As Boolean srclStrnEndGInt lËEncoInt declStrnFinishedRoutine As Boolean flagInt shrdInt EndGInt lÊPropGruplÌnameStrnAlphabeticalByLocationHolderCompStrnVsblInt sorcGrupPlÍEncoInt srclStrn'AlphabeticalByLocationHolder As Boolean srclStrnEndGInt lÍEncoInt declStrn'AlphabeticalByLocationHolder As Boolean flagInt shrdInt EndGInt lÌPropGrupðlÎnameStrnLocationDetailsHolder CompStrnVsblInt sorcGrupHlÏEncoInt srclStrn LocationDetailsHolder As BooleansrclStrnEndGInt lÏEncoInt declStrn LocationDetailsHolder As BooleanflagInt shrdInt EndGInt lÎPropGrupØlÐnameStrn UpperBoundXML CompStrnVsblInt sorcGrup@lÑEncoInt srclStrnUpperBoundXML As IntegersrclStrnEndGInt lÑEncoInt declStrnUpperBoundXML As IntegerflagInt shrdInt EndGInt lÐPropGrupÈlÒnameStrnRowDone CompStrnVsblInt sorcGrup<lÓEncoInt srclStrnRowDone As String srclStrnEndGInt lÓEncoInt declStrnRowDone As String flagInt shrdInt EndGInt lÒPropGrupìlÔnameStrnUnexpandedListCount CompStrnVsblInt sorcGrupHlÕEncoInt srclStrnUnexpandedListCount As Integer srclStrnEndGInt lÕEncoInt declStrnUnexpandedListCount As Integer flagInt shrdInt EndGInt lÔPropGrupàlÖnameStrnNumberOfHexLinesCompStrnVsblInt sorcGrupDl×EncoInt srclStrnNumberOfHexLines As Integer srclStrnEndGInt l×EncoInt declStrnNumberOfHexLines As Integer flagInt shrdInt EndGInt lÖPropGrupàlØnameStrnBetweenMethods CompStrnVsblInt sorcGrupDlÙEncoInt srclStrnBetweenMethods As Integer srclStrnEndGInt lÙEncoInt declStrnBetweenMethods As Integer flagInt shrdInt EndGInt lØPropGrupìlÚnameStrnMajorIndentToRight CompStrnVsblInt sorcGrupHlÛEncoInt srclStrnMajorIndentToRight As Boolean srclStrnEndGInt lÛEncoInt declStrnMajorIndentToRight As Boolean flagInt shrdInt EndGInt lÚPropGrupìlÜnameStrnFrontSpacesToPutBackCompStrnVsblInt sorcGrupHlÝEncoInt srclStrnFrontSpacesToPutBack As Integer srclStrnEndGInt lÝEncoInt declStrnFrontSpacesToPutBack As Integer flagInt shrdInt EndGInt lÜPropGrupàlÞnameStrnVerticalMargin CompStrnVsblInt sorcGrupDlßEncoInt srclStrnVerticalMargin As Integer srclStrnEndGInt lßEncoInt declStrnVerticalMargin As Integer flagInt shrdInt EndGInt lÞPropGrupàlànameStrnStandardHeight CompStrnVsblInt sorcGrupDláEncoInt srclStrnStandardHeight As Integer srclStrnEndGInt láEncoInt declStrnStandardHeight As Integer flagInt shrdInt EndGInt làPropGrupÔlânameStrn SpaceBetweenCompStrnVsblInt sorcGrup@lãEncoInt srclStrnSpaceBetween As Integer srclStrnEndGInt lãEncoInt declStrnSpaceBetween As Integer flagInt shrdInt EndGInt lâPropGrupÌlänameStrn UsefulTop CompStrnVsblInt sorcGrup<låEncoInt srclStrnUsefulTop As IntegersrclStrnEndGInt låEncoInt declStrnUsefulTop As IntegerflagInt shrdInt EndGInt läPropGrupàlænameStrnHorizontalMarginCompStrnVsblInt sorcGrupDlçEncoInt srclStrnHorizontalMargin As Integer srclStrnEndGInt lçEncoInt declStrnHorizontalMargin As Integer flagInt shrdInt EndGInt læPropGrupÔlènameStrn BlockNumber CompStrnVsblInt sorcGrup@léEncoInt srclStrnBlockNumber As Integer srclStrnEndGInt léEncoInt declStrnBlockNumber As Integer flagInt shrdInt EndGInt lèPropGrupàlênameStrnControlName(-1) CompStrnVsblInt sorcGrupDlëEncoInt srclStrnControlName(-1) As String srclStrnEndGInt lëEncoInt declStrnControlName(-1) As String flagInt shrdInt EndGInt lêPropGrupÔlìnameStrn UBoundBlock CompStrnVsblInt sorcGrup@líEncoInt srclStrnUBoundBlock As Integer srclStrnEndGInt líEncoInt declStrnUBoundBlock As Integer flagInt shrdInt EndGInt lìPropGrupØlînameStrn UBoundControl CompStrnVsblInt sorcGrup@lïEncoInt srclStrnUBoundControl As IntegersrclStrnEndGInt lïEncoInt declStrnUBoundControl As IntegerflagInt shrdInt EndGInt lîPropGrupÔlðnameStrn FudgeFactor CompStrnVsblInt sorcGrup@lñEncoInt srclStrnFudgeFactor As Integer srclStrnEndGInt lñEncoInt declStrnFudgeFactor As Integer flagInt shrdInt EndGInt lðPropGrupÔlònameStrn NotFirstTimeCompStrnVsblInt sorcGrup@lóEncoInt srclStrnNotFirstTime As Boolean srclStrnEndGInt lóEncoInt declStrnNotFirstTime As Boolean flagInt shrdInt EndGInt lòPropGrupÈlônameStrnXLN(-1) CompStrnVsblInt sorcGrup<lõEncoInt srclStrnXLN(-1) As Integer srclStrnEndGInt lõEncoInt declStrnXLN(-1) As Integer flagInt shrdInt EndGInt lôPropGrup¼lönameStrnSLN CompStrnVsblInt sorcGrup8l÷EncoInt srclStrnSLN As Integer srclStrnEndGInt l÷EncoInt declStrnSLN As Integer flagInt shrdInt EndGInt löPropGrupàlønameStrnMainBufferBackupCompStrnVsblInt sorcGrupDlùEncoInt srclStrnMainBufferBackup As String srclStrnEndGInt lùEncoInt declStrnMainBufferBackup As String flagInt shrdInt EndGInt løPropGrupälúnameStrnModificationsMade CompStrnVsblInt sorcGrupDlûEncoInt srclStrnModificationsMade As String srclStrnEndGInt lûEncoInt declStrnModificationsMade As String flagInt shrdInt EndGInt lúPropGrupàlünameStrnCurrentBookmark CompStrnVsblInt sorcGrupDlýEncoInt srclStrnCurrentBookmark As Bookmark srclStrnEndGInt lýEncoInt declStrnCurrentBookmark As Bookmark flagInt shrdInt EndGInt lüPropGrupälþnameStrnLastBookmarkClick CompStrnVsblInt sorcGrupDlÿEncoInt srclStrnLastBookmarkClick As IntegersrclStrnEndGInt lÿEncoInt declStrnLastBookmarkClick As IntegerflagInt shrdInt EndGInt lþPropGrupämnameStrnBuildingBookmarks CompStrnVsblInt sorcGrupDmEncoInt srclStrnBuildingBookmarks As BooleansrclStrnEndGInt mEncoInt declStrnBuildingBookmarks As BooleanflagInt shrdInt EndGInt mPropGrupØmnameStrn BookmarkLines CompStrnVsblInt sorcGrup@mEncoInt srclStrnBookmarkLines As IntegersrclStrnEndGInt mEncoInt declStrnBookmarkLines As IntegerflagInt shrdInt EndGInt mPropGrupÌmnameStrn Programmer CompStrnVsblInt sorcGrup<mEncoInt srclStrnProgrammer As StringsrclStrnEndGInt mEncoInt declStrnProgrammer As StringflagInt shrdInt EndGInt mPropGrupÈmnameStrnMakeMenuCompStrnVsblInt sorcGrup<mEncoInt srclStrnMakeMenu As Boolean srclStrnEndGInt mEncoInt declStrnMakeMenu As Boolean flagInt shrdInt EndGInt mPropGrupämnameStrnFirstTImeMainMenu CompStrnVsblInt sorcGrupDm EncoInt srclStrnFirstTImeMainMenu As BooleansrclStrnEndGInt m EncoInt declStrnFirstTImeMainMenu As BooleanflagInt shrdInt EndGInt mPropGrupüm nameStrnWordsInsideProcedures(-1) CompStrnVsblInt sorcGrupLm EncoInt srclStrn#WordsInsideProcedures(-1) As String srclStrnEndGInt m EncoInt declStrn#WordsInsideProcedures(-1) As String flagInt shrdInt EndGInt m PropGrupøm nameStrnControlEventHandlers(-1)CompStrnVsblInt sorcGrupLm EncoInt srclStrn"ControlEventHandlers(-1) As String srclStrnEndGInt m EncoInt declStrn"ControlEventHandlers(-1) As String flagInt shrdInt EndGInt m PropGrupÈmnameStrnSetting CompStrnVsblInt sorcGrup<mEncoInt srclStrnSetting As String srclStrnEndGInt mEncoInt declStrnSetting As String flagInt shrdInt EndGInt mPropGrupømnameStrnGeneralEventHandlers(-1)CompStrnVsblInt sorcGrupLmEncoInt srclStrn"GeneralEventHandlers(-1) As String srclStrnEndGInt mEncoInt declStrn"GeneralEventHandlers(-1) As String flagInt shrdInt EndGInt mPropGrupàmnameStrnProjectInfo(-1) CompStrnVsblInt sorcGrupDmEncoInt srclStrnProjectInfo(-1) As String srclStrnEndGInt mEncoInt declStrnProjectInfo(-1) As String flagInt shrdInt EndGInt mPropGrupàmnameStrnParticularMethodCompStrnVsblInt sorcGrupDmEncoInt srclStrnParticularMethod As String srclStrnEndGInt mEncoInt declStrnParticularMethod As String flagInt shrdInt EndGInt mPropGrupÈmnameStrnUnused()CompStrnVsblInt sorcGrup<mEncoInt srclStrnUnused() As String srclStrnEndGInt mEncoInt declStrnUnused() As String flagInt shrdInt EndGInt mPropGrupìmnameStrnMainMenuListBoxWidthCompStrnVsblInt sorcGrupHmEncoInt srclStrnMainMenuListBoxWidth As Integer srclStrnEndGInt mEncoInt declStrnMainMenuListBoxWidth As Integer flagInt shrdInt EndGInt mPropGrupômnameStrnXMLLineNumbersWantedCompStrnVsblInt sorcGrupHmEncoInt srclStrnXMLLineNumbersWanted As Boolean srclStrnEndGInt mEncoInt declStrn'XMLLineNumbersWanted As Boolean = false flagInt shrdInt EndGInt mPropGrupìmnameStrnSourceScrollPositionCompStrnVsblInt sorcGrupHmEncoInt srclStrnSourceScrollPosition As Integer srclStrnEndGInt mEncoInt declStrnSourceScrollPosition As Integer flagInt shrdInt EndGInt mPropGrupämnameStrnXMLScrollPosition CompStrnVsblInt sorcGrupDmEncoInt srclStrnXMLScrollPosition As IntegersrclStrnEndGInt mEncoInt declStrnXMLScrollPosition As IntegerflagInt shrdInt EndGInt mPropGrupôm nameStrnWantXMLLineNumbers CompStrnVsblInt sorcGrupHm!EncoInt srclStrnWantXMLLineNumbers As Boolean srclStrnEndGInt m!EncoInt declStrn%WantXMLLineNumbers As Boolean = False flagInt shrdInt EndGInt m PropGrupÈm"nameStrnLongDateCompStrnVsblInt sorcGrup<m#EncoInt srclStrnLongDate As String srclStrnEndGInt m#EncoInt declStrnLongDate As String flagInt shrdInt EndGInt m"PropGrupÌm$nameStrn ShortTime CompStrnVsblInt sorcGrup<m%EncoInt srclStrnShortTime As String srclStrnEndGInt m%EncoInt declStrnShortTime As String flagInt shrdInt EndGInt m$PropGrupÔm&nameStrn PageNumber CompStrnVsblInt sorcGrup@m'EncoInt srclStrnPageNumber As Integer srclStrnEndGInt m'EncoInt declStrnPageNumber As Integer flagInt shrdInt EndGInt m&PropGrupÔm(nameStrn InsideMethodCompStrnVsblInt sorcGrup@m)EncoInt srclStrnInsideMethod As Boolean srclStrnEndGInt m)EncoInt declStrnInsideMethod As Boolean flagInt shrdInt EndGInt m(PropGrupàm*nameStrnOriginalXMLSize CompStrnVsblInt sorcGrupDm+EncoInt srclStrnOriginalXMLSize As Integer srclStrnEndGInt m+EncoInt declStrnOriginalXMLSize As Integer flagInt shrdInt EndGInt m*PropGrupÈm,nameStrnNewName CompStrnVsblInt sorcGrup<m-EncoInt srclStrnNewName As String srclStrnEndGInt m-EncoInt declStrnNewName As String flagInt shrdInt EndGInt m,PropGrupÈm.nameStrnOldName CompStrnVsblInt sorcGrup<m/EncoInt srclStrnOldName As String srclStrnEndGInt m/EncoInt declStrnOldName As String flagInt shrdInt EndGInt m.PropGrupm0nameStrn#WordsInsideProceduresExceptDims(-1) CompStrnVsblInt sorcGrupXm1EncoInt srclStrn-WordsInsideProceduresExceptDims(-1) As String srclStrnEndGInt m1EncoInt declStrn-WordsInsideProceduresExceptDims(-1) As String flagInt shrdInt EndGInt m0PropGrupÔm2nameStrn IsRealSourceCompStrnVsblInt sorcGrup@m3EncoInt srclStrnIsRealSource As Boolean srclStrnEndGInt m3EncoInt declStrnIsRealSource As Boolean flagInt shrdInt EndGInt m2PropGrupÌm4nameStrn KindOfLine CompStrnVsblInt sorcGrup<m5EncoInt srclStrnKindOfLine As StringsrclStrnEndGInt m5EncoInt declStrnKindOfLine As StringflagInt shrdInt EndGInt m4PropGrupàm6nameStrnGetNextControl CompStrnVsblInt sorcGrupDm7EncoInt srclStrnGetNextControl As Boolean srclStrnEndGInt m7EncoInt declStrnGetNextControl As Boolean flagInt shrdInt EndGInt m6PropGrup¼m8nameStrnPropCompStrnVsblInt sorcGrup8m9EncoInt srclStrnProp As Integer srclStrnEndGInt m9EncoInt declStrnProp As Integer flagInt shrdInt EndGInt m8PropGrupØm:nameStrn MethodDetails CompStrnVsblInt sorcGrup@m;EncoInt srclStrnMethodDetails As BooleansrclStrnEndGInt m;EncoInt declStrnMethodDetails As BooleanflagInt shrdInt EndGInt m:PropGrupÔmnameStrn BalloonHelp EncoInt PValStrnEndGInt m>PDefGrup<m?nameStrnImplicitInstanceEncoInt PValStrnTrueEndGInt m?PDefGrup0m@nameStrnMenuBar PValStrn -1111917516 EndGInt m@PDefGrup(mAnameStrn MacProcID PValInt EndGInt mAPDefGrup0mBnameStrnMinimizeButton PValStrnTrueEndGInt mBPDefGrup0mCnameStrnMaximizeButton PValStrnTrueEndGInt mCPDefGrup0mDnameStrn LiveResize PValStrnFalse EndGInt mDPDefGrup,mEnameStrn Resizeable PValStrnTrueEndGInt mEPDefGrup,mFnameStrn CloseButton PValStrnTrueEndGInt mFPDefGrup0mGnameStrnMenuBarVisible PValStrnTrueEndGInt mGPDefGrup0mHnameStrn FullScreen PValStrnFalse EndGInt mHPDefGrup(mInameStrnVisible PValStrnTrueEndGInt mIPDefGrupPmJnameStrnTitle EncoInt PValStrnRB CodeHelper by Barry Traver EndGInt mJPDefGrup(mKnameStrnBackdropPValStrn0 EndGInt mKPDefGrup(mLnameStrn BackColor PValInt ÿÿÿEndGInt mLPDefGrup0mMnameStrn HasBackColorPValStrnFalse EndGInt mMPDefGrup0mNnameStrn Composite PValStrnFalse EndGInt mNPDefGrup$mOnameStrnFrame PValInt EndGInt mOPDefGrup(mPnameStrn MaxHeight PValInt }EndGInt mPPDefGrup$mQnameStrnMaxWidthPValInt }EndGInt mQPDefGrup(mRnameStrn MinHeight PValInt ×EndGInt mRPDefGrup$mSnameStrnMinWidthPValInt  EndGInt mSPDefGrup$mTnameStrnHeight PValInt 1EndGInt mTPDefGrup$mUnameStrnWidth PValInt EndGInt mUPDefGrup(mVnameStrn Placement PValInt EndGInt mVVwBhGrup: mWVwPrGrupDmXNameStrnNameVsblInt PrGpStrnID CPifStrnWindow EndGInt mXVwPrGrupLmYNameStrn Interfaces VsblInt PrGpStrnID CPifStrnWindow EndGInt mYVwPrGrupHmZNameStrnSuper VsblInt PrGpStrnID CPifStrnWindow EndGInt mZVwPrGrup0m[NameStrn Placement VsblInt PrGpStrnPositionPValStrn0 typeStrnInteger vbETStrnEnumCPifStrnWindow EnumGrup”m\defnStrn 0 - Default defnStrn1 - Parent Window defnStrn2 - Main Screen defnStrn3 - Parent Window ScreendefnStrn 4 - Stagger EndGInt m\EndGInt m[VwPrGruppm]NameStrnWidth VsblInt PrGpStrnPositionPValStrn300 typeStrnInteger CPifStrnWindow EndGInt m]VwPrGruppm^NameStrnHeight VsblInt PrGpStrnPositionPValStrn300 typeStrnInteger CPifStrnWindow EndGInt m^VwPrGruppm_NameStrnMinWidthVsblInt PrGpStrnPositionPValStrn64 typeStrnInteger CPifStrnWindow EndGInt m_VwPrGruptm`NameStrn MinHeight VsblInt PrGpStrnPositionPValStrn64 typeStrnInteger CPifStrnWindow EndGInt m`VwPrGruptmaNameStrnMaxWidthVsblInt PrGpStrnPositionPValStrn32000 typeStrnInteger CPifStrnWindow EndGInt maVwPrGrupxmbNameStrn MaxHeight VsblInt PrGpStrnPositionPValStrn32000 typeStrnInteger CPifStrnWindow EndGInt mbVwPrGrup mcNameStrnFrame VsblInt PrGpStrn Appearance PValStrn0 typeStrnInteger vbETStrnEnumCPifStrnWindow EnumGruppmddefnStrn 0 - DocumentdefnStrn1 - Movable Modal defnStrn2 - Modal DialogdefnStrn3 - Floating Window defnStrn 4 - Plain Box defnStrn5 - Shadowed BoxdefnStrn6 - Rounded Window defnStrn7 - Global Floating Window defnStrn8 - Sheet WindowdefnStrn9 - Metal WindowdefnStrn10 - Drawer Window defnStrn11 - Modeless DialogEndGInt mdEndGInt mcVwPrGrup|meNameStrn Composite VsblInt PrGpStrn Appearance PValStrnFalse typeStrnBoolean CPifStrnWindow EndGInt meVwPrGrup|mfNameStrn HasBackColorVsblInt PrGpStrn Appearance PValStrnFalse typeStrnBoolean CPifStrnWindow EndGInt mfVwPrGrup|mgNameStrn BackColor VsblInt PrGpStrn Appearance PValStrn&hFFFFFFtypeStrnColor CPifStrnWindow EndGInt mgVwPrGrupxmhNameStrnBackdropVsblInt PrGpStrn Appearance typeStrnPicture vbETStrnPicture CPifStrnWindow EndGInt mhVwPrGrupxmiNameStrnTitle VsblInt PrGpStrn Appearance PValStrnUntitledtypeStrnString CPifStrnWindow EndGInt miVwPrGruptmjNameStrnVisible VsblInt PrGpStrn Appearance PValStrnTruetypeStrnBoolean CPifStrnWindow EndGInt mjVwPrGrup|mkNameStrn FullScreen VsblInt PrGpStrn Appearance PValStrnFalse typeStrnBoolean CPifStrnWindow EndGInt mkVwPrGrup|mlNameStrnMenuBarVisible VsblInt PrGpStrn Appearance PValStrnTruetypeStrnBoolean CPifStrnWindow EndGInt mlVwPrGrupxmmNameStrn CloseButton VsblInt PrGpStrn Appearance PValStrnTruetypeStrnBoolean CPifStrnWindow EndGInt mmVwPrGrup|mnNameStrn Resizeable VsblInt PrGpStrn Appearance PValStrnFalse typeStrnBoolean CPifStrnWindow EndGInt mnVwPrGrupxmoNameStrn LiveResize VsblInt PrGpStrn Appearance PValStrnTruetypeStrnBoolean CPifStrnWindow EndGInt moVwPrGrup€mpNameStrnMaximizeButton VsblInt PrGpStrn Appearance PValStrnFalse typeStrnBoolean CPifStrnWindow EndGInt mpVwPrGrup|mqNameStrnMinimizeButton VsblInt PrGpStrn Appearance PValStrnTruetypeStrnBoolean CPifStrnWindow EndGInt mqVwPrGrupxmrNameStrn MacProcID VsblInt PrGpStrn Appearance PValStrn0 typeStrnInteger CPifStrnWindow EndGInt mrVwPrGrupxmsNameStrnMenuBar VsblInt PrGpStrn Appearance typeStrnMenuBar vbETStrnMenuBar CPifStrnWindow EndGInt msVwPrGrup|mtNameStrnImplicitInstanceVsblInt PrGpStrn Appearance PValStrnTruevbETStrnBoolean CPifStrnWindow EndGInt mtVwPrGrup`muNameStrn KindOfList PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt muVwPrGrupTmvNameStrn AddMsgBox PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt mvVwPrGrupXmwNameStrnBlankLineAdded PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt mwVwPrGrup\mxNameStrnComment PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mxVwPrGrupXmyNameStrn ControlNumber PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt myVwPrGrupXmzNameStrnCR PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mzVwPrGruppm{NameStrnCurrentControl VsblInt PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m{VwPrGrupdm|NameStrnCurrentMenuItem PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m|VwPrGrupdm}NameStrn CurrentMethod PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m}VwPrGrupdm~NameStrn CurrentModule PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m~VwPrGrupdmNameStrnEditFieldDisplayPrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mVwPrGruphm€NameStrnEditFieldEndOfLine PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m€VwPrGrup\mNameStrnEditingXMLRightNow PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt mVwPrGrupXm‚NameStrnFileJustLoaded PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt m‚VwPrGrupTmƒNameStrn FileSaved PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt mƒVwPrGrupTm„NameStrn IndentFactorPrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m„VwPrGrupTm…NameStrn IndentLevel PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m…VwPrGrup\m†NameStrnLastSearchPosition PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m†VwPrGrupXm‡NameStrnLF PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m‡VwPrGrup`mˆNameStrn MainBuffer PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mˆVwPrGrup\m‰NameStrnMakeDisplaySource PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt m‰VwPrGrup`mŠNameStrn NameOfFile PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mŠVwPrGruplm‹NameStrnOriginalFileEndOfLine PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m‹VwPrGrup\mŒNameStrnPiece PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mŒVwPrGrup\mNameStrnSource PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mVwPrGrupdmŽNameStrnSourceCodeLine PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mŽVwPrGruphmNameStrnSourceDisplayBuffer PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mVwPrGrup\mNameStrnSourceDisplayChangedPrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt mVwPrGrupdm‘NameStrn StartOfIndent PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m‘VwPrGrup\m’NameStrnTagAfterPrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m’VwPrGrup`m“NameStrn TagBefore PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m“VwPrGrup`m”NameStrn TaskSelectedPrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m”VwPrGrupdm•NameStrn TempWholeLine PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m•VwPrGrup`m–NameStrn TextHolder PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m–VwPrGrup`m—NameStrn TrimSource PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m—VwPrGrupTm˜NameStrn XMLChanged PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt m˜VwPrGrupdm™NameStrnXMLDisplayBufferPrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m™VwPrGrup\mšNameStrnXMLDisplayChanged PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt mšVwPrGrup\m›NameStrnXMLLine PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m›VwPrGrupXmœNameStrn XMLLineNumber PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt mœVwPrGrup`mNameStrn ModuleType PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mVwPrGrupXmžNameStrnLocationDetails PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt mžVwPrGrup`mŸNameStrnAlphabeticalByLocation PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt mŸVwPrGrupXm NameStrnFinishedRoutine PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt m VwPrGrupdm¡NameStrnAlphabeticalByLocationHolderPrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt m¡VwPrGrup`m¢NameStrnLocationDetailsHolder PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt m¢VwPrGrupXm£NameStrn UpperBoundXML PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m£VwPrGrup\m¤NameStrnRowDone PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m¤VwPrGrup\m¥NameStrnUnexpandedListCount PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m¥VwPrGrupXm¦NameStrnNumberOfHexLinesPrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m¦VwPrGrupXm§NameStrnBetweenMethods PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m§VwPrGrup\m¨NameStrnMajorIndentToRight PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt m¨VwPrGrup\m©NameStrnFrontSpacesToPutBackPrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m©VwPrGrupXmªNameStrnVerticalMargin PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt mªVwPrGrupXm«NameStrnStandardHeight PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m«VwPrGrupTm¬NameStrn SpaceBetweenPrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m¬VwPrGrupTm­NameStrn UsefulTop PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m­VwPrGrupXm®NameStrnHorizontalMarginPrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m®VwPrGrupTm¯NameStrn BlockNumber PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m¯VwPrGrupTm°NameStrn UBoundBlock PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m°VwPrGrupXm±NameStrn UBoundControl PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m±VwPrGrupTm²NameStrn FudgeFactor PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m²VwPrGrupdm³NameStrnParticularMethodPrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m³VwPrGrupTm´NameStrn NotFirstTimePrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt m´VwPrGrupLmµNameStrnSLN PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt mµVwPrGrupdm¶NameStrnMainBufferBackupPrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m¶VwPrGruphm·NameStrnModificationsMade PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m·VwPrGrup\m¸NameStrnLastBookmarkClick PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m¸VwPrGrup\m¹NameStrnBuildingBookmarks PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt m¹VwPrGrupXmºNameStrn BookmarkLines PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt mºVwPrGrup`m»NameStrn Programmer PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m»VwPrGrupPm¼NameStrnMakeMenuPrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt m¼VwPrGrup\m½NameStrnFirstTImeMainMenu PrGpStrnBehaviorPValStrn0 typeStrnBoolean EndGInt m½VwPrGrup\m¾NameStrnSetting PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt m¾VwPrGrup\m¿NameStrnMainMenuListBoxWidthPrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt m¿VwPrGrup\mÀNameStrnSourceScrollPositionPrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt mÀVwPrGrup\mÁNameStrnXMLScrollPosition PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt mÁVwPrGrup`mÂNameStrnXMLLineNumbersWantedPrGpStrnBehaviorPValStrnfalse typeStrnBoolean EndGInt mÂVwPrGrup`mÃNameStrnWantXMLLineNumbers PrGpStrnBehaviorPValStrnFalse typeStrnBoolean EndGInt mÃVwPrGrup\mÄNameStrnLongDatePrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mÄVwPrGrup`mÅNameStrn ShortTime PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mÅVwPrGrupTmÆNameStrn PageNumber PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt mÆVwPrGrupDmÇNameStrn InsideMethodPrGpStrnBehaviortypeStrnBoolean EndGInt mÇVwPrGrupHmÈNameStrnOriginalXMLSize PrGpStrnBehaviortypeStrnInteger EndGInt mÈVwPrGrup\mÉNameStrnNewName PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mÉVwPrGrup\mÊNameStrnOldName PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mÊVwPrGrupDmËNameStrn IsRealSourcePrGpStrnBehaviortypeStrnBoolean EndGInt mËVwPrGrup`mÌNameStrn KindOfLine PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt mÌVwPrGrupHmÍNameStrnGetNextControl PrGpStrnBehaviortypeStrnBoolean EndGInt mÍVwPrGrup<mÎNameStrnPropPrGpStrnBehaviortypeStrnInteger EndGInt mÎVwPrGrupHmÏNameStrn MethodDetails PrGpStrnBehaviortypeStrnBoolean EndGInt mÏVwPrGrupDmÐNameStrn UpperBound PrGpStrnBehaviortypeStrnInteger EndGInt mÐEndGInt mWCnstGrupˆmÑnameStrn MainMenuPanel CompStrnVsblInt EncoInt nameStrn MainMenuPanel typeInt defnStrn0 flagInt EndGInt mÑCnstGrup€mÒnameStrn SourcePanel CompStrnVsblInt EncoInt nameStrn SourcePanel typeInt defnStrn1 flagInt EndGInt mÒCnstGrupxmÓnameStrnXMLPanelCompStrnVsblInt EncoInt nameStrnXMLPaneltypeInt defnStrn2 flagInt EndGInt mÓCnstGrup€mÔnameStrn ResultsPanelCompStrnVsblInt EncoInt nameStrn ResultsPaneltypeInt defnStrn3 flagInt EndGInt mÔCBhvGrup HmÕSuprStrnTabPanelHInsGrupTmÖnameStrnChange CompStrnVsblInt sorcGrup m×EncoInt srclStrn Sub Change()srclStrnsrclStrn ZapFileMenu srclStrnsrclStrnGIf TabPanel1.Value = ResultsPanel And ResultsListbox.ListCount > 0 Then srclStrnsrclStrnmnuOpenXML.Visible = True srclStrnmnuSeparator1.Visible = TruesrclStrnmnuPrintResults.Visible = True srclStrnmnuSaveResults.Visible = True srclStrnmnuSeparator2.Visible =True srclStrnmnuSaveXML.Visible = True srclStrnmnuSeparator3.Visible = TruesrclStrnmnuQuit.Visible = True srclStrnsrclStrn>ElseIf TabPanel1.Value = SourcePanel And MainBuffer <> "" Then srclStrnsrclStrnmnuOpenXML.Visible = True srclStrnmnuSeparator1.Visible = TruesrclStrnmnuPrintSource.Visible = True srclStrnmnuSaveSource.Visible = TruesrclStrnmnuSeparator2.Visible =True srclStrnmnuSaveXML.Visible = True srclStrnmnuSeparator3.Visible = TruesrclStrnmnuQuit.Visible = True srclStrnsrclStrn:ElseIf TabPanel1.Value =XMLPanel And MainBuffer <> "" Then srclStrnsrclStrnmnuOpenXML.Visible = True srclStrnmnuSeparator1.Visible = TruesrclStrnmnuPrintXML.Visible = True srclStrnmnuSaveXML.Visible = True srclStrnmnuSeparator2.Visible =True srclStrnmnuSaveXML.Visible = True srclStrnmnuSeparator3.Visible = TruesrclStrnmnuQuit.Visible = True srclStrnsrclStrnEnd If srclStrnsrclStrnsrclStrn('If TabPanel1.Value = MainMenuPanel ThensrclStrn'MainMenuListBox.SetFocus srclStrn'End If srclStrn&'If TabPanel1.Value = SourcePanel Then srclStrn'If ( SourceDisplayChanged = True Or MainBuffer = "" ) And TaskSelected <> "70. Display Source Code for a Particular Method" Then srclStrn'DisplaySourceCode srclStrn'End If srclStrn''ElseIf TabPanel1.Value = XMLPanel Then srclStrnQ'If XMLDisplayChanged = True Or MainBuffer = "" Or WantXMLLineNumbers = True Then srclStrn 'DisplayXML srclStrn'End If srclStrn'End If srclStrnsrclStrnsrclStrnsrclStrnsrclStrnsrclStrnsrclStrnEnd Sub EndGInt m×EndGInt mÖHInsGrup´mØnameStrnKeyDown CompStrnVsblInt sorcGruplmÙEncoInt srclStrn*Function KeyDown(Key As String) As Boolean srclStrnIf Asc ( Key ) = 202 Then srclStrn%If TabPanel1.Value = SourcePanel Then srclStrn SearchSourcesrclStrnElse srclStrn"If TabPanel1.Value = XMLPanel Then srclStrn SearchXML srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrn End FunctionEndGInt mÙEndGInt mØHInsGrupàmÚnameStrn MouseDown CompStrnVsblInt sorcGrup”mÛEncoInt srclStrn9Function MouseDown(X As Integer, Y As Integer) As Boolean srclStrnKindOfList = "Main Menu"srclStrn End FunctionEndGInt mÛEndGInt mÚEndGInt mÕCBhvGrupmÜSuprStrn TextField EndGInt mÜCBhvGrupÜmÝSuprStrn TextField HInsGrup¨mÞnameStrn TextChange CompStrnVsblInt sorcGrup\mßEncoInt srclStrnSub TextChange()srclStrn*If MainMenuOldNameText.Visible = True Then srclStrn/If Len ( MainMenuOldNameEditField.Text ) <> 0 _ srclStrn3And Len ( MainMenuNewNameEditField.Text ) <> 0 Then srclStrn4MainMenuBottomPushButton.Caption = "Make the Change"srclStrnEnd If srclStrnEnd If srclStrnEnd Sub EndGInt mßEndGInt mÞEndGInt mÝCBhvGrupmàSuprStrnLabel EndGInt màCBhvGrupmáSuprStrnLabel EndGInt máCBhvGrup8mâSuprStrn PushButton HInsGrupmãnameStrnAction CompStrnVsblInt sorcGrup¼mäEncoInt srclStrn Sub Action()srclStrn>If MainMenuBottomPushButton.Caption = "Back To Main Menu" Then srclStrn"TaskSelected = "Back To Main Menu" srclStrnKindOfList = "Main Menu"srclStrnPerformTheTask srclStrnExitsrclStrnEnd If srclStrn)If ( MainMenuNewNameEditField.Text = "" _ srclStrn/And TaskSelected <> "Add Procedure Headers 2" _ srclStrn4And TaskSelected <> "Change a Particular Name 2" ) _srclStrn0Or MainMenuNewNameEditField.Visible = False ThensrclStrn /// Do nothingsrclStrnElse srclStrn,If MainMenuOldNameText.Visible = False And _srclStrn/TaskSelected <> "Add Procedure Headers 2" And _ srclStrnFTaskSelected <> "70. Display Source Code For A Particular Method" Then srclStrn,TaskSelected = MainMenuNewNameEditField.TextsrclStrnEnd If srclStrn#TaskSelected = MainMenuListBox.Text srclStrnPerformTheTask srclStrnEnd If srclStrnEnd Sub EndGInt mäEndGInt mãEndGInt mâCBhvGrup+ˆmåSuprStrnListBox HInsGrupømænameStrn CellTextPaint CompStrnVsblInt sorcGrup¨mçEncoInt srclStrnoFunction CellTextPaint(g As Graphics, row As Integer, column As Integer, x as Integer, y as Integer) As Boolean srclStrn'Dim A, B, C As Integer srclStrn'A = Val ( Me.ColumnWidths ) srclStrn3'B = g.stringwidth ( Me.Cell ( Row, Column ) ) + 35 srclStrn'C = Max ( A, B ) srclStrn'Me.ColumnWidths = Str ( C ) srclStrn'MainMenuListBoxWidth = C srclStrn End FunctionEndGInt mçEndGInt mæHInsGrupˆmènameStrnChange CompStrnVsblInt sorcGrup@méEncoInt srclStrn Sub Change()srclStrnMainMenuListBox.Refresh srclStrn If KindOfList = "Main Menu" ThensrclStrn Select Case MainMenuListBox.TextsrclStrnCase "Add Automatic Comments" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnCase "Add Comment Symbols" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnCase "Add Headers Or Footers" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnCase "Alphabetize Methods" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn3Case "Alphabetize For Printing from within the IDE" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnCase "Change Character Spacing" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnCase "Change Line Spacing" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnCase "Change Particular Name" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnCase "Conform in Case" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn Case "Debug"srclStrn) //For I = 0 to UBound (XLN) srclStrn3 //MsgBox Str(I) + " " + Str(XLN(I)) srclStrn //Next I srclStrn2 //MainMenuNewNameEditField.Text = "" srclStrn8 //MainMenuBottomPushButton.Visible = FalsesrclStrn(Case "Display List of Names by Location"srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn)Case "Display List of Names with Details" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn>Case "Display of Source Code with or without XML Line Numbers" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn#Case "Display Simple List of Names" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnCase "Display Source Code" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn'Case "Increase Or Decrease Indentation" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn%Case "Locate Unnecessary Definitions" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn#Case "Obfuscate by Switching Names" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn"Case "Perform Miscellaneous Tasks" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnCase "Prefix Method Names" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn Case "Remove Automatic Comments"srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnCase "Remove Comment Symbols" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn Case "Remove Headers Or Footers"srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnCase "Remove Other Comments"srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnCase "Show Method Dependencies" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrn%Case "Unobfuscate by Switching Names" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnCase "Work with Dim Statements" srclStrn"MainMenuNewNameEditField.Text = "" srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnElse srclStrn4MainMenuNewNameEditField.Text = MainMenuListBox.TextsrclStrn'MainMenuBottomPushButton.Visible = True srclStrn End Select srclStrnElse srclStrn/If MainMenuOldNameEditField.Visible = True Then srclStrn4MainMenuOldNameEditField.Text = MainMenuListBox.TextsrclStrn"MainMenuNewNameEditField.Text = "" srclStrnElse srclStrnIf KindOfList = "Methods" Then srclStrn4MainMenuNewNameEditField.Text = MainMenuListBox.TextsrclStrn:ParticularMethod = Trim ( MainMenuNewNameEditField.Text ) srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrnEnd Sub EndGInt méEndGInt mèHInsGrup„mênameStrn CollapseRow CompStrnVsblInt sorcGrup8mëEncoInt srclStrnSub CollapseRow(row As Integer) srclStrnDim I, NSubRows, u As Integer srclStrn&//MainMenuListBox.ColumnWidths = "500" srclStrn4NSubRows = CountFields ( Me.Cell ( Row, 1 ) , "," ) srclStrn u = Row + 1 srclStrnFor I = Row + NSubRows DownTo u srclStrnMe.RemoveRow I srclStrn Next I srclStrn&//MainMenuListBox.ColumnWidths = "500" srclStrn&// MainMenuListBox.ScrollPosition = 0 srclStrn-MainMenuBottomPushButton.Visible = False///// srclStrnsrclStrn/////// srclStrnsrclStrnLIf MainMenuListBox.ScrollPosition = 1 And MainMenuListBox.ListIndex = 0 ThensrclStrn"MainMenuListBox.ScrollPosition = 0 srclStrnMainMenuListBox.ListIndex = 0 srclStrnElsesrclStrnLMainMenuListBox.ScrollPosition = MainMenuListBox.ScrollPosition ///// 44- 1srclStrnEnd If srclStrnsrclStrnsrclStrnC//If MainMenuListBox.ListCount - MainMenuListBox.ListIndex < 3 Then srclStrn=//MainMenuListBox.ListIndex = MainMenuListBox.ListCount - 1 srclStrn//MsgBox "Pause"srclStrn//End IfsrclStrnsrclStrn?//MsgBox "LC" + EOL + Str ( MainMenuListBox.ListCount ) + EOL _ srclStrn4//+ "LI" + EOL + Str ( MainMenuListBox.ListIndex ) srclStrnsrclStrnsrclStrnsrclStrnsrclStrnsrclStrnsrclStrnsrclStrnEnd Sub EndGInt mëEndGInt mêHInsGrupÀmìnameStrn DoubleClick CompStrnVsblInt sorcGruptmíEncoInt srclStrnSub DoubleClick() srclStrn?If TaskSelected = "Display Source Code For Entire Project" Or _ srclStrnETaskSelected = "70. DIsplay Source Code for A Particular Method" Then srclStrnSourceDisplayChanged = True srclStrnEnd If srclStrnMainMenuListBox.Refresh srclStrn@Me.Expanded ( Me.ListIndex ) = Not Me.Expanded ( Me.ListIndex ) srclStrn RowDone = ""srclStrn>//MainMenuListBox.ColumnWidths = Str ( MainMenuListBoxWidth ) srclStrn If KindOfList = "Main Menu" ThensrclStrnTaskSelected = Me.Text srclStrnEnd If srclStrnPerformTheTask srclStrnEnd Sub EndGInt míEndGInt mìHInsGrup mînameStrn ExpandRow CompStrnVsblInt sorcGrup¼mïEncoInt srclStrnSub ExpandRow(row As Integer) srclStrnDim Change As Integer srclStrnDim ExpandedAbove As BooleansrclStrnDim I, NewRow As IntegersrclStrnDim S1 As StringsrclStrnDim ScrPos, u As IntegersrclStrn'ScrPos = MainMenuListBox.ScrollPosition srclStrnExpandedAbove = False srclStrnFor I = 0 To Row - 1srclStrn-If MainMenuListBox.Expanded ( I ) = True Then srclStrnExpandedAbove = TruesrclStrnEnd If srclStrn Next I srclStrnIf ExpandedAbove = True ThensrclStrnCNewRow = Row - ( MainMenuListBox.ListCount - UnexpandedListCount ) srclStrn8Change = MainMenuListBox.ListCount - UnexpandedListCountsrclStrnElse srclStrn NewRow = RowsrclStrn Change = 0 srclStrnEnd If srclStrnS1 = Me.Cell ( Row, 1 ) srclStrnu = CountFields ( S1, "*" ) srclStrnFor I = 1 To u srclStrn Me.AddRow ""srclStrn6Me.Cell ( Me.LastIndex, 0 ) = NthField ( S1, "*", I ) srclStrn Next I srclStrn!For I = Me.ListCount - 1 DownTo 0 srclStrn*If I <> Row Then Me.Expanded ( I ) = False srclStrn Next I srclStrn!If MainMenuListBoxWidth <> 0 Then srclStrn>//MainMenuListBox.ColumnWidths = Str ( MainMenuListBoxWidth ) srclStrnEnd If srclStrn5MainMenuListBox.ScrollPosition = ScrPos - Change + 1 srclStrn(MainMenuBottomPushButton.Visible = FalsesrclStrnsrclStrn/////// srclStrnsrclStrnLIf MainMenuListBox.ScrollPosition = 1 And MainMenuListBox.ListIndex = 0 ThensrclStrn"MainMenuListBox.ScrollPosition = 0 srclStrnMainMenuListBox.ListIndex = 0 srclStrnElsesrclStrnCMainMenuListBox.ScrollPosition = MainMenuListBox.ScrollPosition - 1 srclStrnEnd If srclStrnsrclStrnC//If MainMenuListBox.ListCount - MainMenuListBox.ListIndex < 3 Then srclStrn - 1 ThensrclStrn- //If SLN <= Ubound ( XLN ) Then srclStrn9 //XMLEditField.ScrollPosition = XLN ( SLN ) srclStrn //ElsesrclStrnD //XMLEditField.ScrollPosition = XLN ( Ubound ( XLN ) )srclStrn //End If srclStrn //End If srclStrnEnd Sub EndGInt nEndGInt mÿEndGInt möCBhvGrup0nSuprStrn TextField HInsGrupünnameStrnKeyDown CompStrnVsblInt sorcGrup´nEncoInt srclStrn*Function KeyDown(Key As String) As Boolean srclStrnIf Asc ( Key ) = 202 Then srclStrn SearchSourcesrclStrnEnd If srclStrn End FunctionEndGInt nEndGInt nEndGInt nCBhvGrupônSuprStrnCheckBoxHInsGrup°nnameStrnAction CompStrnVsblInt sorcGruphnEncoInt srclStrn Sub Action()srclStrn#If SourceCheckBox.Value = True Then srclStrn+LastSearchPosition = LastSearchPosition - 1 srclStrnIf LastSearchPosition < 0 Then srclStrnLastSearchPosition = 0 srclStrnEnd If srclStrnElse srclStrn+LastSearchPosition = LastSearchPosition + 1 srclStrnEnd If srclStrnEnd Sub EndGInt nEndGInt nHInsGrupünnameStrnKeyDown CompStrnVsblInt sorcGrup´nEncoInt srclStrn*Function KeyDown(Key As String) As Boolean srclStrnIf Asc ( Key ) = 202 Then srclStrn SearchSourcesrclStrnEnd If srclStrn End FunctionEndGInt nEndGInt nEndGInt nCBhvGrupÐn SuprStrn PushButton HInsGrupœn nameStrnAction CompStrnVsblInt sorcGrupTn EncoInt srclStrn Sub Action()srclStrn SearchSourcesrclStrnEnd Sub EndGInt n EndGInt n EndGInt n CBhvGrupn SuprStrn ProgressBar EndGInt n CBhvGrupn SuprStrnLabel EndGInt n CBhvGrupnSuprStrnLabel EndGInt nCBhvGrup˜nSuprStrn PushButton HInsGrupPnnameStrnAction CompStrnVsblInt sorcGrupnEncoInt srclStrn Sub Action()srclStrn"TaskSelected = "Back To Main Menu" srclStrnMainMenuListBox.SetFocussrclStrnPerformTheTask srclStrnTabPanel1.Value = MainMenuPanel srclStrn#TaskSelected = MainMenuListBox.Text srclStrnEnd Sub EndGInt nEndGInt nHInsGrupünnameStrnKeyDown CompStrnVsblInt sorcGrup´nEncoInt srclStrn*Function KeyDown(Key As String) As Boolean srclStrnIf Asc ( Key ) = 202 Then srclStrn SearchSourcesrclStrnEnd If srclStrn End FunctionEndGInt nEndGInt nEndGInt nCBhvGrupnSuprStrnLabel EndGInt nCBhvGrup0nSuprStrn TextField HInsGrupünnameStrnKeyDown CompStrnVsblInt sorcGrup´nEncoInt srclStrn*Function KeyDown(Key As String) As Boolean srclStrnIf Asc ( Key ) = 202 Then srclStrn SearchXML srclStrnEnd If srclStrn End FunctionEndGInt nEndGInt nEndGInt nCBhvGrupðnSuprStrnCheckBoxHInsGrup¬nnameStrnAction CompStrnVsblInt sorcGrupdnEncoInt srclStrn Sub Action()srclStrn If XMLCheckBox.Value = True ThensrclStrn+LastSearchPosition = LastSearchPosition - 1 srclStrnIf LastSearchPosition < 0 Then srclStrnLastSearchPosition = 0 srclStrnEnd If srclStrnElse srclStrn+LastSearchPosition = LastSearchPosition + 1 srclStrnEnd If srclStrnEnd Sub EndGInt nEndGInt nHInsGrupünnameStrnKeyDown CompStrnVsblInt sorcGrup´nEncoInt srclStrn*Function KeyDown(Key As String) As Boolean srclStrnIf Asc ( Key ) = 202 Then srclStrn SearchXML srclStrnEnd If srclStrn End FunctionEndGInt nEndGInt nEndGInt nCBhvGrupÐnSuprStrn PushButton HInsGrupœnnameStrnAction CompStrnVsblInt sorcGrupTnEncoInt srclStrn Sub Action()srclStrn SearchXML srclStrnEnd Sub EndGInt nEndGInt nEndGInt nCBhvGrup ¼n SuprStrnTextAreaHInsGrup|n!nameStrnKeyDown CompStrnVsblInt sorcGrup4n"EncoInt srclStrn*Function KeyDown(Key As String) As Boolean srclStrnDim Char1, Char2 As String srclStrnDim Asc1 As Integer srclStrnDim Pos1, Pos2, Pos3 As Integer srclStrnIf Asc ( Key ) = 202 Then srclStrn SearchXML srclStrnEnd If srclStrnAsc1 = Asc ( Key ) srclStrn:Char1 = Mid (XMLEditField.Text, XMLEditField.SelStart, 1 ) srclStrn!If Asc1 = 28 And Char1 = ">" Then srclStrn Return True srclStrnEnd If srclStrn>Char2 = Mid (XMLEditField.Text, XMLEditField.SelStart + 1, 1 ) srclStrn1If ( Asc1 = 8 Or Asc1 = 29 ) And Char2 = "<" Then srclStrn Return True srclStrnEnd If srclStrn!// Window1.Title = Str ( Asc1 ) srclStrnIf Asc1 = 31 Then srclStrnCPos1 = InStr ( XMLEditField.SelStart + 1, XMLEditField.Text, "" ) srclStrn XMLEditField.SelStart = Pos2 + 1srclStrnAPos3 = InStr (XMLEditField.SelStart + 1, XMLEditField.Text, "<" ) srclStrn(XMLEditField.SelLength = Pos3 - Pos2 - 2srclStrn//XMLEditField.SelLength = 10 srclStrn Return True srclStrn//Window1.Title = Str ( Pos1 ) srclStrn'//MsgBox Str ( XMLEditField.SelLength ) srclStrn"//MsgBox Len ( XMLEditField.Text ) srclStrn//MsgBox Str ( Pos1 ) srclStrnF/////Pos1 = InStr ( XMLEditField.SelStart + 1, XMLEditField.Text, ">") srclStrn&//MsgBox Str ( XMLEditField.SelStart ) srclStrn//Window1.Title = Str ( Pos1 ) srclStrn1// Window1.Title = Str ( XMLEditField.SelLength ) srclStrnEnd If srclStrn End FunctionEndGInt n"EndGInt n!HInsGrup<n#nameStrn MouseDown CompStrnVsblInt sorcGrupðn$EncoInt srclStrn9Function MouseDown(X As Integer, Y As Integer) As Boolean srclStrn$SLN = SourceEditField.ScrollPositionsrclStrnSLN = Max ( 0, SLN - 17 ) srclStrnIf SLN < 0 Then SLN = 0 srclStrn- //If SLN <= Ubound ( XLN ) Then srclStrn9 //XMLEditField.ScrollPosition = XLN ( SLN ) srclStrn //ElsesrclStrn0 //XMLEditField.ScrollPosition = 0srclStrn //End If srclStrn End FunctionEndGInt n$EndGInt n#HInsGrup¤n%nameStrn MouseEnter CompStrnVsblInt sorcGrupXn&EncoInt srclStrnSub MouseEnter()srclStrn Me.SetFocus srclStrnEnd Sub EndGInt n&EndGInt n%EndGInt n CBhvGrup@n'SuprStrn PushButton HInsGrupøn(nameStrnAction CompStrnVsblInt sorcGrup°n)EncoInt srclStrn Sub Action()srclStrn9If XMLBottomPushButton.Caption = "Back To Main Menu" Then srclStrn"TaskSelected = "Back To Main Menu" srclStrnMainMenuListBox.SetFocussrclStrnEnd If srclStrnPerformTheTask srclStrnTabPanel1.Value = MainMenuPanel srclStrn)If TaskSelected = "Back toMain Menu" Then srclStrn#TaskSelected = MainMenuListBox.Text srclStrnEnd If srclStrnEnd Sub EndGInt n)EndGInt n(HInsGrupün*nameStrnKeyDown CompStrnVsblInt sorcGrup´n+EncoInt srclStrn*Function KeyDown(Key As String) As Boolean srclStrnIf Asc ( Key ) = 202 Then srclStrn SearchXML srclStrnEnd If srclStrn End FunctionEndGInt n+EndGInt n*EndGInt n'CBhvGrupn,SuprStrn ProgressBar EndGInt n,CBhvGrup n-SuprStrnListBox HInsGrupØn.nameStrn CellClick CompStrnVsblInt sorcGrupŒn/EncoInt srclStrn\Function CellClick(row as Integer, column as Integer, x as Integer, y as Integer) As BooleansrclStrn. /// Name of Routine: CellClick srclStrn% /// Location: Window1 srclStrn+ /// Programmer: Mark Nutter srclStrn# /// Date: 1/26/2006 srclStrnLastBookmarkClick = Row srclStrn End FunctionEndGInt n/EndGInt n.HInsGrupn0nameStrn CollapseRow CompStrnVsblInt sorcGrupDn1EncoInt srclStrnSub CollapseRow(row As Integer) srclStrnDim B As Bookmark srclStrnDim C, I As Integer srclStrn0 /// Name of Routine: CollapseRowsrclStrn% /// Location: Window1 srclStrn+ /// Programmer: Mark Nutter srclStrn# /// Date: 1/26/2006 srclStrn'B = Bookmark ( Me.CellTag ( Row, 0 ) ) srclStrnIf B <> Nil ThensrclStrnC = B.Count - 1 srclStrnFor I = C DownTo 0 srclStrnMe.RemoveRow Row + I + 1srclStrn Next I srclStrnEnd If srclStrnEnd Sub EndGInt n1EndGInt n0HInsGruptn2nameStrn DoubleClick CompStrnVsblInt sorcGrup(n3EncoInt srclStrnSub DoubleClick() srclStrnDim B As Bookmark srclStrnDim p As IntegersrclStrn0 /// Name of Routine: DoubleClicksrclStrn6 /// Location: Window1.BookmarkListBox. srclStrn+ /// Programmer: Mark Nutter srclStrn# /// Date: 1/26/2006 srclStrn5B = Bookmark ( Me.CellTag ( LastBookmarkClick, 0 ) ) srclStrnIf B <> Nil ThensrclStrnp = B.Position srclStrn"SourceEditField.ScrollPosition = p srclStrnEnd If srclStrnEnd Sub EndGInt n3EndGInt n2HInsGrup(n4nameStrn ExpandRow CompStrnVsblInt sorcGrupÜn5EncoInt srclStrnSub ExpandRow(row As Integer) srclStrnDim B As Bookmark srclStrnDim C As IntegersrclStrnDim cb As Bookmark srclStrnDim I As IntegersrclStrn. /// Name of Routine: ExpandRow srclStrn% /// Location: Window1 srclStrn+ /// Programmer: Mark Nutter srclStrn# /// Date: 1/26/2006 srclStrn'B = Bookmark ( Me.CellTag ( Row, 0 ) ) srclStrnIf B <> Nil ThensrclStrnC = B.Count - 1 srclStrnFor I = 0 To C srclStrncb = B.Child ( I ) srclStrn,Me.InsertRow Row + I + 1, " " + cb.NamesrclStrn"Me.CellTag ( Row + I + 1, 0 ) = cb srclStrn Next I srclStrnEnd If srclStrnEnd Sub EndGInt n5EndGInt n4HInsGrupün6nameStrnKeyDown CompStrnVsblInt sorcGrup´n7EncoInt srclStrn*Function KeyDown(Key As String) As Boolean srclStrnIf Asc ( Key ) = 202 Then srclStrn SearchSourcesrclStrnEnd If srclStrn End FunctionEndGInt n7EndGInt n6EndGInt n-CBhvGrupn8SuprStrnLabel EndGInt n8CBhvGrupn9SuprStrnLabel EndGInt n9CBhvGrupn:SuprStrn TextField EndGInt n:CBhvGrupn;SuprStrnLabel EndGInt n;CBhvGrupnnameStrnAction CompStrnVsblInt sorcGrup n?EncoInt srclStrn Sub Action()srclStrn=If ResultsBottomPushButton.Caption = "Back To Main Menu" Then srclStrn"TaskSelected = "Back To Main Menu" srclStrnMainMenuListBox.SetFocussrclStrnEnd If srclStrnPerformTheTask srclStrnEnd Sub EndGInt n?EndGInt n>EndGInt n=CBhvGrup8n@SuprStrnListBox HInsGrupônAnameStrn CellTextPaint CompStrnVsblInt sorcGrup¤nBEncoInt srclStrnoFunction CellTextPaint(g As Graphics, row As Integer, column As Integer, x as Integer, y as Integer) As Boolean srclStrn'Dim A, B, C As Integer srclStrn'A = Val ( Me.ColumnWidths ) srclStrn3'B = g.stringwidth ( Me.Cell ( Row, Column ) ) + 35 srclStrn'C = Max ( A, B ) srclStrn'Me.ColumnWidths = Str ( C ) srclStrn'ResultsListBoxWidth = CsrclStrn End FunctionEndGInt nBEndGInt nAHInsGrup¬nCnameStrnChange CompStrnVsblInt sorcGrupdnDEncoInt srclStrn Sub Change()srclStrnResultsListBox.Refresh srclStrn3ResultsNewNameEditField.Text = MainMenuListBox.Text srclStrn&ResultsBottomPushButton.Visible = True srclStrn)If ResultsOldNameText.Visible = True Then srclStrn2ResultsOldNameEditField.Text = ResultsListBox.Text srclStrn!ResultsNewNameEditField.Text = "" srclStrnEnd If srclStrn)If ResultsNewNameText.Visible = True Then srclStrn2ResultsNewNameEditField.Text = ResultsListBox.Text srclStrn9ParticularMethod = Trim ( ResultsNewNameEditField.Text ) srclStrnEnd If srclStrnEnd Sub EndGInt nDEndGInt nCHInsGrup|nEnameStrn DoubleClick CompStrnVsblInt sorcGrup0nFEncoInt srclStrnSub DoubleClick() srclStrnResultsListBox.Refresh srclStrn@Me.Expanded ( Me.ListIndex ) = Not Me.Expanded ( Me.ListIndex ) srclStrn RowDone = ""srclStrnnameStrn ColumnWidthsEncoInt PValStrnEndGInt o>PDefGrup(o?nameStrn ColumnCount PValInt EndGInt o?PDefGrup(o@nameStrnBorder PValStrnTrueEndGInt o@PDefGrup(oAnameStrnEnabled PValStrnTrueEndGInt oAPDefGrup0oBnameStrnAutoDeactivate PValStrnTrueEndGInt oBPDefGrup0oCnameStrnHelpTag EncoInt PValStrnEndGInt oCPDefGrup(oDnameStrnVisible PValStrnTrueEndGInt oDPDefGrup(oEnameStrnTabStop PValStrnTrueEndGInt oEPDefGrup$oFnameStrnTabIndexPValInt EndGInt oFPDefGrup,oGnameStrn TabPanelIndex PValInt EndGInt oGPDefGrup0oHnameStrn LockBottom PValStrnFalse EndGInt oHPDefGrup0oInameStrn LockRight PValStrnFalse EndGInt oIPDefGrup(oJnameStrnLockTop PValStrnTrueEndGInt oJPDefGrup(oKnameStrnLockLeftPValStrnTrueEndGInt oKPDefGrup$oLnameStrnHeight PValInt cEndGInt oLPDefGrup$oMnameStrnWidth PValInt ÔEndGInt oMPDefGrup oNnameStrnTop PValInt UEndGInt oNPDefGrup oOnameStrnLeftPValInt EndGInt oOPDefGrup(oPnameStrnScope PValStrn0 EndGInt oPPDefGrup8oQnameStrnSuper EncoInt PValStrnListBox EndGInt oQPDefGrup$oRnameStrnIndex PValInt €EndGInt oRPDefGrup<oSnameStrnNameEncoInt PValStrnMainMenuListBox EndGInt oSCBixInt iLckInt EndGInt o"CtrlGrup ÜoTcclsStrnTextAreanameStrnTextAreaPDefGrupDoUnameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt oUPDefGrup4oVnameStrn DataField EncoInt PValStrnEndGInt oVPDefGrup4oWnameStrn DataSource EncoInt PValStrnEndGInt oWPDefGrup<oXnameStrnAutomaticallyCheckSpelling PValStrnTrueEndGInt oXPDefGrup(oYnameStrn Alignment PValInt EndGInt oYPDefGrup0oZnameStrn AcceptTabs PValStrnFalse EndGInt oZPDefGrup(o[nameStrn LimitText PValInt EndGInt o[PDefGrup,o\nameStrnReadOnlyPValStrnFalse EndGInt o\PDefGrup,o]nameStrnMaskEncoInt PValStrnEndGInt o]PDefGrup,o^nameStrnTextEncoInt PValStrnEndGInt o^PDefGrup0o_nameStrn Underline PValStrnFalse EndGInt o_PDefGrup,o`nameStrnItalic PValStrnFalse EndGInt o`PDefGrup(oanameStrnBoldPValStrnFalse EndGInt oaPDefGrup(obnameStrnTextUnitPValStrn0 EndGInt obPDefGrup(ocnameStrnTextSizePValStrn24 EndGInt ocPDefGrup8odnameStrnTextFontEncoInt PValStrnArial EndGInt odPDefGrup,oenameStrn LineSpacing PValStrn1 EndGInt oePDefGrup,ofnameStrn LineHeight PValStrn0 EndGInt ofPDefGrup0ognameStrn HideSelection PValStrnTrueEndGInt ogPDefGrup0ohnameStrnAutoDeactivate PValStrnTrueEndGInt ohPDefGrup0oinameStrnHelpTag EncoInt PValStrnEndGInt oiPDefGrup(ojnameStrnVisible PValStrnTrueEndGInt ojPDefGrup0oknameStrnFormat EncoInt PValStrnEndGInt okPDefGrup(olnameStrnEnabled PValStrnTrueEndGInt olPDefGrup(omnameStrn BackColor PValInt ÿÿÿEndGInt omPDefGrup(onnameStrn TextColor PValInt EndGInt onPDefGrup,oonameStrn UseFocusRingPValStrnTrueEndGInt ooPDefGrup,opnameStrnStyled PValStrnFalse EndGInt opPDefGrup4oqnameStrnScrollbarVertical PValStrnTrueEndGInt oqPDefGrup8ornameStrnScrollbarHorizontal PValStrnFalse EndGInt orPDefGrup,osnameStrn Multiline PValStrnTrueEndGInt osPDefGrup(otnameStrnBorder PValStrnTrueEndGInt otPDefGrup(ounameStrnTabStop PValStrnTrueEndGInt ouPDefGrup$ovnameStrnTabIndexPValInt EndGInt ovPDefGrup,ownameStrn TabPanelIndex PValInt EndGInt owPDefGrup,oxnameStrn LockBottom PValStrnTrueEndGInt oxPDefGrup,oynameStrn LockRight PValStrnTrueEndGInt oyPDefGrup(oznameStrnLockTop PValStrnTrueEndGInt ozPDefGrup(o{nameStrnLockLeftPValStrnTrueEndGInt o{PDefGrup$o|nameStrnHeight PValInt ³EndGInt o|PDefGrup$o}nameStrnWidth PValInt 9EndGInt o}PDefGrup o~nameStrnTop PValInt _EndGInt o~PDefGrup onameStrnLeftPValInt ¥EndGInt oPDefGrup(o€nameStrnScope PValStrn0 EndGInt o€PDefGrup8onameStrnSuper EncoInt PValStrnTextAreaEndGInt oPDefGrup$o‚nameStrnIndex PValInt €EndGInt o‚PDefGrup<oƒnameStrnNameEncoInt PValStrnSourceEditField EndGInt oƒCBixInt iLckInt EndGInt oTCtrlGrup ”o„cclsStrn TextField nameStrn TextField PDefGrupDo…nameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt o…PDefGrup4o†nameStrn DataField EncoInt PValStrnEndGInt o†PDefGrup4o‡nameStrn DataSource EncoInt PValStrnEndGInt o‡PDefGrup@oˆnameStrnAutomaticallyCheckSpelling PValStrnFalse EndGInt oˆPDefGrup(o‰nameStrn Alignment PValInt EndGInt o‰PDefGrup0oŠnameStrn AcceptTabs PValStrnFalse EndGInt oŠPDefGrup(o‹nameStrn LimitText PValInt EndGInt o‹PDefGrup,oŒnameStrnReadOnlyPValStrnFalse EndGInt oŒPDefGrup,onameStrnMaskEncoInt PValStrnEndGInt oPDefGrup,oŽnameStrnTextEncoInt PValStrnEndGInt oŽPDefGrup0onameStrnCueText EncoInt PValStrnEndGInt oPDefGrup0onameStrn Underline PValStrnFalse EndGInt oPDefGrup,o‘nameStrnItalic PValStrnFalse EndGInt o‘PDefGrup(o’nameStrnBoldPValStrnFalse EndGInt o’PDefGrup(o“nameStrnTextUnitPValStrn0 EndGInt o“PDefGrup(o”nameStrnTextSizePValStrn24 EndGInt o”PDefGrup8o•nameStrnTextFontEncoInt PValStrnArial EndGInt o•PDefGrup0o–nameStrnAutoDeactivate PValStrnTrueEndGInt o–PDefGrup0o—nameStrnHelpTag EncoInt PValStrnEndGInt o—PDefGrup(o˜nameStrnVisible PValStrnTrueEndGInt o˜PDefGrup0o™nameStrnFormat EncoInt PValStrnEndGInt o™PDefGrup(ošnameStrnEnabled PValStrnTrueEndGInt ošPDefGrup(o›nameStrn BackColor PValInt ÿÿÿEndGInt o›PDefGrup(oœnameStrn TextColor PValInt EndGInt oœPDefGrup,onameStrn UseFocusRingPValStrnTrueEndGInt oPDefGrup,ožnameStrnPasswordPValStrnFalse EndGInt ožPDefGrup(oŸnameStrnBorder PValStrnTrueEndGInt oŸPDefGrup(o nameStrnTabStop PValStrnTrueEndGInt o PDefGrup$o¡nameStrnTabIndexPValInt EndGInt o¡PDefGrup,o¢nameStrn TabPanelIndex PValInt EndGInt o¢PDefGrup0o£nameStrn LockBottom PValStrnFalse EndGInt o£PDefGrup0o¤nameStrn LockRight PValStrnFalse EndGInt o¤PDefGrup(o¥nameStrnLockTop PValStrnTrueEndGInt o¥PDefGrup(o¦nameStrnLockLeftPValStrnTrueEndGInt o¦PDefGrup$o§nameStrnHeight PValInt EndGInt o§PDefGrup$o¨nameStrnWidth PValInt bEndGInt o¨PDefGrup o©nameStrnTop PValInt 2EndGInt o©PDefGrup oªnameStrnLeftPValInt nEndGInt oªPDefGrup(o«nameStrnScope PValStrn0 EndGInt o«PDefGrup<o¬nameStrnSuper EncoInt PValStrn TextField EndGInt o¬PDefGrup$o­nameStrnIndex PValInt €EndGInt o­PDefGrupDo®nameStrnNameEncoInt PValStrnSourceSearchEditField EndGInt o®CBixInt iLckInt EndGInt o„CtrlGrup”o¯cclsStrnCheckBoxnameStrnCheckBoxPDefGrupDo°nameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt o°PDefGrup4o±nameStrn DataField EncoInt PValStrnEndGInt o±PDefGrup4o²nameStrn DataSource EncoInt PValStrnEndGInt o²PDefGrup,o³nameStrnValue PValStrnFalse EndGInt o³PDefGrup(o´nameStrnState PValStrn0 EndGInt o´PDefGrup0oµnameStrn Underline PValStrnFalse EndGInt oµPDefGrup,o¶nameStrnItalic PValStrnFalse EndGInt o¶PDefGrup(o·nameStrnBoldPValStrnFalse EndGInt o·PDefGrup(o¸nameStrnTextUnitPValStrn0 EndGInt o¸PDefGrup(o¹nameStrnTextSizePValStrn24 EndGInt o¹PDefGrup8oºnameStrnTextFontEncoInt PValStrnArial EndGInt oºPDefGrup0o»nameStrnAutoDeactivate PValStrnTrueEndGInt o»PDefGrup0o¼nameStrnHelpTag EncoInt PValStrnEndGInt o¼PDefGrup(o½nameStrnVisible PValStrnTrueEndGInt o½PDefGrup(o¾nameStrnEnabled PValStrnTrueEndGInt o¾PDefGrup<o¿nameStrnCaption EncoInt PValStrn Whole Word EndGInt o¿PDefGrup(oÀnameStrnTabStop PValStrnTrueEndGInt oÀPDefGrup$oÁnameStrnTabIndexPValInt EndGInt oÁPDefGrup,oÂnameStrn TabPanelIndex PValInt EndGInt oÂPDefGrup0oÃnameStrn LockBottom PValStrnFalse EndGInt oÃPDefGrup0oÄnameStrn LockRight PValStrnFalse EndGInt oÄPDefGrup(oÅnameStrnLockTop PValStrnTrueEndGInt oÅPDefGrup(oÆnameStrnLockLeftPValStrnTrueEndGInt oÆPDefGrup$oÇnameStrnHeight PValInt EndGInt oÇPDefGrup$oÈnameStrnWidth PValInt  EndGInt oÈPDefGrup oÉnameStrnTop PValInt 2EndGInt oÉPDefGrup oÊnameStrnLeftPValInt äEndGInt oÊPDefGrup(oËnameStrnScope PValStrn0 EndGInt oËPDefGrup8oÌnameStrnSuper EncoInt PValStrnCheckBoxEndGInt oÌPDefGrup$oÍnameStrnIndex PValInt €EndGInt oÍPDefGrup<oÎnameStrnNameEncoInt PValStrnSourceCheckBox EndGInt oÎCBixInt iLckInt EndGInt o¯CtrlGrupLoÏcclsStrn PushButton nameStrn PushButton PDefGrupDoÐnameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt oÐPDefGrup0oÑnameStrn Underline PValStrnFalse EndGInt oÑPDefGrup,oÒnameStrnItalic PValStrnFalse EndGInt oÒPDefGrup(oÓnameStrnBoldPValStrnFalse EndGInt oÓPDefGrup(oÔnameStrnTextUnitPValStrn0 EndGInt oÔPDefGrup(oÕnameStrnTextSizePValStrn24 EndGInt oÕPDefGrup8oÖnameStrnTextFontEncoInt PValStrnArial EndGInt oÖPDefGrup,o×nameStrn ButtonStyle PValStrn0 EndGInt o×PDefGrup0oØnameStrnAutoDeactivate PValStrnTrueEndGInt oØPDefGrup0oÙnameStrnHelpTag EncoInt PValStrnEndGInt oÙPDefGrup(oÚnameStrnVisible PValStrnTrueEndGInt oÚPDefGrup(oÛnameStrnEnabled PValStrnTrueEndGInt oÛPDefGrup,oÜnameStrnCancel PValStrnFalse EndGInt oÜPDefGrup,oÝnameStrnDefault PValStrnFalse EndGInt oÝPDefGrup4oÞnameStrnCaption EncoInt PValStrnGo! EndGInt oÞPDefGrup(oßnameStrnTabStop PValStrnTrueEndGInt oßPDefGrup$oànameStrnTabIndexPValInt EndGInt oàPDefGrup,oánameStrn TabPanelIndex PValInt EndGInt oáPDefGrup0oânameStrn LockBottom PValStrnFalse EndGInt oâPDefGrup0oãnameStrn LockRight PValStrnFalse EndGInt oãPDefGrup(oänameStrnLockTop PValStrnTrueEndGInt oäPDefGrup(oånameStrnLockLeftPValStrnTrueEndGInt oåPDefGrup$oænameStrnHeight PValInt EndGInt oæPDefGrup$oçnameStrnWidth PValInt nameStrnLockLeftPValStrnTrueEndGInt p>PDefGrup$p?nameStrnHeight PValInt EndGInt p?PDefGrup$p@nameStrnWidth PValInt PEndGInt p@PDefGrup pAnameStrnTop PValInt 2EndGInt pAPDefGrup pBnameStrnLeftPValInt EndGInt pBPDefGrup(pCnameStrnScope PValStrn0 EndGInt pCPDefGrup8pDnameStrnSuper EncoInt PValStrnLabel EndGInt pDPDefGrup$pEnameStrnIndex PValInt €EndGInt pEPDefGrup@pFnameStrnNameEncoInt PValStrnSourceSearchLabel EndGInt pFCBixInt iLckInt EndGInt p%CtrlGrup`pGcclsStrn PushButton nameStrn PushButton PDefGrupDpHnameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt pHPDefGrup0pInameStrn Underline PValStrnFalse EndGInt pIPDefGrup,pJnameStrnItalic PValStrnFalse EndGInt pJPDefGrup(pKnameStrnBoldPValStrnFalse EndGInt pKPDefGrup(pLnameStrnTextUnitPValStrn0 EndGInt pLPDefGrup(pMnameStrnTextSizePValStrn24 EndGInt pMPDefGrup8pNnameStrnTextFontEncoInt PValStrnArial EndGInt pNPDefGrup,pOnameStrn ButtonStyle PValStrn0 EndGInt pOPDefGrup0pPnameStrnAutoDeactivate PValStrnTrueEndGInt pPPDefGrup0pQnameStrnHelpTag EncoInt PValStrnEndGInt pQPDefGrup(pRnameStrnVisible PValStrnTrueEndGInt pRPDefGrup(pSnameStrnEnabled PValStrnTrueEndGInt pSPDefGrup,pTnameStrnCancel PValStrnFalse EndGInt pTPDefGrup,pUnameStrnDefault PValStrnFalse EndGInt pUPDefGrupDpVnameStrnCaption EncoInt PValStrnBack to Main Menu EndGInt pVPDefGrup(pWnameStrnTabStop PValStrnTrueEndGInt pWPDefGrup$pXnameStrnTabIndexPValInt EndGInt pXPDefGrup,pYnameStrn TabPanelIndex PValInt EndGInt pYPDefGrup0pZnameStrn LockBottom PValStrnFalse EndGInt pZPDefGrup0p[nameStrn LockRight PValStrnFalse EndGInt p[PDefGrup(p\nameStrnLockTop PValStrnTrueEndGInt p\PDefGrup(p]nameStrnLockLeftPValStrnTrueEndGInt p]PDefGrup$p^nameStrnHeight PValInt EndGInt p^PDefGrup$p_nameStrnWidth PValInt ÀEndGInt p_PDefGrup p`nameStrnTop PValInt !EndGInt p`PDefGrup panameStrnLeftPValInt EndGInt paPDefGrup(pbnameStrnScope PValStrn0 EndGInt pbPDefGrup<pcnameStrnSuper EncoInt PValStrn PushButton EndGInt pcPDefGrup$pdnameStrnIndex PValInt €EndGInt pdPDefGrupDpenameStrnNameEncoInt PValStrnSourceBottomPushButton EndGInt peCBixInt iLckInt EndGInt pGCtrlGrup $pfcclsStrnLabel nameStrnLabel PDefGrupDpgnameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt pgPDefGrup4phnameStrn DataField EncoInt PValStrnEndGInt phPDefGrup4pinameStrn DataSource EncoInt PValStrnEndGInt piPDefGrup0pjnameStrn Underline PValStrnFalse EndGInt pjPDefGrup,pknameStrnItalic PValStrnFalse EndGInt pkPDefGrup(plnameStrnBoldPValStrnFalse EndGInt plPDefGrup(pmnameStrnTextUnitPValStrn0 EndGInt pmPDefGrup(pnnameStrnTextSizePValStrn24 EndGInt pnPDefGrup8ponameStrnTextFontEncoInt PValStrnArial EndGInt poPDefGrup0ppnameStrnAutoDeactivate PValStrnTrueEndGInt ppPDefGrup0pqnameStrnHelpTag EncoInt PValStrnEndGInt pqPDefGrup0prnameStrn Transparent PValStrnFalse EndGInt prPDefGrup0psnameStrn Selectable PValStrnFalse EndGInt psPDefGrup(ptnameStrnVisible PValStrnTrueEndGInt ptPDefGrup(punameStrnEnabled PValStrnTrueEndGInt puPDefGrup0pvnameStrn Multiline PValStrnFalse EndGInt pvPDefGrup(pwnameStrn TextColor PValInt EndGInt pwPDefGrup(pxnameStrn TextAlign PValInt EndGInt pxPDefGrup8pynameStrnTextEncoInt PValStrn Search for: EndGInt pyPDefGrup$pznameStrnTabIndexPValInt EndGInt pzPDefGrup,p{nameStrn TabPanelIndex PValInt EndGInt p{PDefGrup0p|nameStrn LockBottom PValStrnFalse EndGInt p|PDefGrup0p}nameStrn LockRight PValStrnFalse EndGInt p}PDefGrup(p~nameStrnLockTop PValStrnTrueEndGInt p~PDefGrup(pnameStrnLockLeftPValStrnTrueEndGInt pPDefGrup$p€nameStrnHeight PValInt EndGInt p€PDefGrup$pnameStrnWidth PValInt PEndGInt pPDefGrup p‚nameStrnTop PValInt 2EndGInt p‚PDefGrup pƒnameStrnLeftPValInt EndGInt pƒPDefGrup(p„nameStrnScope PValStrn0 EndGInt p„PDefGrup8p…nameStrnSuper EncoInt PValStrnLabel EndGInt p…PDefGrup$p†nameStrnIndex PValInt €EndGInt p†PDefGrup<p‡nameStrnNameEncoInt PValStrnXMLSearchLabel EndGInt p‡CBixInt iLckInt EndGInt pfCtrlGrup ŒpˆcclsStrn TextField nameStrn TextField PDefGrupDp‰nameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt p‰PDefGrup4pŠnameStrn DataField EncoInt PValStrnEndGInt pŠPDefGrup4p‹nameStrn DataSource EncoInt PValStrnEndGInt p‹PDefGrup@pŒnameStrnAutomaticallyCheckSpelling PValStrnFalse EndGInt pŒPDefGrup(pnameStrn Alignment PValInt EndGInt pPDefGrup0pŽnameStrn AcceptTabs PValStrnFalse EndGInt pŽPDefGrup(pnameStrn LimitText PValInt EndGInt pPDefGrup,pnameStrnReadOnlyPValStrnFalse EndGInt pPDefGrup,p‘nameStrnMaskEncoInt PValStrnEndGInt p‘PDefGrup,p’nameStrnTextEncoInt PValStrnEndGInt p’PDefGrup0p“nameStrnCueText EncoInt PValStrnEndGInt p“PDefGrup,p”nameStrn Underline PValStrnTrueEndGInt p”PDefGrup,p•nameStrnItalic PValStrnFalse EndGInt p•PDefGrup(p–nameStrnBoldPValStrnFalse EndGInt p–PDefGrup(p—nameStrnTextUnitPValStrn0 EndGInt p—PDefGrup(p˜nameStrnTextSizePValStrn24 EndGInt p˜PDefGrup8p™nameStrnTextFontEncoInt PValStrnArial EndGInt p™PDefGrup0pšnameStrnAutoDeactivate PValStrnTrueEndGInt pšPDefGrup0p›nameStrnHelpTag EncoInt PValStrnEndGInt p›PDefGrup(pœnameStrnVisible PValStrnTrueEndGInt pœPDefGrup0pnameStrnFormat EncoInt PValStrnEndGInt pPDefGrup(pžnameStrnEnabled PValStrnTrueEndGInt pžPDefGrup(pŸnameStrn BackColor PValInt ÿÿÿEndGInt pŸPDefGrup(p nameStrn TextColor PValInt EndGInt p PDefGrup,p¡nameStrn UseFocusRingPValStrnTrueEndGInt p¡PDefGrup,p¢nameStrnPasswordPValStrnFalse EndGInt p¢PDefGrup(p£nameStrnBorder PValStrnTrueEndGInt p£PDefGrup(p¤nameStrnTabStop PValStrnTrueEndGInt p¤PDefGrup$p¥nameStrnTabIndexPValInt EndGInt p¥PDefGrup,p¦nameStrn TabPanelIndex PValInt EndGInt p¦PDefGrup0p§nameStrn LockBottom PValStrnFalse EndGInt p§PDefGrup0p¨nameStrn LockRight PValStrnFalse EndGInt p¨PDefGrup(p©nameStrnLockTop PValStrnTrueEndGInt p©PDefGrup(pªnameStrnLockLeftPValStrnTrueEndGInt pªPDefGrup$p«nameStrnHeight PValInt EndGInt p«PDefGrup$p¬nameStrnWidth PValInt bEndGInt p¬PDefGrup p­nameStrnTop PValInt 2EndGInt p­PDefGrup p®nameStrnLeftPValInt nEndGInt p®PDefGrup(p¯nameStrnScope PValStrn0 EndGInt p¯PDefGrup<p°nameStrnSuper EncoInt PValStrn TextField EndGInt p°PDefGrup$p±nameStrnIndex PValInt €EndGInt p±PDefGrup@p²nameStrnNameEncoInt PValStrnXMLSearchEditField EndGInt p²CBixInt iLckInt EndGInt pˆCtrlGrup”p³cclsStrnCheckBoxnameStrnCheckBoxPDefGrupDp´nameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt p´PDefGrup4pµnameStrn DataField EncoInt PValStrnEndGInt pµPDefGrup4p¶nameStrn DataSource EncoInt PValStrnEndGInt p¶PDefGrup,p·nameStrnValue PValStrnFalse EndGInt p·PDefGrup(p¸nameStrnState PValStrn0 EndGInt p¸PDefGrup0p¹nameStrn Underline PValStrnFalse EndGInt p¹PDefGrup,pºnameStrnItalic PValStrnFalse EndGInt pºPDefGrup(p»nameStrnBoldPValStrnFalse EndGInt p»PDefGrup(p¼nameStrnTextUnitPValStrn0 EndGInt p¼PDefGrup(p½nameStrnTextSizePValStrn24 EndGInt p½PDefGrup8p¾nameStrnTextFontEncoInt PValStrnArial EndGInt p¾PDefGrup0p¿nameStrnAutoDeactivate PValStrnTrueEndGInt p¿PDefGrup4pÀnameStrnHelpTag EncoInt PValStrn20 EndGInt pÀPDefGrup(pÁnameStrnVisible PValStrnTrueEndGInt pÁPDefGrup(pÂnameStrnEnabled PValStrnTrueEndGInt pÂPDefGrup<pÃnameStrnCaption EncoInt PValStrn Whole Word EndGInt pÃPDefGrup(pÄnameStrnTabStop PValStrnTrueEndGInt pÄPDefGrup$pÅnameStrnTabIndexPValInt EndGInt pÅPDefGrup,pÆnameStrn TabPanelIndex PValInt EndGInt pÆPDefGrup0pÇnameStrn LockBottom PValStrnFalse EndGInt pÇPDefGrup0pÈnameStrn LockRight PValStrnFalse EndGInt pÈPDefGrup(pÉnameStrnLockTop PValStrnTrueEndGInt pÉPDefGrup(pÊnameStrnLockLeftPValStrnTrueEndGInt pÊPDefGrup$pËnameStrnHeight PValInt EndGInt pËPDefGrup$pÌnameStrnWidth PValInt  EndGInt pÌPDefGrup pÍnameStrnTop PValInt 2EndGInt pÍPDefGrup pÎnameStrnLeftPValInt äEndGInt pÎPDefGrup(pÏnameStrnScope PValStrn0 EndGInt pÏPDefGrup8pÐnameStrnSuper EncoInt PValStrnCheckBoxEndGInt pÐPDefGrup$pÑnameStrnIndex PValInt €EndGInt pÑPDefGrup8pÒnameStrnNameEncoInt PValStrn XMLCheckBox EndGInt pÒCBixInt iLckInt EndGInt p³CtrlGrupHpÓcclsStrn PushButton nameStrn PushButton PDefGrupDpÔnameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt pÔPDefGrup0pÕnameStrn Underline PValStrnFalse EndGInt pÕPDefGrup,pÖnameStrnItalic PValStrnFalse EndGInt pÖPDefGrup(p×nameStrnBoldPValStrnFalse EndGInt p×PDefGrup(pØnameStrnTextUnitPValStrn0 EndGInt pØPDefGrup(pÙnameStrnTextSizePValStrn24 EndGInt pÙPDefGrup8pÚnameStrnTextFontEncoInt PValStrnArial EndGInt pÚPDefGrup,pÛnameStrn ButtonStyle PValStrn0 EndGInt pÛPDefGrup0pÜnameStrnAutoDeactivate PValStrnTrueEndGInt pÜPDefGrup0pÝnameStrnHelpTag EncoInt PValStrnEndGInt pÝPDefGrup(pÞnameStrnVisible PValStrnTrueEndGInt pÞPDefGrup(pßnameStrnEnabled PValStrnTrueEndGInt pßPDefGrup,pànameStrnCancel PValStrnFalse EndGInt pàPDefGrup,pánameStrnDefault PValStrnFalse EndGInt páPDefGrup4pânameStrnCaption EncoInt PValStrnGo! EndGInt pâPDefGrup(pãnameStrnTabStop PValStrnTrueEndGInt pãPDefGrup$pänameStrnTabIndexPValInt EndGInt päPDefGrup,pånameStrn TabPanelIndex PValInt EndGInt påPDefGrup0pænameStrn LockBottom PValStrnFalse EndGInt pæPDefGrup0pçnameStrn LockRight PValStrnFalse EndGInt pçPDefGrup(pènameStrnLockTop PValStrnTrueEndGInt pèPDefGrup(pénameStrnLockLeftPValStrnTrueEndGInt péPDefGrup$pênameStrnHeight PValInt EndGInt pêPDefGrup$pënameStrnWidth PValInt nameStrnSuper EncoInt PValStrn PushButton EndGInt q>PDefGrup$q?nameStrnIndex PValInt €EndGInt q?PDefGrup@q@nameStrnNameEncoInt PValStrnXMLBottomPushButton EndGInt q@CBixInt iLckInt EndGInt q"CtrlGrup˜qAcclsStrn ProgressBar nameStrn ProgressBar PDefGrupDqBnameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt qBPDefGrup$qCnameStrnMaximum PValInt dEndGInt qCPDefGrup$qDnameStrnValue PValInt EndGInt qDPDefGrup(qEnameStrnEnabled PValStrnTrueEndGInt qEPDefGrup0qFnameStrnAutoDeactivate PValStrnTrueEndGInt qFPDefGrup0qGnameStrnHelpTag EncoInt PValStrnEndGInt qGPDefGrup,qHnameStrnVisible PValStrnFalse EndGInt qHPDefGrup,qInameStrn TabPanelIndex PValInt EndGInt qIPDefGrup0qJnameStrn LockBottom PValStrnFalse EndGInt qJPDefGrup0qKnameStrn LockRight PValStrnFalse EndGInt qKPDefGrup(qLnameStrnLockTop PValStrnTrueEndGInt qLPDefGrup(qMnameStrnLockLeftPValStrnTrueEndGInt qMPDefGrup$qNnameStrnHeight PValInt EndGInt qNPDefGrup$qOnameStrnWidth PValInt ÀEndGInt qOPDefGrup qPnameStrnTop PValInt !EndGInt qPPDefGrup qQnameStrnLeftPValInt EndGInt qQPDefGrup(qRnameStrnScope PValStrn0 EndGInt qRPDefGrup<qSnameStrnSuper EncoInt PValStrn ProgressBar EndGInt qSPDefGrup$qTnameStrnIndex PValInt €EndGInt qTPDefGrup@qUnameStrnNameEncoInt PValStrnMainMenuProgressBar EndGInt qUCBixInt iLckInt EndGInt qACtrlGrup ŒqVcclsStrnListBox nameStrnListBox PDefGrupDqWnameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt qWPDefGrup4qXnameStrn DataField EncoInt PValStrnEndGInt qXPDefGrup4qYnameStrn DataSource EncoInt PValStrnEndGInt qYPDefGrup4qZnameStrnAutoHideScrollbars PValStrnTrueEndGInt qZPDefGrup4q[nameStrnColumnsResizablePValStrnFalse EndGInt q[PDefGrup,q\nameStrn SelectionType PValInt EndGInt q\PDefGrup0q]nameStrnRequiresSelection PValStrnEndGInt q]PDefGrup8q^nameStrnEnableDragReorder PValStrnFalse EndGInt q^PDefGrup0q_nameStrn EnableDrag PValStrnFalse EndGInt q_PDefGrup,q`nameStrn HierarchicalPValStrnTrueEndGInt q`PDefGrup0qanameStrn Underline PValStrnFalse EndGInt qaPDefGrup,qbnameStrnItalic PValStrnFalse EndGInt qbPDefGrup(qcnameStrnBoldPValStrnFalse EndGInt qcPDefGrup(qdnameStrnTextUnitPValStrn0 EndGInt qdPDefGrup(qenameStrnTextSizePValStrn24 EndGInt qePDefGrup8qfnameStrnTextFontEncoInt PValStrnArial EndGInt qfPDefGrup,qgnameStrn _ScrollOffset PValInt EndGInt qgPDefGrup(qhnameStrn _ScrollWidthPValInt ÿÿÿÿEndGInt qhPDefGrup,qinameStrnDefaultRowHeightPValInt ÿÿÿÿEndGInt qiPDefGrup0qjnameStrnGridLinesVertical PValInt EndGInt qjPDefGrup0qknameStrnGridLinesHorizontal PValInt EndGInt qkPDefGrup4qlnameStrnScrollBarVertical PValStrnTrueEndGInt qlPDefGrup4qmnameStrnScrollbarHorizontal PValStrnTrueEndGInt qmPDefGrup(qnnameStrn HeadingIndexPValInt ÿÿÿÿEndGInt qnPDefGrup4qonameStrn InitialValueEncoInt PValStrnEndGInt qoPDefGrup,qpnameStrn UseFocusRingPValStrnTrueEndGInt qpPDefGrup0qqnameStrn HasHeading PValStrnFalse EndGInt qqPDefGrup4qrnameStrn ColumnWidthsEncoInt PValStrnEndGInt qrPDefGrup(qsnameStrn ColumnCount PValInt EndGInt qsPDefGrup(qtnameStrnBorder PValStrnTrueEndGInt qtPDefGrup(qunameStrnEnabled PValStrnTrueEndGInt quPDefGrup0qvnameStrnAutoDeactivate PValStrnTrueEndGInt qvPDefGrup0qwnameStrnHelpTag EncoInt PValStrnEndGInt qwPDefGrup(qxnameStrnVisible PValStrnTrueEndGInt qxPDefGrup(qynameStrnTabStop PValStrnTrueEndGInt qyPDefGrup$qznameStrnTabIndexPValInt EndGInt qzPDefGrup,q{nameStrn TabPanelIndex PValInt EndGInt q{PDefGrup,q|nameStrn LockBottom PValStrnTrueEndGInt q|PDefGrup0q}nameStrn LockRight PValStrnFalse EndGInt q}PDefGrup(q~nameStrnLockTop PValStrnTrueEndGInt q~PDefGrup(qnameStrnLockLeftPValStrnTrueEndGInt qPDefGrup$q€nameStrnHeight PValInt ³EndGInt q€PDefGrup$qnameStrnWidth PValInt ŒEndGInt qPDefGrup q‚nameStrnTop PValInt _EndGInt q‚PDefGrup qƒnameStrnLeftPValInt EndGInt qƒPDefGrup(q„nameStrnScope PValStrn0 EndGInt q„PDefGrup8q…nameStrnSuper EncoInt PValStrnListBox EndGInt q…PDefGrup$q†nameStrnIndex PValInt €EndGInt q†PDefGrup<q‡nameStrnNameEncoInt PValStrnBookmarksListBoxEndGInt q‡CBixInt iLckInt EndGInt qVCtrlGrupèqˆcclsStrnLabel nameStrnLabel PDefGrupDq‰nameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt q‰PDefGrup4qŠnameStrn DataField EncoInt PValStrnEndGInt qŠPDefGrup4q‹nameStrn DataSource EncoInt PValStrnEndGInt q‹PDefGrup(qŒnameStrn Underline PValStrnEndGInt qŒPDefGrup$qnameStrnItalic PValStrnEndGInt qPDefGrup qŽnameStrnBoldPValStrnEndGInt qŽPDefGrup(qnameStrnTextUnitPValStrn0 EndGInt qPDefGrup(qnameStrnTextSizePValStrn24 EndGInt qPDefGrup8q‘nameStrnTextFontEncoInt PValStrnArial EndGInt q‘PDefGrup0q’nameStrnAutoDeactivate PValStrnTrueEndGInt q’PDefGrup0q“nameStrnHelpTag EncoInt PValStrnEndGInt q“PDefGrup0q”nameStrn Transparent PValStrnFalse EndGInt q”PDefGrup0q•nameStrn Selectable PValStrnFalse EndGInt q•PDefGrup(q–nameStrnVisible PValStrnTrueEndGInt q–PDefGrup(q—nameStrnEnabled PValStrnTrueEndGInt q—PDefGrup(q˜nameStrn Multiline PValStrnEndGInt q˜PDefGrup(q™nameStrn TextColor PValInt EndGInt q™PDefGrup(qšnameStrn TextAlign PValInt EndGInt qšPDefGrup,q›nameStrnTextEncoInt PValStrnEndGInt q›PDefGrup$qœnameStrnTabIndexPValInt EndGInt qœPDefGrup,qnameStrn TabPanelIndex PValInt EndGInt qPDefGrup(qžnameStrn LockBottom PValStrnEndGInt qžPDefGrup(qŸnameStrn LockRight PValStrnEndGInt qŸPDefGrup(q nameStrnLockTop PValStrnTrueEndGInt q PDefGrup(q¡nameStrnLockLeftPValStrnTrueEndGInt q¡PDefGrup$q¢nameStrnHeight PValInt EndGInt q¢PDefGrup$q£nameStrnWidth PValInt êEndGInt q£PDefGrup q¤nameStrnTop PValInt 2EndGInt q¤PDefGrup q¥nameStrnLeftPValInt EndGInt q¥PDefGrup(q¦nameStrnScope PValStrn0 EndGInt q¦PDefGrup8q§nameStrnSuper EncoInt PValStrnLabel EndGInt q§PDefGrup$q¨nameStrnIndex PValInt €EndGInt q¨PDefGrup<q©nameStrnNameEncoInt PValStrnResultsTopLabel EndGInt q©CBixInt iLckInt EndGInt qˆCtrlGrupôqªcclsStrnLabel nameStrnLabel PDefGrupDq«nameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt q«PDefGrup4q¬nameStrn DataField EncoInt PValStrnEndGInt q¬PDefGrup4q­nameStrn DataSource EncoInt PValStrnEndGInt q­PDefGrup(q®nameStrn Underline PValStrnEndGInt q®PDefGrup$q¯nameStrnItalic PValStrnEndGInt q¯PDefGrup q°nameStrnBoldPValStrnEndGInt q°PDefGrup(q±nameStrnTextUnitPValStrn0 EndGInt q±PDefGrup(q²nameStrnTextSizePValStrn24 EndGInt q²PDefGrup8q³nameStrnTextFontEncoInt PValStrnArial EndGInt q³PDefGrup0q´nameStrnAutoDeactivate PValStrnTrueEndGInt q´PDefGrup0qµnameStrnHelpTag EncoInt PValStrnEndGInt qµPDefGrup0q¶nameStrn Transparent PValStrnFalse EndGInt q¶PDefGrup0q·nameStrn Selectable PValStrnFalse EndGInt q·PDefGrup(q¸nameStrnVisible PValStrnTrueEndGInt q¸PDefGrup(q¹nameStrnEnabled PValStrnTrueEndGInt q¹PDefGrup(qºnameStrn Multiline PValStrnEndGInt qºPDefGrup(q»nameStrn TextColor PValInt EndGInt q»PDefGrup(q¼nameStrn TextAlign PValInt EndGInt q¼PDefGrup4q½nameStrnTextEncoInt PValStrnOld NameEndGInt q½PDefGrup$q¾nameStrnTabIndexPValInt EndGInt q¾PDefGrup,q¿nameStrn TabPanelIndex PValInt EndGInt q¿PDefGrup(qÀnameStrn LockBottom PValStrnEndGInt qÀPDefGrup(qÁnameStrn LockRight PValStrnEndGInt qÁPDefGrup(qÂnameStrnLockTop PValStrnTrueEndGInt qÂPDefGrup(qÃnameStrnLockLeftPValStrnTrueEndGInt qÃPDefGrup$qÄnameStrnHeight PValInt EndGInt qÄPDefGrup$qÅnameStrnWidth PValInt ÔEndGInt qÅPDefGrup qÆnameStrnTop PValInt mEndGInt qÆPDefGrup qÇnameStrnLeftPValInt EndGInt qÇPDefGrup(qÈnameStrnScope PValStrn0 EndGInt qÈPDefGrup8qÉnameStrnSuper EncoInt PValStrnLabel EndGInt qÉPDefGrup$qÊnameStrnIndex PValInt €EndGInt qÊPDefGrup@qËnameStrnNameEncoInt PValStrnResultsOldNameText EndGInt qËCBixInt iLckInt EndGInt qªCtrlGrup TqÌcclsStrn TextField nameStrn TextField PDefGrupDqÍnameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt qÍPDefGrup4qÎnameStrn DataField EncoInt PValStrnEndGInt qÎPDefGrup4qÏnameStrn DataSource EncoInt PValStrnEndGInt qÏPDefGrup@qÐnameStrnAutomaticallyCheckSpelling PValStrnFalse EndGInt qÐPDefGrup(qÑnameStrn Alignment PValInt EndGInt qÑPDefGrup(qÒnameStrn AcceptTabs PValStrnEndGInt qÒPDefGrup(qÓnameStrn LimitText PValInt EndGInt qÓPDefGrup$qÔnameStrnReadOnlyPValStrnEndGInt qÔPDefGrup,qÕnameStrnMaskEncoInt PValStrnEndGInt qÕPDefGrup,qÖnameStrnTextEncoInt PValStrnEndGInt qÖPDefGrup0q×nameStrnCueText EncoInt PValStrnEndGInt q×PDefGrup(qØnameStrn Underline PValStrnEndGInt qØPDefGrup$qÙnameStrnItalic PValStrnEndGInt qÙPDefGrup qÚnameStrnBoldPValStrnEndGInt qÚPDefGrup(qÛnameStrnTextUnitPValStrn0 EndGInt qÛPDefGrup(qÜnameStrnTextSizePValStrn24 EndGInt qÜPDefGrup8qÝnameStrnTextFontEncoInt PValStrnArial EndGInt qÝPDefGrup0qÞnameStrnAutoDeactivate PValStrnTrueEndGInt qÞPDefGrup0qßnameStrnHelpTag EncoInt PValStrnEndGInt qßPDefGrup(qànameStrnVisible PValStrnTrueEndGInt qàPDefGrup0qánameStrnFormat EncoInt PValStrnEndGInt qáPDefGrup(qânameStrnEnabled PValStrnTrueEndGInt qâPDefGrup(qãnameStrn BackColor PValInt ÿÿÿEndGInt qãPDefGrup(qänameStrn TextColor PValInt EndGInt qäPDefGrup,qånameStrn UseFocusRingPValStrnTrueEndGInt qåPDefGrup$qænameStrnPasswordPValStrnEndGInt qæPDefGrup(qçnameStrnBorder PValStrnTrueEndGInt qçPDefGrup(qènameStrnTabStop PValStrnTrueEndGInt qèPDefGrup$qénameStrnTabIndexPValInt EndGInt qéPDefGrup,qênameStrn TabPanelIndex PValInt EndGInt qêPDefGrup(qënameStrn LockBottom PValStrnEndGInt qëPDefGrup(qìnameStrn LockRight PValStrnEndGInt qìPDefGrup(qínameStrnLockTop PValStrnTrueEndGInt qíPDefGrup(qînameStrnLockLeftPValStrnTrueEndGInt qîPDefGrup$qïnameStrnHeight PValInt EndGInt qïPDefGrup$qðnameStrnWidth PValInt ÔEndGInt qðPDefGrup qñnameStrnTop PValInt šEndGInt qñPDefGrup qònameStrnLeftPValInt EndGInt qòPDefGrup(qónameStrnScope PValStrn0 EndGInt qóPDefGrup<qônameStrnSuper EncoInt PValStrn TextField EndGInt qôPDefGrup$qõnameStrnIndex PValInt €EndGInt qõPDefGrupDqönameStrnNameEncoInt PValStrnResultsOldNameEditField EndGInt qöCBixInt iLckInt EndGInt qÌCtrlGrupôq÷cclsStrnLabel nameStrnLabel PDefGrupDqønameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt qøPDefGrup4qùnameStrn DataField EncoInt PValStrnEndGInt qùPDefGrup4qúnameStrn DataSource EncoInt PValStrnEndGInt qúPDefGrup(qûnameStrn Underline PValStrnEndGInt qûPDefGrup$qünameStrnItalic PValStrnEndGInt qüPDefGrup qýnameStrnBoldPValStrnEndGInt qýPDefGrup(qþnameStrnTextUnitPValStrn0 EndGInt qþPDefGrup(qÿnameStrnTextSizePValStrn24 EndGInt qÿPDefGrup8rnameStrnTextFontEncoInt PValStrnArial EndGInt rPDefGrup0rnameStrnAutoDeactivate PValStrnTrueEndGInt rPDefGrup0rnameStrnHelpTag EncoInt PValStrnEndGInt rPDefGrup0rnameStrn Transparent PValStrnFalse EndGInt rPDefGrup0rnameStrn Selectable PValStrnFalse EndGInt rPDefGrup(rnameStrnVisible PValStrnTrueEndGInt rPDefGrup(rnameStrnEnabled PValStrnTrueEndGInt rPDefGrup(rnameStrn Multiline PValStrnEndGInt rPDefGrup(rnameStrn TextColor PValInt EndGInt rPDefGrup(r nameStrn TextAlign PValInt EndGInt r PDefGrup4r nameStrnTextEncoInt PValStrnNew NameEndGInt r PDefGrup$r nameStrnTabIndexPValInt EndGInt r PDefGrup,r nameStrn TabPanelIndex PValInt EndGInt r PDefGrup(r nameStrn LockBottom PValStrnEndGInt r PDefGrup(rnameStrn LockRight PValStrnEndGInt rPDefGrup(rnameStrnLockTop PValStrnTrueEndGInt rPDefGrup(rnameStrnLockLeftPValStrnTrueEndGInt rPDefGrup$rnameStrnHeight PValInt EndGInt rPDefGrup$rnameStrnWidth PValInt ÔEndGInt rPDefGrup rnameStrnTop PValInt ÇEndGInt rPDefGrup rnameStrnLeftPValInt EndGInt rPDefGrup(rnameStrnScope PValStrn0 EndGInt rPDefGrup8rnameStrnSuper EncoInt PValStrnLabel EndGInt rPDefGrup$rnameStrnIndex PValInt €EndGInt rPDefGrup@rnameStrnNameEncoInt PValStrnResultsNewNameText EndGInt rCBixInt iLckInt EndGInt q÷CtrlGrup TrcclsStrn TextField nameStrn TextField PDefGrupDrnameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt rPDefGrup4rnameStrn DataField EncoInt PValStrnEndGInt rPDefGrup4rnameStrn DataSource EncoInt PValStrnEndGInt rPDefGrup@rnameStrnAutomaticallyCheckSpelling PValStrnFalse EndGInt rPDefGrup(rnameStrn Alignment PValInt EndGInt rPDefGrup(rnameStrn AcceptTabs PValStrnEndGInt rPDefGrup(r nameStrn LimitText PValInt EndGInt r PDefGrup$r!nameStrnReadOnlyPValStrnEndGInt r!PDefGrup,r"nameStrnMaskEncoInt PValStrnEndGInt r"PDefGrup,r#nameStrnTextEncoInt PValStrnEndGInt r#PDefGrup0r$nameStrnCueText EncoInt PValStrnEndGInt r$PDefGrup(r%nameStrn Underline PValStrnEndGInt r%PDefGrup$r&nameStrnItalic PValStrnEndGInt r&PDefGrup r'nameStrnBoldPValStrnEndGInt r'PDefGrup(r(nameStrnTextUnitPValStrn0 EndGInt r(PDefGrup(r)nameStrnTextSizePValStrn24 EndGInt r)PDefGrup8r*nameStrnTextFontEncoInt PValStrnArial EndGInt r*PDefGrup0r+nameStrnAutoDeactivate PValStrnTrueEndGInt r+PDefGrup0r,nameStrnHelpTag EncoInt PValStrnEndGInt r,PDefGrup(r-nameStrnVisible PValStrnTrueEndGInt r-PDefGrup0r.nameStrnFormat EncoInt PValStrnEndGInt r.PDefGrup(r/nameStrnEnabled PValStrnTrueEndGInt r/PDefGrup(r0nameStrn BackColor PValInt ÿÿÿEndGInt r0PDefGrup(r1nameStrn TextColor PValInt EndGInt r1PDefGrup,r2nameStrn UseFocusRingPValStrnTrueEndGInt r2PDefGrup$r3nameStrnPasswordPValStrnEndGInt r3PDefGrup(r4nameStrnBorder PValStrnTrueEndGInt r4PDefGrup(r5nameStrnTabStop PValStrnTrueEndGInt r5PDefGrup$r6nameStrnTabIndexPValInt EndGInt r6PDefGrup,r7nameStrn TabPanelIndex PValInt EndGInt r7PDefGrup(r8nameStrn LockBottom PValStrnEndGInt r8PDefGrup(r9nameStrn LockRight PValStrnEndGInt r9PDefGrup(r:nameStrnLockTop PValStrnTrueEndGInt r:PDefGrup(r;nameStrnLockLeftPValStrnTrueEndGInt r;PDefGrup$rnameStrnTop PValInt ôEndGInt r>PDefGrup r?nameStrnLeftPValInt EndGInt r?PDefGrup(r@nameStrnScope PValStrn0 EndGInt r@PDefGrup<rAnameStrnSuper EncoInt PValStrn TextField EndGInt rAPDefGrup$rBnameStrnIndex PValInt €EndGInt rBPDefGrupDrCnameStrnNameEncoInt PValStrnResultsNewNameEditField EndGInt rCCBixInt iLckInt EndGInt rCtrlGrup(rDcclsStrn PushButton nameStrn PushButton PDefGrupDrEnameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt rEPDefGrup(rFnameStrn Underline PValStrnEndGInt rFPDefGrup$rGnameStrnItalic PValStrnEndGInt rGPDefGrup rHnameStrnBoldPValStrnEndGInt rHPDefGrup(rInameStrnTextUnitPValStrn0 EndGInt rIPDefGrup(rJnameStrnTextSizePValStrn24 EndGInt rJPDefGrup8rKnameStrnTextFontEncoInt PValStrnArial EndGInt rKPDefGrup,rLnameStrn ButtonStyle PValStrn0 EndGInt rLPDefGrup0rMnameStrnAutoDeactivate PValStrnTrueEndGInt rMPDefGrup0rNnameStrnHelpTag EncoInt PValStrnEndGInt rNPDefGrup(rOnameStrnVisible PValStrnTrueEndGInt rOPDefGrup(rPnameStrnEnabled PValStrnTrueEndGInt rPPDefGrup$rQnameStrnCancel PValStrnEndGInt rQPDefGrup$rRnameStrnDefault PValStrnEndGInt rRPDefGrupDrSnameStrnCaption EncoInt PValStrnBack to Main Menu EndGInt rSPDefGrup(rTnameStrnTabStop PValStrnTrueEndGInt rTPDefGrup$rUnameStrnTabIndexPValInt EndGInt rUPDefGrup,rVnameStrn TabPanelIndex PValInt EndGInt rVPDefGrup(rWnameStrn LockBottom PValStrnEndGInt rWPDefGrup(rXnameStrn LockRight PValStrnEndGInt rXPDefGrup(rYnameStrnLockTop PValStrnTrueEndGInt rYPDefGrup(rZnameStrnLockLeftPValStrnTrueEndGInt rZPDefGrup$r[nameStrnHeight PValInt EndGInt r[PDefGrup$r\nameStrnWidth PValInt ÀEndGInt r\PDefGrup r]nameStrnTop PValInt !EndGInt r]PDefGrup r^nameStrnLeftPValInt EndGInt r^PDefGrup(r_nameStrnScope PValStrn0 EndGInt r_PDefGrup<r`nameStrnSuper EncoInt PValStrn PushButton EndGInt r`PDefGrup$ranameStrnIndex PValInt €EndGInt raPDefGrupDrbnameStrnNameEncoInt PValStrnResultsBottomPushButton EndGInt rbCBixInt iLckInt EndGInt rDCtrlGrup DrccclsStrnListBox nameStrnListBox PDefGrupDrdnameStrn InitialParent EncoInt PValStrn TabPanel1 EndGInt rdPDefGrup4renameStrn DataField EncoInt PValStrnEndGInt rePDefGrup4rfnameStrn DataSource EncoInt PValStrnEndGInt rfPDefGrup4rgnameStrnAutoHideScrollbars PValStrnTrueEndGInt rgPDefGrup,rhnameStrnColumnsResizablePValStrnEndGInt rhPDefGrup,rinameStrn SelectionType PValInt EndGInt riPDefGrup0rjnameStrnRequiresSelection PValStrnEndGInt rjPDefGrup0rknameStrnEnableDragReorder PValStrnEndGInt rkPDefGrup(rlnameStrn EnableDrag PValStrnEndGInt rlPDefGrup(rmnameStrn HierarchicalPValStrnEndGInt rmPDefGrup(rnnameStrn Underline PValStrnEndGInt rnPDefGrup$ronameStrnItalic PValStrnEndGInt roPDefGrup rpnameStrnBoldPValStrnEndGInt rpPDefGrup(rqnameStrnTextUnitPValStrn0 EndGInt rqPDefGrup(rrnameStrnTextSizePValStrn24 EndGInt rrPDefGrup8rsnameStrnTextFontEncoInt PValStrnArial EndGInt rsPDefGrup,rtnameStrn _ScrollOffset PValInt EndGInt rtPDefGrup(runameStrn _ScrollWidthPValInt ÿÿÿÿEndGInt ruPDefGrup,rvnameStrnDefaultRowHeightPValInt ÿÿÿÿEndGInt rvPDefGrup0rwnameStrnGridLinesVertical PValInt EndGInt rwPDefGrup0rxnameStrnGridLinesHorizontal PValInt EndGInt rxPDefGrup4rynameStrnScrollBarVertical PValStrnTrueEndGInt ryPDefGrup4rznameStrnScrollbarHorizontal PValStrnTrueEndGInt rzPDefGrup(r{nameStrn HeadingIndexPValInt ÿÿÿÿEndGInt r{PDefGrup4r|nameStrn InitialValueEncoInt PValStrnEndGInt r|PDefGrup,r}nameStrn UseFocusRingPValStrnTrueEndGInt r}PDefGrup(r~nameStrn HasHeading PValStrnEndGInt r~PDefGrup4rnameStrn ColumnWidthsEncoInt PValStrnEndGInt rPDefGrup(r€nameStrn ColumnCount PValInt EndGInt r€PDefGrup(rnameStrnBorder PValStrnTrueEndGInt rPDefGrup(r‚nameStrnEnabled PValStrnTrueEndGInt r‚PDefGrup0rƒnameStrnAutoDeactivate PValStrnTrueEndGInt rƒPDefGrup0r„nameStrnHelpTag EncoInt PValStrnEndGInt r„PDefGrup(r…nameStrnVisible PValStrnTrueEndGInt r…PDefGrup(r†nameStrnTabStop PValStrnTrueEndGInt r†PDefGrup$r‡nameStrnTabIndexPValInt EndGInt r‡PDefGrup,rˆnameStrn TabPanelIndex PValInt EndGInt rˆPDefGrup(r‰nameStrn LockBottom PValStrnEndGInt r‰PDefGrup(rŠnameStrn LockRight PValStrnEndGInt rŠPDefGrup(r‹nameStrnLockTop PValStrnTrueEndGInt r‹PDefGrup(rŒnameStrnLockLeftPValStrnTrueEndGInt rŒPDefGrup$rnameStrnHeight PValInt "EndGInt rPDefGrup$rŽnameStrnWidth PValInt ÔEndGInt rŽPDefGrup rnameStrnTop PValInt 0 And B = 0 ThensrclStrnReturn AsrclStrnElseIf A = 0 And B <> 0 ThensrclStrnReturn BsrclStrnElseIf A <> 0 And B <> 0 Then srclStrnReturn Min ( A, B ) srclStrnElseIf A = 0 And B = 0 Then srclStrnReturn 0srclStrnEnd If srclStrn End FunctionEndGInt ræEncoInt AlasStrnflagInt shrdInt parmStrnA As Integer, B As Integer rsltStrnInteger EndGInt råMethGrupørçnameStrn MinNonZero CompStrnVsblInt sorcGrup4rèEncoInt srclStrnHFunction MinNonZero(A As Integer, B As Integer, C As Integer) As IntegersrclStrnIf A <> 0 Then srclStrnIf B <> 0 Then srclStrnIf C <> 0 Then srclStrnReturn Min ( A, Min ( B, C ) ) srclStrnElse srclStrnReturn Min ( A, B ) srclStrnEnd If srclStrnElse srclStrnIf C <> 0 Then srclStrnReturn Min ( A, C ) srclStrnElse srclStrnReturn AsrclStrnEnd If srclStrnEnd If srclStrnElse srclStrnIf B <> 0 Then srclStrnIf C <> 0 Then srclStrnReturn Min ( B, C ) srclStrnElse srclStrnReturn BsrclStrnEnd If srclStrnElse srclStrnIf C <> 0 Then srclStrnReturn CsrclStrnElse srclStrnReturn 0srclStrnEnd If srclStrnEnd If srclStrnEnd If srclStrn End FunctionEndGInt rèEncoInt AlasStrnflagInt shrdInt parmStrn(A As Integer, B As Integer, C As IntegerrsltStrnInteger EndGInt rçMethGrupDrénameStrn MinNonZero CompStrnVsblInt sorcGrupprêEncoInt srclStrnVFunction MinNonZero(A As Integer, B As Integer, C As Integer, D As Integer) As Integer srclStrn5MsgBox "Module1.MinNonZero 3" /// Remove this MsgBox. srclStrn' Dim E1, E2 As IntegersrclStrn' E1 = MinNonZero ( A, b ) srclStrn' E2 = MinNonZero ( C, d ) srclStrn' Return MinNonZero ( E1, E2 ) srclStrn End FunctionEndGInt rêEncoInt AlasStrnflagInt shrdInt parmStrn6A As Integer, B As Integer, C As Integer, D As Integer rsltStrnInteger EndGInt réMethGrup\rënameStrnMsgBox CompStrnVsblInt sorcGrupÀrìEncoInt srclStrnSub MsgBox(B As Boolean)srclStrnIf B = True ThensrclStrn MsgBox "True" srclStrnElsesrclStrnMsgBox "False" srclStrnEnd If srclStrnEnd Sub EndGInt rìEncoInt AlasStrnflagInt shrdInt parmStrn B As BooleanrsltStrnEndGInt rëMethGruprínameStrnMsgBox CompStrnVsblInt sorcGruphrîEncoInt srclStrnSub MsgBox(I As Integer)srclStrnMsgBox Str ( I ) srclStrnEnd Sub EndGInt rîEncoInt AlasStrnflagInt shrdInt parmStrn I As IntegerrsltStrnEndGInt ríMethGrup¼rïnameStrnMyJoin CompStrnVsblInt sorcGruprðEncoInt srclStrn>Function MyJoin(sarray() as string, delim as string) As String srclStrnDim delimlen, I As Integer srclStrnDim mb As MemoryBlock srclStrn&Dim mbloc, mbsize, slen, UB As Integer srclStrn. /// Procedure Header For MyJoin srclStrn+ /// Name of Routine: MyJoin srclStrnA /// Programmer: Walter Purvis on the RB mail list srclStrn) /// Date Added: 9/21/2005 srclStrn /// srclStrnUB = Ubound ( sarray ) srclStrnK 'iterate thru loop once to total up the length of the strings srclStrnFor I = 0 To UB srclStrn'mbsize = mbsize + Len ( sarray ( I ) ) srclStrn Next I srclStrn: 'add the number of bytes that the delimiters will take up srclStrndelimlen = Len ( delim ) srclStrn-mbsize = mbsize + ( delimlen * ( UB + 1 ) ) srclStrnmb = NewMemoryBlock ( mbsize ) srclStrnIf mb = Nil Then Return "" srclStrnH 'iterate thru loop again, copying strings into memoryblocksrclStrnFor I = 0 To UB srclStrn&slen = Len ( sarray ( I ) ) + delimlen srclStrn5mb.StringValue ( mbloc, slen ) = sarray ( I ) + delim srclStrnmbloc = mbloc + slensrclStrn Next I srclStrnGReturn mb.StringValue ( 0, mbsize - delimlen ) ///doing -delimlen chops srclStrnT ///off an extra delimiter at the end; if you want the final delimiter,srclStrn) ///comment out at this line srclStrn End FunctionEndGInt rðEncoInt AlasStrnflagInt shrdInt parmStrn#sarray() as string, delim as string rsltStrnString EndGInt rïMethGrupÌrñnameStrnNextToLastItem CompStrnVsblInt sorcGrupròEncoInt srclStrnHFunction NextToLastItem(Line1 As String, Delimiter1 As String) As StringsrclStrn0Line1 = AllExceptLastItem ( Line1, Delimiter1 ) srclStrn'Line1 = LastItem ( Line1, Delimiter1 ) srclStrn Return Line1srclStrn End FunctionEndGInt ròEncoInt AlasStrnflagInt shrdInt parmStrn%Line1 As String, Delimiter1 As String rsltStrnString EndGInt rñMethGrup@rónameStrnRevInStrCompStrnVsblInt sorcGrupprôEncoInt srclStrnSFunction RevInStr(Pos0 As Integer, String1 As String, String2 As String) As Integer srclStrnDim I As IntegersrclStrnFor I = Pos0 DownTo 1 srclStrn5If Mid ( String1, I, Len ( String2 ) ) = String2 Then srclStrnReturn IsrclStrnExitsrclStrnEnd If srclStrn Next I srclStrnReturn 0srclStrn End FunctionEndGInt rôEncoInt AlasStrnflagInt shrdInt parmStrn5Pos0 As Integer, String1 As String, String2 As String rsltStrnInteger EndGInt róMethGrup$rõnameStrnRevInStrCompStrnVsblInt sorcGruphröEncoInt srclStrnBFunction RevInStr(String1 As String, String2 As String) As Integer srclStrnDim I As IntegersrclStrn For I = Len ( String1 ) DownTo 1srclStrn5If Mid ( String1, I, Len ( String2 ) ) = String2 Then srclStrnReturn IsrclStrnExitsrclStrnEnd If srclStrn Next I srclStrnReturn 0srclStrn End FunctionEndGInt röEncoInt AlasStrnflagInt shrdInt parmStrn$String1 As String, String2 As StringrsltStrnInteger EndGInt rõMethGrupÄr÷nameStrnRpt CompStrnVsblInt sorcGruprøEncoInt srclStrn1Function Rpt(A As String, B As Integer) As String srclStrnDim I As IntegersrclStrnDim M As String srclStrnM = "" srclStrnFor I = 1 To B srclStrn M = M + A srclStrn Next I srclStrnReturn MsrclStrn End FunctionEndGInt røEncoInt AlasStrnflagInt shrdInt parmStrnA As String, B As Integer rsltStrnString EndGInt r÷MethGrup„rùnameStrnS CompStrnVsblInt sorcGrupärúEncoInt srclStrn"Function S(A As Boolean) As String srclStrn*MsgBox "Module1.S" /// Remove this MsgBox. srclStrnF' If A Then Return EOL + "True" + EOL Else Return EOL + "False" + EOL srclStrn End FunctionEndGInt rúEncoInt AlasStrnflagInt shrdInt parmStrn A As BooleanrsltStrnString EndGInt rùMethGrup\rûnameStrnS CompStrnVsblInt sorcGrup¼rüEncoInt srclStrn!Function S(A As Double) As String srclStrn*MsgBox "Module1.S" /// Remove this MsgBox. srclStrn ' Return EOL + CStr ( A ) + EOLsrclStrn End FunctionEndGInt rüEncoInt AlasStrnflagInt shrdInt parmStrn A As Double rsltStrnString EndGInt rûMethGrup`rýnameStrnS CompStrnVsblInt sorcGrupÀrþEncoInt srclStrn!Function S(A As String) As String srclStrn*MsgBox "Module1.S" /// Remove this MsgBox. srclStrn#' Return EOL + "|" + A + "|" + EOL srclStrn End FunctionEndGInt rþEncoInt AlasStrnflagInt shrdInt parmStrn A As String rsltStrnString EndGInt rýPropGrupÜrÿnameStrn MethodSourceCompStrnVsblInt sorcGrup@sEncoInt srclStrnMethodSource As Boolean srclStrnEndGInt sEncoInt declStrnMethodSource As Boolean = False flagInt shrdInt EndGInt rÿPropGrupìsnameStrnNumberOfBlankLines CompStrnVsblInt sorcGrupHsEncoInt srclStrnNumberOfBlankLines As Integer srclStrnEndGInt sEncoInt declStrnNumberOfBlankLines As Integer flagInt shrdInt EndGInt sPropGrupÔsnameStrn NumberOfSubsCompStrnVsblInt sorcGrup@sEncoInt srclStrnNumberOfSubs As Integer srclStrnEndGInt sEncoInt declStrnNumberOfSubs As Integer flagInt shrdInt EndGInt sPropGrupäsnameStrnNumberOfFunctions CompStrnVsblInt sorcGrupDsEncoInt srclStrnNumberOfFunctions As IntegersrclStrnEndGInt sEncoInt declStrnNumberOfFunctions As IntegerflagInt shrdInt EndGInt sPropGrupìsnameStrnNumberOfCommentLinesCompStrnVsblInt sorcGrupHsEncoInt srclStrnNumberOfCommentLines As Integer srclStrnEndGInt sEncoInt declStrnNumberOfCommentLines As Integer flagInt shrdInt EndGInt sPropGrupàs nameStrnNumberOfHexLinesCompStrnVsblInt sorcGrupDs EncoInt srclStrnNumberOfHexLines As Integer srclStrnEndGInt s EncoInt declStrnNumberOfHexLines As Integer flagInt shrdInt EndGInt s PropGrupìs nameStrnNumberOfMixedLines CompStrnVsblInt sorcGrupHs EncoInt srclStrnNumberOfMixedLines As Integer srclStrnEndGInt s EncoInt declStrnNumberOfMixedLines As Integer flagInt shrdInt EndGInt s PropGrupìs nameStrnNumberOfSourceLines CompStrnVsblInt sorcGrupHsEncoInt srclStrnNumberOfSourceLines As Integer srclStrnEndGInt sEncoInt declStrnNumberOfSourceLines As Integer flagInt shrdInt EndGInt s PropGrupôsnameStrnWithXMLLineNumbers CompStrnVsblInt sorcGrupHsEncoInt srclStrnWithXMLLineNumbers As Boolean srclStrnEndGInt sEncoInt declStrn%WithXMLLineNumbers As Boolean = False flagInt shrdInt EndGInt sPropGrupÀsnameStrnOldStr CompStrnVsblInt sorcGrup8sEncoInt srclStrnOldStr As StringsrclStrnEndGInt sEncoInt declStrnOldStr As StringflagInt shrdInt EndGInt sPropGrupÀsnameStrnNewStr CompStrnVsblInt sorcGrup8sEncoInt srclStrnNewStr As StringsrclStrnEndGInt sEncoInt declStrnNewStr As StringflagInt shrdInt EndGInt sPropGrup¼snameStrnEOL CompStrnVsblInt sorcGrup8sEncoInt srclStrn EOL As String srclStrnEndGInt sEncoInt declStrn EOL As String flagInt shrdInt EndGInt sVwBhGrupxsVwPrGrupDsNameStrnNameVsblInt PrGpStrnID CPifStrnObject EndGInt sVwPrGrup`sNameStrnIndex VsblInt PrGpStrnID PValStrn -2147483648 CPifStrnObject EndGInt sVwPrGrupHsNameStrnSuper VsblInt PrGpStrnID CPifStrnObject EndGInt sVwPrGrupXsNameStrnLeftVsblInt PrGpStrnPositionPValStrn0 CPifStrnObject EndGInt sVwPrGrupXsNameStrnTop VsblInt PrGpStrnPositionPValStrn0 CPifStrnObject EndGInt sVwPrGrupXsNameStrn MethodSourcePrGpStrnBehaviorPValStrnFalse typeStrnBoolean EndGInt sVwPrGrup\sNameStrnNumberOfBlankLines PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt sVwPrGrupTsNameStrn NumberOfSubsPrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt sVwPrGrup\s NameStrnNumberOfFunctions PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt s VwPrGrup\s!NameStrnNumberOfCommentLinesPrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt s!VwPrGrupXs"NameStrnNumberOfHexLinesPrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt s"VwPrGrup\s#NameStrnNumberOfMixedLines PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt s#VwPrGrup\s$NameStrnNumberOfSourceLines PrGpStrnBehaviorPValStrn0 typeStrnInteger EndGInt s$VwPrGrup`s%NameStrnWithXMLLineNumbers PrGpStrnBehaviorPValStrnFalse typeStrnBoolean EndGInt s%VwPrGrup\s&NameStrnOldStr PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt s&VwPrGrup\s'NameStrnNewStr PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt s'VwPrGrupXs(NameStrnEOL PrGpStrnBehaviortypeStrnString vbETStrnMultiLineEditor EndGInt s(EndGInt sCnstGrupps)nameStrnQ CompStrnVsblInt EncoInt nameStrnQ typeInt defnStrn" flagInt EndGInt s)CnstGrupps*nameStrnQQQQCompStrnVsblInt EncoInt nameStrnQQQQtypeInt defnStrn""""flagInt EndGInt s*PadnPadn\********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************BlokpVewDugÿ,NameStrn HelpWindow ContInt paswStrnbClsInt SuprStrnWindow flagInt bNtrInt CompStrnPDefGrup<s+nameStrnImplicitInstanceEncoInt PValStrnTrueEndGInt s+PDefGrup$s,nameStrnMenuBar PValStrnEndGInt s,PDefGrup(s-nameStrn MacProcID PValInt EndGInt s-PDefGrup0s.nameStrnMinimizeButton PValStrnTrueEndGInt s.PDefGrup4s/nameStrnMaximizeButton PValStrnFalse EndGInt s/PDefGrup,s0nameStrn LiveResize PValStrnTrueEndGInt s0PDefGrup0s1nameStrn Resizeable PValStrnFalse EndGInt s1PDefGrup,s2nameStrn CloseButton PValStrnTrueEndGInt s2PDefGrup0s3nameStrnMenuBarVisible PValStrnTrueEndGInt s3PDefGrup0s4nameStrn FullScreen PValStrnFalse EndGInt s4PDefGrup(s5nameStrnVisible PValStrnTrueEndGInt s5PDefGrup8s6nameStrnTitle EncoInt PValStrnUntitledEndGInt s6PDefGrup$s7nameStrnBackdropPValStrnEndGInt s7PDefGrup(s8nameStrn BackColor PValInt ÿÿÿEndGInt s8PDefGrup0s9nameStrn HasBackColorPValStrnFalse EndGInt s9PDefGrup,s:nameStrn Composite PValStrnTrueEndGInt s:PDefGrup$s;nameStrnFrame PValInt EndGInt s;PDefGrup(snameStrn MinHeight PValInt @EndGInt s>PDefGrup$s?nameStrnMinWidthPValInt @EndGInt s?PDefGrup$s@nameStrnHeight PValInt ,EndGInt s@PDefGrup$sAnameStrnWidth PValInt éEndGInt sAPDefGrup(sBnameStrn Placement PValInt EndGInt sBVwBhGrupôsCVwPrGrupDsDNameStrnNameVsblInt PrGpStrnID CPifStrnWindow EndGInt sDVwPrGrupLsENameStrn Interfaces VsblInt PrGpStrnID CPifStrnWindow EndGInt sEVwPrGrupHsFNameStrnSuper VsblInt PrGpStrnID CPifStrnWindow EndGInt sFVwPrGrup0sGNameStrn Placement VsblInt PrGpStrnPositionPValStrn0 typeStrnInteger vbETStrnEnumCPifStrnWindow EnumGrup”sHdefnStrn 0 - Default defnStrn1 - Parent Window defnStrn2 - Main Screen defnStrn3 - Parent Window ScreendefnStrn 4 - Stagger EndGInt sHEndGInt sGVwPrGruppsINameStrnWidth VsblInt PrGpStrnPositionPValStrn300 typeStrnInteger CPifStrnWindow EndGInt sIVwPrGruppsJNameStrnHeight VsblInt PrGpStrnPositionPValStrn300 typeStrnInteger CPifStrnWindow EndGInt sJVwPrGruppsKNameStrnMinWidthVsblInt PrGpStrnPositionPValStrn64 typeStrnInteger CPifStrnWindow EndGInt sKVwPrGruptsLNameStrn MinHeight VsblInt PrGpStrnPositionPValStrn64 typeStrnInteger CPifStrnWindow EndGInt sLVwPrGruptsMNameStrnMaxWidthVsblInt PrGpStrnPositionPValStrn32000 typeStrnInteger CPifStrnWindow EndGInt sMVwPrGrupxsNNameStrn MaxHeight VsblInt PrGpStrnPositionPValStrn32000 typeStrnInteger CPifStrnWindow EndGInt sNVwPrGrup sONameStrnFrame VsblInt PrGpStrn Appearance PValStrn0 typeStrnInteger vbETStrnEnumCPifStrnWindow EnumGruppsPdefnStrn 0 - DocumentdefnStrn1 - Movable Modal defnStrn2 - Modal DialogdefnStrn3 - Floating Window defnStrn 4 - Plain Box defnStrn5 - Shadowed BoxdefnStrn6 - Rounded Window defnStrn7 - Global Floating Window defnStrn8 - Sheet WindowdefnStrn9 - Metal WindowdefnStrn10 - Drawer Window defnStrn11 - Modeless DialogEndGInt sPEndGInt sOVwPrGrup|sQNameStrn Composite VsblInt PrGpStrn Appearance PValStrnFalse typeStrnBoolean CPifStrnWindow EndGInt sQVwPrGrup|sRNameStrn HasBackColorVsblInt PrGpStrn Appearance PValStrnFalse typeStrnBoolean CPifStrnWindow EndGInt sRVwPrGrup|sSNameStrn BackColor VsblInt PrGpStrn Appearance PValStrn&hFFFFFFtypeStrnColor CPifStrnWindow EndGInt sSVwPrGrupxsTNameStrnBackdropVsblInt PrGpStrn Appearance typeStrnPicture vbETStrnPicture CPifStrnWindow EndGInt sTVwPrGrupxsUNameStrnTitle VsblInt PrGpStrn Appearance PValStrnUntitledtypeStrnString CPifStrnWindow EndGInt sUVwPrGruptsVNameStrnVisible VsblInt PrGpStrn Appearance PValStrnTruetypeStrnBoolean CPifStrnWindow EndGInt sVVwPrGrup|sWNameStrn FullScreen VsblInt PrGpStrn Appearance PValStrnFalse typeStrnBoolean CPifStrnWindow EndGInt sWVwPrGrup|sXNameStrnMenuBarVisible VsblInt PrGpStrn Appearance PValStrnTruetypeStrnBoolean CPifStrnWindow EndGInt sXVwPrGrupxsYNameStrn CloseButton VsblInt PrGpStrn Appearance PValStrnTruetypeStrnBoolean CPifStrnWindow EndGInt sYVwPrGrup|sZNameStrn Resizeable VsblInt PrGpStrn Appearance PValStrnFalse typeStrnBoolean CPifStrnWindow EndGInt sZVwPrGrupxs[NameStrn LiveResize VsblInt PrGpStrn Appearance PValStrnTruetypeStrnBoolean CPifStrnWindow EndGInt s[VwPrGrup€s\NameStrnMaximizeButton VsblInt PrGpStrn Appearance PValStrnFalse typeStrnBoolean CPifStrnWindow EndGInt s\VwPrGrup|s]NameStrnMinimizeButton VsblInt PrGpStrn Appearance PValStrnTruetypeStrnBoolean CPifStrnWindow EndGInt s]VwPrGrupxs^NameStrn MacProcID VsblInt PrGpStrn Appearance PValStrn0 typeStrnInteger CPifStrnWindow EndGInt s^VwPrGrupxs_NameStrnMenuBar VsblInt PrGpStrn Appearance typeStrnMenuBar vbETStrnMenuBar CPifStrnWindow EndGInt s_VwPrGrup|s`NameStrnImplicitInstanceVsblInt PrGpStrn Appearance PValStrnTruevbETStrnBoolean CPifStrnWindow EndGInt s`EndGInt sCCBhvGrupsaSuprStrn HTMLViewer EndGInt saCBhvGrup¼sbSuprStrn PushButton HInsGrupðscnameStrnAction CompStrnVsblInt sorcGrup¨sdEncoInt srclStrn Sub Action()srclStrn>MsgBox "HelpWindow.PushButton1.Action" /// Remove this MsgBox. srclStrn' HelpWindow.Close srclStrnEnd Sub EndGInt sdEndGInt scHInsGrup€senameStrnOpenCompStrnVsblInt sorcGrup<sfEncoInt srclStrn Sub Open() srclStrn