home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1996 December / CD_shareware_12-96.iso / WIN / Programa / VBINTRNT.ZIP / VBINTRNT.EXE / IMGITOOL.BAS < prev    next >
Encoding:
BASIC Source File  |  1996-05-02  |  2.4 KB  |  81 lines

  1. Attribute VB_Name = "imgitools"
  2. Option Explicit
  3.  
  4.   Global gaValue() As String
  5.   Global gaField() As String
  6.   Global debugging As Boolean
  7.   
  8. Sub ParseFieldValue(rString As Variant)
  9. 'Sub Procedure: ParseFieldValue
  10. 'Purpose      : Parse form field values from an HTML form.
  11. 'Arguments    : String value to parse.
  12. 'History      : 30-Jan-1996 Initial version
  13. 'Author       : Walt Grogan and Bill Mariani
  14.  
  15.   ReDim gaValue(1) As String 'Array to hold HTML form values
  16.   ReDim gaField(1) As String 'Array to hold HTML field names
  17.   
  18.   Dim lbSwitch As Boolean ' Switch determines which array to write to
  19.   
  20.   Dim lsCharacter As String 'Character to write to array
  21.   Dim lsString As String 'Character to test
  22.   
  23.   Dim liLen As Integer 'Length of passed string
  24.   Dim liArrayRow As Integer 'Row of array to write
  25.   Dim liCounter As Integer 'Loop counter
  26.   
  27.   Dim lvHex As Variant 'Holder for Form HEX value
  28.   
  29.   liLen = Len(rString)
  30.   
  31.   lbSwitch = True
  32.   liArrayRow = 1
  33.   
  34.   For liCounter = 1 To liLen
  35.      lsString = Mid(rString, liCounter, 1)
  36.      If lsString = "%" Then 'Check for HEX value
  37.         lvHex = Mid(rString, liCounter + 1, 2)
  38.         lsCharacter = Chr$(Val("&H" & lvHex))
  39.         liCounter = liCounter + 2
  40.      ElseIf lsString = "+" Then 'Check for space in form value
  41.         lsCharacter = " "
  42.      Else
  43.       lsCharacter = lsString
  44.      End If
  45.    
  46.     If lsString = "=" Then 'Check for Value
  47.       liCounter = liCounter + 1
  48.       Select Case Mid(rString, liCounter, 1)
  49.        Case "&"
  50.          liCounter = liCounter - 1
  51.          lsCharacter = ""
  52.        Case "%"
  53.          lbSwitch = False
  54.          liCounter = liCounter - 1
  55.          lsCharacter = ""
  56.        Case Else
  57.          lbSwitch = False
  58.          lsCharacter = Mid(rString, liCounter, 1)
  59.       End Select
  60.     End If
  61.     If lsString = "&" Then 'Check for field
  62.         ReDim Preserve gaField(UBound(gaField, 1) + 1)
  63.         ReDim Preserve gaValue(UBound(gaValue, 1) + 1)
  64.         liCounter = liCounter + 1
  65.         liArrayRow = liArrayRow + 1
  66.         lbSwitch = True
  67.         lsCharacter = Mid(rString, liCounter, 1)
  68.     End If
  69.     
  70.     If lbSwitch Then
  71.       gaField(liArrayRow) = gaField(liArrayRow) + lsCharacter
  72.     Else
  73.       gaValue(liArrayRow) = gaValue(liArrayRow) + lsCharacter
  74.     End If
  75.   Next liCounter
  76.   'For liCounter = 1 To UBound(gaValue, 1)
  77.   '  MsgBox gaField(liCounter) & ": " & gaValue(liCounter)
  78.   'Next liCounter
  79. End Sub
  80.  
  81.