home *** CD-ROM | disk | FTP | other *** search
- Attribute VB_Name = "imgitools"
- Option Explicit
-
- Global gaValue() As String
- Global gaField() As String
- Global debugging As Boolean
-
- Sub ParseFieldValue(rString As Variant)
- 'Sub Procedure: ParseFieldValue
- 'Purpose : Parse form field values from an HTML form.
- 'Arguments : String value to parse.
- 'History : 30-Jan-1996 Initial version
- 'Author : Walt Grogan and Bill Mariani
-
- ReDim gaValue(1) As String 'Array to hold HTML form values
- ReDim gaField(1) As String 'Array to hold HTML field names
-
- Dim lbSwitch As Boolean ' Switch determines which array to write to
-
- Dim lsCharacter As String 'Character to write to array
- Dim lsString As String 'Character to test
-
- Dim liLen As Integer 'Length of passed string
- Dim liArrayRow As Integer 'Row of array to write
- Dim liCounter As Integer 'Loop counter
-
- Dim lvHex As Variant 'Holder for Form HEX value
-
- liLen = Len(rString)
-
- lbSwitch = True
- liArrayRow = 1
-
- For liCounter = 1 To liLen
- lsString = Mid(rString, liCounter, 1)
- If lsString = "%" Then 'Check for HEX value
- lvHex = Mid(rString, liCounter + 1, 2)
- lsCharacter = Chr$(Val("&H" & lvHex))
- liCounter = liCounter + 2
- ElseIf lsString = "+" Then 'Check for space in form value
- lsCharacter = " "
- Else
- lsCharacter = lsString
- End If
-
- If lsString = "=" Then 'Check for Value
- liCounter = liCounter + 1
- Select Case Mid(rString, liCounter, 1)
- Case "&"
- liCounter = liCounter - 1
- lsCharacter = ""
- Case "%"
- lbSwitch = False
- liCounter = liCounter - 1
- lsCharacter = ""
- Case Else
- lbSwitch = False
- lsCharacter = Mid(rString, liCounter, 1)
- End Select
- End If
- If lsString = "&" Then 'Check for field
- ReDim Preserve gaField(UBound(gaField, 1) + 1)
- ReDim Preserve gaValue(UBound(gaValue, 1) + 1)
- liCounter = liCounter + 1
- liArrayRow = liArrayRow + 1
- lbSwitch = True
- lsCharacter = Mid(rString, liCounter, 1)
- End If
-
- If lbSwitch Then
- gaField(liArrayRow) = gaField(liArrayRow) + lsCharacter
- Else
- gaValue(liArrayRow) = gaValue(liArrayRow) + lsCharacter
- End If
- Next liCounter
- 'For liCounter = 1 To UBound(gaValue, 1)
- ' MsgBox gaField(liCounter) & ": " & gaValue(liCounter)
- 'Next liCounter
- End Sub
-
-