home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 12 / CD_ASCQ_12_0294.iso / news / 2381 / vcc / browser.frm < prev    next >
Text File  |  1993-10-22  |  11KB  |  374 lines

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