home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / vb_code1 / code_b / browser.frm next >
Text File  |  1993-08-18  |  14KB  |  447 lines

  1. VERSION 2.00
  2. Begin Form Form1 
  3.    Caption         =   "Code Browser using VideoSoft VSAWK"
  4.    Height          =   5880
  5.    Left            =   390
  6.    LinkTopic       =   "Form1"
  7.    ScaleHeight     =   5415
  8.    ScaleWidth      =   7680
  9.    Top             =   825
  10.    Width           =   7860
  11.    Begin VideoSoftElastic VSElastic1 
  12.       Align           =   5  'Fill Container
  13.       AutoSizeChildren=   4  'Uneven Vertically
  14.       BackColor       =   &H0000FF00&
  15.       BevelInner      =   3  'Inset
  16.       BevelInnerWidth =   1
  17.       BevelOuter      =   2  'Raised Outlined
  18.       BevelOuterWidth =   2
  19.       BorderWidth     =   0
  20.       Caption         =   ""
  21.       CaptionPos      =   1  'Left Center
  22.       ChildSpacing    =   6
  23.       FloodColor      =   &H000000C0&
  24.       FloodDirection  =   0  'None
  25.       FloodPercent    =   0
  26.       Height          =   4485
  27.       Index           =   5
  28.       Left            =   0
  29.       Splitter        =   1  'Yes (with uneven spacing)
  30.       TabIndex        =   5
  31.       Top             =   930
  32.       Width           =   7680
  33.       Begin VideoSoftElastic VSElastic1 
  34.          Align           =   0  'None
  35.          AutoSizeChildren=   4  'Uneven Vertically
  36.          BackColor       =   &H00C0C0C0&
  37.          BevelInner      =   3  'Inset
  38.          BevelInnerWidth =   1
  39.          BevelOuter      =   2  'Raised Outlined
  40.          BevelOuterWidth =   2
  41.          BorderWidth     =   0
  42.          Caption         =   ""
  43.          CaptionPos      =   1  'Left Center
  44.          ChildSpacing    =   6
  45.          FloodColor      =   &H000000C0&
  46.          FloodDirection  =   0  'None
  47.          FloodPercent    =   0
  48.          Height          =   1725
  49.          Index           =   1
  50.          Left            =   0
  51.          Splitter        =   1  'Yes (with uneven spacing)
  52.          TabIndex        =   9
  53.          Top             =   2760
  54.          Width           =   7680
  55.          Begin VideoSoftElastic VSElastic1 
  56.             Align           =   0  'None
  57.             AutoSizeChildren=   2  'Uneven Horizontally
  58.             BackColor       =   &H0000FF00&
  59.             BevelInner      =   3  'Inset
  60.             BevelInnerWidth =   1
  61.             BevelOuter      =   2  'Raised Outlined
  62.             BevelOuterWidth =   2
  63.             BorderWidth     =   1
  64.             Caption         =   ""
  65.             CaptionPos      =   1  'Left Center
  66.             ChildSpacing    =   6
  67.             FloodColor      =   &H000000C0&
  68.             FloodDirection  =   0  'None
  69.             FloodPercent    =   0
  70.             Height          =   1725
  71.             Index           =   2
  72.             Left            =   0
  73.             Splitter        =   1  'Yes (with uneven spacing)
  74.             TabIndex        =   12
  75.             Top             =   0
  76.             Width           =   7680
  77.             Begin ListBox List1 
  78.                FontBold        =   0   'False
  79.                FontItalic      =   0   'False
  80.                FontName        =   "Courier New"
  81.                FontSize        =   9
  82.                FontStrikethru  =   0   'False
  83.                FontUnderline   =   0   'False
  84.                Height          =   1605
  85.                Left            =   15
  86.                Sorted          =   -1  'True
  87.                TabIndex        =   10
  88.                Top             =   15
  89.                Width           =   2415
  90.             End
  91.             Begin ListBox List2 
  92.                FontBold        =   0   'False
  93.                FontItalic      =   0   'False
  94.                FontName        =   "Courier New"
  95.                FontSize        =   9
  96.                FontStrikethru  =   0   'False
  97.                FontUnderline   =   0   'False
  98.                Height          =   1605
  99.                Left            =   2520
  100.                Sorted          =   -1  'True
  101.                TabIndex        =   11
  102.                Top             =   15
  103.                Width           =   5145
  104.             End
  105.          End
  106.       End
  107.       Begin VideoSoftElastic VSElastic1 
  108.          Align           =   0  'None
  109.          AutoSizeChildren=   4  'Uneven Vertically
  110.          BackColor       =   &H00C0C0C0&
  111.          BevelInner      =   3  'Inset
  112.          BevelInnerWidth =   1
  113.          BevelOuter      =   2  'Raised Outlined
  114.          BevelOuterWidth =   2
  115.          BorderWidth     =   0
  116.          Caption         =   ""
  117.          CaptionPos      =   1  'Left Center
  118.          ChildSpacing    =   6
  119.          FloodColor      =   &H000000C0&
  120.          FloodDirection  =   0  'None
  121.          FloodPercent    =   0
  122.          Height          =   2670
  123.          Index           =   4
  124.          Left            =   0
  125.          Splitter        =   0  'No
  126.          TabIndex        =   6
  127.          Top             =   0
  128.          Width           =   7680
  129.          Begin TextBox Text1 
  130.             FontBold        =   0   'False
  131.             FontItalic      =   0   'False
  132.             FontName        =   "Courier New"
  133.             FontSize        =   9
  134.             FontStrikethru  =   0   'False
  135.             FontUnderline   =   0   'False
  136.             ForeColor       =   &H00FF0000&
  137.             Height          =   2115
  138.             Left            =   0
  139.             MultiLine       =   -1  'True
  140.             ScrollBars      =   3  'Both
  141.             TabIndex        =   7
  142.             Top             =   555
  143.             Width           =   7680
  144.          End
  145.          Begin VideoSoftElastic VSElastic1 
  146.             Align           =   0  'None
  147.             AutoSizeChildren=   0  'None
  148.             BackColor       =   &H00000000&
  149.             BevelInner      =   3  'Inset
  150.             BevelInnerWidth =   0
  151.             BevelOuter      =   2  'Raised Outlined
  152.             BevelOuterWidth =   0
  153.             BorderWidth     =   6
  154.             Caption         =   "Visual Basic Code"
  155.             CaptionPos      =   4  'Center Center
  156.             ChildSpacing    =   6
  157.             FloodColor      =   &H000000C0&
  158.             FloodDirection  =   0  'None
  159.             FloodPercent    =   0
  160.             FontBold        =   -1  'True
  161.             FontItalic      =   0   'False
  162.             FontName        =   "Arial"
  163.             FontSize        =   13.5
  164.             FontStrikethru  =   0   'False
  165.             FontUnderline   =   0   'False
  166.             ForeColor       =   &H000000FF&
  167.             Height          =   465
  168.             Index           =   3
  169.             Left            =   0
  170.             Splitter        =   0  'No
  171.             TabIndex        =   8
  172.             Top             =   0
  173.             Width           =   7680
  174.          End
  175.       End
  176.    End
  177.    Begin VideoSoftAwk VSAwk3 
  178.       Case            =   0  'No Change
  179.       FS              =   " ,    "
  180.       Left            =   2025
  181.       Top             =   4500
  182.    End
  183.    Begin VideoSoftAwk VSAwk2 
  184.       Case            =   0  'No Change
  185.       FS              =   " ,    "
  186.       Left            =   1530
  187.       Top             =   4500
  188.    End
  189.    Begin VideoSoftAwk VSAwk1 
  190.       Case            =   0  'No Change
  191.       FS              =   " ,    "
  192.       Left            =   990
  193.       Top             =   4500
  194.    End
  195.    Begin CommonDialog CMDialog 
  196.       Left            =   450
  197.       Top             =   4455
  198.    End
  199.    Begin VideoSoftElastic VSElastic3 
  200.       Align           =   1  'Align Top
  201.       AutoSizeChildren=   0  'None
  202.       BackColor       =   &H00C0C0C0&
  203.       BevelInner      =   3  'Inset
  204.       BevelInnerWidth =   1
  205.       BevelOuter      =   1  'Raised
  206.       BevelOuterWidth =   2
  207.       BorderWidth     =   6
  208.       Caption         =   ""
  209.       CaptionPos      =   4  'Center Center
  210.       ChildSpacing    =   6
  211.       FloodColor      =   &H0080FFFF&
  212.       FloodDirection  =   1  'Right
  213.       FloodPercent    =   0
  214.       Height          =   420
  215.       Left            =   0
  216.       Splitter        =   0  'No
  217.       TabIndex        =   4
  218.       Top             =   510
  219.       Width           =   7680
  220.    End
  221.    Begin VideoSoftElastic VSElastic1 
  222.       Align           =   1  'Align Top
  223.       AutoSizeChildren=   1  'Even Horizontally
  224.       BackColor       =   &H00C0C0C0&
  225.       BevelInner      =   3  'Inset
  226.       BevelInnerWidth =   1
  227.       BevelOuter      =   1  'Raised
  228.       BevelOuterWidth =   2
  229.       BorderWidth     =   6
  230.       Caption         =   ""
  231.       CaptionPos      =   1  'Left Center
  232.       ChildSpacing    =   6
  233.       FloodColor      =   &H000000C0&
  234.       FloodDirection  =   0  'None
  235.       FloodPercent    =   0
  236.       Height          =   510
  237.       Index           =   0
  238.       Left            =   0
  239.       Splitter        =   0  'No
  240.       TabIndex        =   3
  241.       Top             =   0
  242.       Width           =   7680
  243.       Begin CommandButton Command1 
  244.          BackColor       =   &H00C0C0C0&
  245.          Caption         =   "&Open.."
  246.          Default         =   -1  'True
  247.          Height          =   330
  248.          Index           =   0
  249.          Left            =   90
  250.          TabIndex        =   0
  251.          Top             =   90
  252.          Width           =   2430
  253.       End
  254.       Begin CommandButton Command1 
  255.          BackColor       =   &H00C0C0C0&
  256.          Caption         =   "&Print..."
  257.          Height          =   330
  258.          Index           =   2
  259.          Left            =   5130
  260.          TabIndex        =   2
  261.          Top             =   90
  262.          Width           =   2460
  263.       End
  264.       Begin CommandButton Command1 
  265.          BackColor       =   &H00C0C0C0&
  266.          Caption         =   "&Copy"
  267.          Height          =   330
  268.          Index           =   1
  269.          Left            =   2610
  270.          TabIndex        =   1
  271.          Top             =   90
  272.          Width           =   2430
  273.       End
  274.    End
  275. End
  276. Option Explicit
  277.  
  278. Dim subtext$
  279.  
  280. ' Example using nested VideoSoft VSAWK
  281. ' Projects need to be saved as TEXT be parsed by VSAWK.
  282. ' Once the project is loaded, just click on the desired
  283. ' subroutine name on list2 and the code will be place on
  284. ' the text box.
  285.  
  286. ' VSElastic is used to automatically resize the form and
  287. ' for flooding status when parsing the file.
  288.  
  289. ' CMDialog is used to open the file.
  290.  
  291. Sub Command1_Click (Index%)
  292.   Select Case Index
  293.  
  294.     Case 0 'Open Button
  295.       ' get file name
  296.       cmdialog.Filename = ""
  297.       cmdialog.DefaultExt = "MAK"
  298.       cmdialog.Filter = "VB Projects (*.mak)|*.MAK|All Files (*.*)|*.*"
  299.       cmdialog.Flags = &H1800&
  300.       cmdialog.Action = 1
  301.       If cmdialog.Filename = "" Then Exit Sub
  302.     
  303.       ' read project
  304.       text1 = ""
  305.       vsawk1.FileName = cmdialog.Filename
  306.       vsawk1.Tag = Left(cmdialog.Filename, Len(cmdialog.Filename) - Len(cmdialog.Filetitle))
  307.       vsawk1.Action = 0
  308.       vselastic3.FloodPercent = 0
  309.       vselastic3 = "Ready"
  310.  
  311.  
  312.     Case 1 ' Clipboard
  313.       If text1 = "" Then MsgBox "Sorry, no code selected": Exit Sub
  314.       clipboard.SetText text1, 1
  315.       vselastic3 = "Code copied to clipboard"
  316.  
  317.     Case 2 'Print
  318.       MsgBox "printing routine not implemented"
  319.  
  320.   End Select
  321. End Sub
  322.  
  323. Sub Form_Resize ()
  324.   vselastic1(0).Left = 0
  325. End Sub
  326.  
  327. Sub List2_DblClick ()
  328.   
  329.   vsawk3 = list2
  330.   vsawk3.FileName = vsawk3.F(3)
  331.   vsawk3.Tag = Val(vsawk3.F(4))
  332.   vsawk3.Action = 0
  333.  
  334. End Sub
  335.  
  336. Sub VSAwk1_Begin ()
  337.   list1.Clear
  338. End Sub
  339.  
  340. Sub VSAwk1_End ()
  341.   Dim i%
  342.  
  343.   list1.Refresh
  344.   list2.Clear
  345.   For i = 0 To list1.ListCount - 1
  346.     list1.ListIndex = i
  347.     vsawk2.FileName = list1.List(i)
  348.     vselastic3 = vsawk2.FileName
  349.     vsawk2.Action = 0
  350.     list1.Refresh
  351.     list2.Refresh
  352.   Next
  353.  
  354. End Sub
  355.  
  356. Sub VSAwk1_Scan ()
  357.   'add .FRM files to List1
  358.   If InStr(vsawk1, "=") > 0 Or InStr(vsawk1, "VBX") > 0 Then Exit Sub
  359.   If InStr(vsawk1, "\") > 0 Then
  360.     list1.AddItem vsawk1
  361.   Else
  362.     list1.AddItem vsawk1.Tag + vsawk1
  363.   End If
  364.  
  365. End Sub
  366.  
  367. Sub VSAwk2_Scan ()
  368.   Static insub%, a$, lp%
  369.  
  370.   If vsawk2.PercentDone <> lp Then
  371.     lp = vsawk2.PercentDone
  372.     vselastic3.FloodPercent = lp
  373.     vselastic3.Refresh
  374.   End If
  375.  
  376.   '=====================================================
  377.   'Search for subroutines/Functions/Variable definitions
  378.   '=====================================================
  379.   If vsawk2.F(1) = "Sub" Then
  380.     insub = True
  381.     a = vsawk2.F(2) + Chr(9) + "(sub)" + Chr(9) + vsawk2.FileName + Chr(9) + Format(vsawk2.CurrPos)
  382.     list2.AddItem a
  383.     Exit Sub
  384.   End If
  385.  
  386.   If vsawk2.F(1) = "Function" Then
  387.     insub = True
  388.     a = vsawk2.F(2) + Chr(9) + "(fun)" + Chr(9) + vsawk2.FileName + Chr(9) + Format(vsawk2.CurrPos)
  389.     list2.AddItem a
  390.     Exit Sub
  391.   End If
  392.  
  393.   If vsawk2.F(1) = "Global" And vsawk2.F(2) <> "Const" Then
  394.     a = vsawk2.F(2) + Chr(9) + "(gvar)" + Chr(9) + vsawk2.FileName + Chr(9) + Format(vsawk2.CurrPos)
  395.     list2.AddItem a
  396.     Exit Sub
  397.   End If
  398.  
  399.   If vsawk2.F(1) = "Dim" And Not insub Then
  400.     a = vsawk2.F(2) + Chr(9) + "(fvar)" + Chr(9) + vsawk2.FileName + Chr(9) + Format(vsawk2.CurrPos)
  401.     list2.AddItem a
  402.     Exit Sub
  403.   End If
  404.  
  405.   If vsawk2.F(1) = "End" And (vsawk2.F(2) = "Sub" Or vsawk2.F(2) = "Function") Then
  406.     insub = False
  407.     Exit Sub
  408.   End If
  409.  
  410. End Sub
  411.  
  412. Sub VSAwk3_Begin ()
  413.   
  414.   vsawk3.CurrPos = Val(vsawk3.Tag)
  415.   subtext = ""
  416.  
  417. End Sub
  418.  
  419. Sub VSAwk3_End ()
  420.   
  421.   text1 = subtext
  422.  
  423. End Sub
  424.  
  425. Sub VSAwk3_Scan ()
  426.   
  427.   ' accumulate text
  428.   If subtext = "" Then
  429.     subtext = vsawk3
  430.   Else
  431.     subtext = subtext + Chr(13) + Chr(10) + vsawk3
  432.   End If
  433.   
  434.   ' stop if only a var
  435.   If vsawk3.RN = 0 Then
  436.     If vsawk3.F(1) <> "Sub" And vsawk3.F(1) <> "Function" Then vsawk3.Action = 2
  437.   End If
  438.  
  439.   ' stop at end of functions and subs
  440.   If vsawk3.F(1) = "End" Then
  441.     If vsawk3.F(2) = "Sub" Then vsawk3.Action = 2
  442.     If vsawk3.F(2) = "Function" Then vsawk3.Action = 2
  443.   End If
  444.  
  445. End Sub
  446.  
  447.