home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / Basic / Samples / 3CTRLS / 3CTRLS.ZIP / BROWSER.FRM (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1993-08-18  |  13.5 KB  |  405 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. Option Explicit
  276. Dim subtext$
  277. ' Example using nested VideoSoft VSAWK
  278. ' Projects need to be saved as TEXT be parsed by VSAWK.
  279. ' Once the project is loaded, just click on the desired
  280. ' subroutine name on list2 and the code will be place on
  281. ' the text box.
  282. ' VSElastic is used to automatically resize the form and
  283. ' for flooding status when parsing the file.
  284. ' CMDialog is used to open the file.
  285. Sub Command1_Click (Index%)
  286.   Select Case Index
  287.     Case 0 'Open Button
  288.       ' get file name
  289.       cmdialog.Filename = ""
  290.       cmdialog.DefaultExt = "MAK"
  291.       cmdialog.Filter = "VB Projects (*.mak)|*.MAK|All Files (*.*)|*.*"
  292.       cmdialog.Flags = &H1800&
  293.       cmdialog.Action = 1
  294.       If cmdialog.Filename = "" Then Exit Sub
  295.       ' read project
  296.       text1 = ""
  297.       vsawk1.FileName = cmdialog.Filename
  298.       vsawk1.Tag = Left(cmdialog.Filename, Len(cmdialog.Filename) - Len(cmdialog.Filetitle))
  299.       vsawk1.Action = 0
  300.       vselastic3.FloodPercent = 0
  301.       vselastic3 = "Ready"
  302.     Case 1 ' Clipboard
  303.       If text1 = "" Then MsgBox "Sorry, no code selected": Exit Sub
  304.       clipboard.SetText text1, 1
  305.       vselastic3 = "Code copied to clipboard"
  306.     Case 2 'Print
  307.       MsgBox "printing routine not implemented"
  308.   End Select
  309. End Sub
  310. Sub Form_Resize ()
  311.   vselastic1(0).Left = 0
  312. End Sub
  313. Sub List2_DblClick ()
  314.   vsawk3 = list2
  315.   vsawk3.FileName = vsawk3.F(3)
  316.   vsawk3.Tag = Val(vsawk3.F(4))
  317.   vsawk3.Action = 0
  318. End Sub
  319. Sub VSAwk1_Begin ()
  320.   list1.Clear
  321. End Sub
  322. Sub VSAwk1_End ()
  323.   Dim i%
  324.   list1.Refresh
  325.   list2.Clear
  326.   For i = 0 To list1.ListCount - 1
  327.     list1.ListIndex = i
  328.     vsawk2.FileName = list1.List(i)
  329.     vselastic3 = vsawk2.FileName
  330.     vsawk2.Action = 0
  331.     list1.Refresh
  332.     list2.Refresh
  333.   Next
  334. End Sub
  335. Sub VSAwk1_Scan ()
  336.   'add .FRM files to List1
  337.   If InStr(vsawk1, "=") > 0 Or InStr(vsawk1, "VBX") > 0 Then Exit Sub
  338.   If InStr(vsawk1, "\") > 0 Then
  339.     list1.AddItem vsawk1
  340.   Else
  341.     list1.AddItem vsawk1.Tag + vsawk1
  342.   End If
  343. End Sub
  344. Sub VSAwk2_Scan ()
  345.   Static insub%, a$, lp%
  346.   If vsawk2.PercentDone <> lp Then
  347.     lp = vsawk2.PercentDone
  348.     vselastic3.FloodPercent = lp
  349.     vselastic3.Refresh
  350.   End If
  351.   '=====================================================
  352.   'Search for subroutines/Functions/Variable definitions
  353.   '=====================================================
  354.   If vsawk2.F(1) = "Sub" Then
  355.     insub = True
  356.     a = vsawk2.F(2) + Chr(9) + "(sub)" + Chr(9) + vsawk2.FileName + Chr(9) + Format(vsawk2.CurrPos)
  357.     list2.AddItem a
  358.     Exit Sub
  359.   End If
  360.   If vsawk2.F(1) = "Function" Then
  361.     insub = True
  362.     a = vsawk2.F(2) + Chr(9) + "(fun)" + Chr(9) + vsawk2.FileName + Chr(9) + Format(vsawk2.CurrPos)
  363.     list2.AddItem a
  364.     Exit Sub
  365.   End If
  366.   If vsawk2.F(1) = "Global" And vsawk2.F(2) <> "Const" Then
  367.     a = vsawk2.F(2) + Chr(9) + "(gvar)" + Chr(9) + vsawk2.FileName + Chr(9) + Format(vsawk2.CurrPos)
  368.     list2.AddItem a
  369.     Exit Sub
  370.   End If
  371.   If vsawk2.F(1) = "Dim" And Not insub Then
  372.     a = vsawk2.F(2) + Chr(9) + "(fvar)" + Chr(9) + vsawk2.FileName + Chr(9) + Format(vsawk2.CurrPos)
  373.     list2.AddItem a
  374.     Exit Sub
  375.   End If
  376.   If vsawk2.F(1) = "End" And (vsawk2.F(2) = "Sub" Or vsawk2.F(2) = "Function") Then
  377.     insub = False
  378.     Exit Sub
  379.   End If
  380. End Sub
  381. Sub VSAwk3_Begin ()
  382.   vsawk3.CurrPos = Val(vsawk3.Tag)
  383.   subtext = ""
  384. End Sub
  385. Sub VSAwk3_End ()
  386.   text1 = subtext
  387. End Sub
  388. Sub VSAwk3_Scan ()
  389.   ' accumulate text
  390.   If subtext = "" Then
  391.     subtext = vsawk3
  392.   Else
  393.     subtext = subtext + Chr(13) + Chr(10) + vsawk3
  394.   End If
  395.   ' stop if only a var
  396.   If vsawk3.RN = 0 Then
  397.     If vsawk3.F(1) <> "Sub" And vsawk3.F(1) <> "Function" Then vsawk3.Action = 2
  398.   End If
  399.   ' stop at end of functions and subs
  400.   If vsawk3.F(1) = "End" Then
  401.     If vsawk3.F(2) = "Sub" Then vsawk3.Action = 2
  402.     If vsawk3.F(2) = "Function" Then vsawk3.Action = 2
  403.   End If
  404. End Sub
  405.