home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / VBASIC / VBLISTER.ZIP / VBLISTER.FRM (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1996-02-23  |  13.2 KB  |  416 lines

  1. VERSION 4.00
  2. Begin VB.Form frmList 
  3.    BackColor       =   &H00C0FFFF&
  4.    Caption         =   "VB File Lister"
  5.    ClientHeight    =   6270
  6.    ClientLeft      =   2250
  7.    ClientTop       =   3390
  8.    ClientWidth     =   9690
  9.    Height          =   6675
  10.    Left            =   2190
  11.    LinkTopic       =   "Form1"
  12.    ScaleHeight     =   6270
  13.    ScaleWidth      =   9690
  14.    Top             =   3045
  15.    Width           =   9810
  16.    Begin VB.DriveListBox Drive1 
  17.       Appearance      =   0  'Flat
  18.       BackColor       =   &H00FFFFFF&
  19.       ForeColor       =   &H00000000&
  20.       Height          =   315
  21.       Left            =   240
  22.       TabIndex        =   5
  23.       Top             =   240
  24.       Width           =   4215
  25.    End
  26.    Begin VB.DirListBox Dir1 
  27.       Appearance      =   0  'Flat
  28.       Height          =   4755
  29.       Left            =   240
  30.       TabIndex        =   4
  31.       Top             =   840
  32.       Width           =   4095
  33.    End
  34.    Begin VB.FileListBox File1 
  35.       Appearance      =   0  'Flat
  36.       Height          =   4710
  37.       Left            =   4440
  38.       TabIndex        =   3
  39.       Top             =   840
  40.       Width           =   5070
  41.    End
  42.    Begin VB.CommandButton Command1 
  43.       Appearance      =   0  'Flat
  44.       BackColor       =   &H80000005&
  45.       Caption         =   "Exit"
  46.       Height          =   390
  47.       Left            =   3960
  48.       TabIndex        =   2
  49.       Top             =   5760
  50.       Width           =   1095
  51.    End
  52.    Begin VB.TextBox VBP 
  53.       Height          =   300
  54.       Left            =   5640
  55.       TabIndex        =   1
  56.       Text            =   " "
  57.       Top             =   240
  58.       Width           =   1356
  59.    End
  60.    Begin VB.CheckBox Check1 
  61.       BackColor       =   &H00C0FFFF&
  62.       Caption         =   "Indent On"
  63.       ForeColor       =   &H00000000&
  64.       Height          =   375
  65.       Left            =   7320
  66.       TabIndex        =   0
  67.       Top             =   240
  68.       Width           =   1365
  69.    End
  70.    Begin VB.Label Label2 
  71.       BackStyle       =   0  'Transparent
  72.       Caption         =   "VBP File"
  73.       Height          =   285
  74.       Left            =   4680
  75.       TabIndex        =   6
  76.       Top             =   240
  77.       Width           =   855
  78.    End
  79. Attribute VB_Name = "frmList"
  80. Attribute VB_Creatable = False
  81. Attribute VB_Exposed = False
  82. Public FileNm As Variant
  83. Public FilePath As String
  84. Public IndentIt As String
  85. Private Sub IndentOn_Click()
  86. If IndentOn = True Then
  87.     IndentIt = "YES"
  88.     IndentIt = "NO"
  89. End If
  90. End Sub
  91. Private Sub Command1_Click()
  92. Unload frmList
  93. End Sub
  94. Private Sub Dir1_Change()
  95. File1.Path = Dir1.Path
  96. End Sub
  97. Private Sub Drive1_Change()
  98.   Dir1.Path = Drive1.Drive
  99. End Sub
  100. Private Sub File1_Click()
  101. If Right(File1.Path, 1) <> "\" Then
  102.    FileNm = File1.Path & "\" & File1.filename
  103.  Else
  104.    FileNm = File1.Path & File1.filename
  105. End If
  106. MousePointer = 11
  107. FilePath = File1.Path & "\"
  108. Call ListSource(FileNm, FilePath, vbp)
  109. MousePointer = 0
  110. End Sub
  111. Private Sub Form_Load()
  112. Left = (Screen.Width - Width) / 2   ' Center form horizontally.
  113. Top = (Screen.Height - Height) / 2  ' Center form vertically.
  114. End Sub
  115. Public Sub ListSource(FileNm, FilePath, vbp)
  116. Dim L As Variant
  117. Dim LinesPerPage As Integer
  118. Dim CaseCount As Integer
  119. Dim VBPF As String
  120. On Error Resume Next
  121. Printer.Orientation = 2
  122. ChangeFont "MS LineDraw", 8
  123. If Trim(vbp.Text) <> "" Then
  124.     A$ = "* * * P R O J E C T  F I L E * * *"
  125.     Printer.Print
  126.     Printer.Print String$(132, "-")
  127.     Printer.Print Tab((132 - Len(A$)) / 2); A$
  128.     Printer.Print String$(132, "-")
  129.     VBPF = Trim(FilePath) & Trim(vbp) & ".vbp"
  130.     Open VBPF For Input As #1
  131.     Do Until EOF(1)
  132.        Line Input #1, L
  133.        Printer.Print Tab(1); L
  134.     Loop
  135.     Close #1
  136.     Printer.NewPage
  137.     Printer.Orientation = 2
  138.     ChangeFont "MS LineDraw", 10
  139. End If
  140. Open FileNm For Input As #1
  141. LinesPerPage = 0
  142. CaseCount = 0
  143. Indent = 1
  144. ChangeFont "MS LineDraw", 8
  145. Printer.Print String$(132, "-")
  146. A$ = "File: " & FileNm
  147. ChangeFont "MS LineDraw", 12
  148. Printer.Print UCase$(A$)
  149. ChangeFont "MS LineDraw", 8
  150. Printer.Print String$(132, "-")
  151. ChangeFont "MS LineDraw", 12
  152. Printer.Print "Subroutines And Functions In This Program :"
  153. ChangeFont "MS LineDraw", 8
  154. Do Until EOF(1)
  155.    Line Input #1, L
  156.    L = Trim(L)
  157.    If UCase$(Left(L, 3)) = "SUB" Then Printer.Print Tab(5); Trim(L)
  158.    If UCase$(Left(L, 11)) = "PRIVATE SUB" Then Printer.Print Tab(5); Trim(L)
  159.    If UCase$(Left(L, 10)) = "PUBLIC SUB" Then Printer.Print Tab(5); Trim(L)
  160.    If UCase$(Left(L, 10)) = "STATIC SUB" Then Printer.Print Tab(5); Trim(L)
  161.    If UCase$(Left(L, 16)) = "PRIVATE FUNCTION" Then Printer.Print Tab(5); Trim(L)
  162.    If UCase$(Left(L, 15)) = "PUBLIC FUNCTION" Then Printer.Print Tab(5); Trim(L)
  163.    If UCase$(Left(L, 15)) = "STATIC FUNCTION" Then Printer.Print Tab(5); Trim(L)
  164.    If UCase$(Left(L, 8)) = "FUNCTION" Then Printer.Print Tab(5); Trim(L)
  165.    If UCase$(Left(L, 16)) = "PRIVATE PROPERTY" Then Printer.Print Tab(5); Trim(L)
  166.    If UCase$(Left(L, 15)) = "PUBLIC PROPERTY" Then Printer.Print Tab(5); Trim(L)
  167.    If UCase$(Left(L, 15)) = "STATIC PROPERTY" Then Printer.Print Tab(5); Trim(L)
  168.    If UCase$(Left(L, 8)) = "PROPERTY" Then Printer.Print Tab(5); Trim(L)
  169. Printer.NewPage
  170. Printer.Orientation = 2
  171. ChangeFont "MS LineDraw", 8
  172. A$ = "* * * I N I T I A L I Z A T I O N * * *"
  173. Printer.Print
  174. Printer.Print String$(132, "-")
  175. Printer.Print Tab((132 - Len(A$)) / 2); A$
  176. Printer.Print String$(132, "-")
  177. Close #1
  178. Open FileNm For Input As #1
  179. Do Until EOF(1)
  180.    NewP = False
  181.    If LinesPerPage > 62 Then
  182.       Printer.NewPage
  183.       Printer.Orientation = 2
  184.       ChangeFont "MS LineDraw", 8
  185.       LinesPerPage = 0
  186.       NewP = True
  187.    End If
  188.    Line Input #1, L
  189.    If IndentIt = "YES" Then L = Trim(L)
  190.    'Pad to 227 and create multi lines in case L is > 132.  Allows upto 227 chars per line
  191.    If IndentIt = "YES" Then L = Trim(L) & Space(227 - Len(L))
  192.    If UCase$(Left(L, 3)) = "SUB" Or UCase$(Left(L, 11)) = "PRIVATE SUB" Or UCase$(Left(L, 10)) = "PUBLIC SUB" Or UCase$(Left(L, 10)) = "STATIC SUB" Then
  193.       If Not NewP Then
  194.           Printer.NewPage
  195.           Printer.Orientation = 2
  196.           ChangeFont "MS LineDraw", 8
  197.           Indent = 1
  198.           LinesPerPage = 0
  199.       End If
  200.       A$ = "* * * N E W  S U B R O U T I N E * * *"
  201.       Printer.Print
  202.       Printer.Print String$(132, "-")
  203.       Printer.Print Tab((132 - Len(A$)) / 2); A$
  204.       Printer.Print String$(132, "-")
  205.       ChangeFont "MS LineDraw", 12
  206.       Printer.Print L
  207.       ChangeFont "MS LineDraw", 8
  208.       LinesPerPage = LinesPerPage + 4
  209.    ElseIf UCase$(Left(L, 8)) = "FUNCTION" Or UCase$(Left(L, 16)) = "PRIVATE FUNCTION" Or UCase$(Left(L, 15)) = "PUBLIC FUNCTION" Or UCase$(Left(L, 15)) = "STATIC FUNCTION" Then
  210.       If Not NewP Then
  211.         Printer.NewPage
  212.         Printer.Orientation = 2
  213.         ChangeFont "MS LineDraw", 8
  214.         Printer.Orientation = 2
  215.         LinesPerPage = 0
  216.         Indent = 1
  217.       End If
  218.       A$ = "* * * N E W  F U N C T I O N * * *"
  219.       Printer.Print String$(132, "-")
  220.       Printer.Print Tab((132 - Len(A$)) / 2); A$
  221.       Printer.Print String$(132, "-")
  222.       ChangeFont "MS LineDraw", 12
  223.       Printer.Print L
  224.       ChangeFont "MS LineDraw", 8
  225.       LinesPerPage = LinesPerPage + 4
  226.    ElseIf UCase$(Left(L, 8)) = "PROPERTY" Or UCase$(Left(L, 16)) = "PRIVATE PROPERTY" Or UCase$(Left(L, 15)) = "PUBLIC PROPERTY" Or UCase$(Left(L, 15)) = "STATIC PROPERTY" Then
  227.       If Not NewP Then
  228.         Printer.NewPage
  229.         Printer.Orientation = 2
  230.         ChangeFont "MS LineDraw", 8
  231.         LinesPerPage = 0
  232.         Indent = 1
  233.       End If
  234.       A$ = "* * * N E W  P R O P E R T Y * * *"
  235.       Printer.Print String$(132, "-")
  236.       Printer.Print Tab((132 - Len(A$)) / 2); A$
  237.       Printer.Print String$(132, "-")
  238.       ChangeFont "MS LineDraw", 12
  239.       
  240.       Printer.Print L
  241.       ChangeFont "MS LineDraw", 8
  242.       
  243.       LinesPerPage = LinesPerPage + 4
  244.    ElseIf UCase$(Left(L, 7)) = "END SUB" Then
  245.      ChangeFont "MS LineDraw", 12
  246.       Printer.Print L
  247.       LinesPerPage = LinesPerPage + 2
  248.       ChangeFont "MS LineDraw", 8
  249.    ElseIf UCase$(Left(L, 12)) = "END FUNCTION" Then
  250.      ChangeFont "MS LineDraw", 12
  251.       Printer.Print L
  252.       LinesPerPage = LinesPerPage + 2
  253.       ChangeFont "MS LineDraw", 8
  254.    ElseIf UCase$(Left(L, 12)) = "END PROPERTY" Then
  255.       ChangeFont "MS LineDraw", 12
  256.       Printer.Print L
  257.       LinesPerPage = LinesPerPage + 2
  258.       ChangeFont "MS LineDraw", 8
  259.    ElseIf UCase$(Left(L, 1)) = "'" Then
  260.       Printer.Print
  261.       Printer.Print L
  262.       LinesPerPage = LinesPerPage + 2
  263.    ElseIf UCase$(Left(L, 3)) = "IF " And InStr(1, UCase$(L), "THEN") <> 0 Then
  264.       Printer.Print
  265.       If IndentIt = "YES" Then
  266.         Printer.Print Tab(Indent); Left$(L, Len(L) - Indent)
  267.       Else
  268.         Printer.Print Tab(1); L
  269.       End If
  270.       
  271.       Indent = Indent + 5
  272.       LinesPerPage = LinesPerPage + 1
  273.    ElseIf UCase$(Left(L, 6)) = "END IF" Then
  274.       Indent = Indent - 5
  275.       If Indent < 1 Then Indent = 1
  276.       If IndentIt = "YES" Then
  277.         Printer.Print Tab(Indent); Left$(L, Len(L) - Indent)
  278.       Else
  279.         Printer.Print Tab(1); L
  280.       End If
  281.       
  282.       LinesPerPage = LinesPerPage + 1
  283.    ElseIf UCase$(Left(L, 4)) = "ELSE" Then
  284.       Indent = Indent - 2
  285.       If Indent < 1 Then Indent = 1
  286.       If IndentIt = "YES" Then
  287.         Printer.Print Tab(Indent); Left$(L, Len(L) - Indent)
  288.       Else
  289.         Printer.Print Tab(1); L
  290.       End If
  291.       
  292.       Indent = Indent + 2
  293.       LinesPerPage = LinesPerPage + 1
  294.    ElseIf InStr(1, L, UCase$("ELSEIF")) <> 0 Then
  295.       If IndentIt = "YES" Then
  296.         Printer.Print Tab(Indent); Left$(L, Len(L) - Indent)
  297.       Else
  298.         Printer.Print Tab(1); L
  299.       End If
  300.       
  301.       Indent = Indent + 5
  302.       LinesPerPage = LinesPerPage + 1
  303.    ElseIf UCase$(Left(L, 3)) = "DO " Then
  304.       Printer.Print
  305.       If IndentIt = "YES" Then
  306.         Printer.Print Tab(Indent); Left$(L, Len(L) - Indent)
  307.       Else
  308.         Printer.Print Tab(1); L
  309.       End If
  310.       
  311.       Indent = Indent + 3
  312.       LinesPerPage = LinesPerPage + 2
  313.    ElseIf UCase$(Left(L, 5)) = "LOOP " Then
  314.       Indent = Indent - 3
  315.       If Indent < 1 Then Indent = 1
  316.       If IndentIt = "YES" Then
  317.         Printer.Print Tab(Indent); Left$(L, Len(L) - Indent)
  318.       Else
  319.         Printer.Print Tab(1); L
  320.       End If
  321.       
  322.       Printer.Print
  323.       LinesPerPage = LinesPerPage + 2
  324.    ElseIf UCase$(Left(L, 4)) = "FOR " Then
  325.       Printer.Print
  326.       If IndentIt = "YES" Then
  327.         Printer.Print Tab(Indent); Left$(L, Len(L) - Indent)
  328.       Else
  329.         Printer.Print Tab(1); L
  330.       End If
  331.       
  332.       Indent = Indent + 5
  333.       LinesPerPage = LinesPerPage + 2
  334.    ElseIf UCase$(Left(L, 5)) = "NEXT " Then
  335.       Indent = Indent - 5
  336.       If Indent < 1 Then Indent = 1
  337.       If IndentIt = "YES" Then
  338.         Printer.Print Tab(Indent); Left$(L, Len(L) - Indent)
  339.       Else
  340.         Printer.Print Tab(1); L
  341.       End If
  342.       
  343.       Printer.Print
  344.       LinesPerPage = LinesPerPage + 2
  345.    ElseIf UCase$(Left(L, 11)) = "SELECT CASE" Then
  346.       Printer.Print
  347.       If IndentIt = "YES" Then
  348.         Printer.Print Tab(Indent); Left$(L, Len(L) - Indent)
  349.       Else
  350.         Printer.Print Tab(1); L
  351.       End If
  352.       
  353.       Indent = Indent + 5
  354.       CaseCount = 0
  355.       LinesPerPage = LinesPerPage + 2
  356.    ElseIf UCase$(Left(L, 5)) = "CASE " Then
  357.          Indent = Indent - 3
  358.          If Indent < 1 Then Indent = 1
  359.          Printer.Print
  360.           If IndentIt = "YES" Then
  361.             Printer.Print Tab(Indent); Left$(L, Len(L) - Indent)
  362.           Else
  363.             Printer.Print Tab(1); L
  364.           End If
  365.          
  366.          Indent = Indent + 3
  367.          LinesPerPage = LinesPerPage + 2
  368.    ElseIf UCase$(Left(L, 10)) = "END SELECT" Then
  369.       Indent = Indent - 5
  370.       If Indent < 1 Then Indent = 1
  371.       Printer.Print
  372.       If IndentIt = "YES" Then
  373.         Printer.Print Tab(Indent); Left$(L, Len(L) - Indent)
  374.       Else
  375.         Printer.Print Tab(1); L
  376.       End If
  377.       CaseCount = 0
  378.       LinesPerPage = LinesPerPage + 2
  379.    ElseIf UCase$(Left(L, 5)) = "TYPE " Then
  380.       Printer.Print
  381.       If IndentIt = "YES" Then
  382.         Printer.Print Tab(Indent); Left$(L, Len(L) - Indent)
  383.       Else
  384.         Printer.Print Tab(1); L
  385.       End If
  386.       Indent = Indent + 4
  387.       LinesPerPage = LinesPerPage + 2
  388.    ElseIf UCase$(Left(L, 8)) = "END TYPE" Then
  389.       Indent = Indent - 4
  390.       If Indent < 1 Then Indent = 1
  391.       If IndentIt = "YES" Then
  392.         Printer.Print Tab(Indent); Left$(L, Len(L) - Indent)
  393.       Else
  394.         Printer.Print Tab(1); L
  395.       End If
  396.       Printer.Print
  397.       LinesPerPage = LinesPerPage + 2
  398.     Else
  399.       If IndentIt = "YES" Then
  400.          Printer.Print Tab(Indent); Left$(Trim(L), 160 - Indent)
  401.       Else
  402.          Printer.Print Tab(1); L
  403.       End If
  404.       LinesPerPage = LinesPerPage + 1
  405.     End If
  406. Printer.EndDoc
  407. Close #1
  408. End Sub
  409. Sub ChangeFont(Fname As String, Fsize As Integer)
  410. Dim x As New StdFont
  411. x.Name = Fname
  412. x.Size = Fsize
  413. Printer.Print ""
  414. Set Printer.Font = x
  415. End Sub
  416.