F_IS_ARITHMETIC_OPERATOR

///////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Function Name : f_is_arithmetic_operator
// Argument Name : as_source, Arg Type : String, Pass By : Value
// Return Type :      Boolean
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//    Description:      Determines whether a string contains only Arithmetic
//                           Operator characters.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////

Long       ll_count=0
Long       ll_length
Char       lc_char[]
Integer    li_ascii

//Check parameters
If IsNull(as_source) Then
    boolean lb_null
    SetNull(lb_null)
    Return lb_null
End If

//Get the length
ll_length = Len (as_source)

//Check for at least one character
If ll_length=0 Then
    Return False
End If

//Move string into array of chars
lc_char = as_source

//Perform loop around all characters
//Quit loop if Non Operator character is found
Do While ll_count<ll_length
    ll_count ++
   
    //Get ASC code of character.
    li_ascii = Asc (lc_char[ll_count])
   
    If li_ascii=40 or            /* ( left parenthesis */     &
        li_ascii=41 or            /* ) right parenthesis */  &
        li_ascii=43 or            /* + addition */              &
        li_ascii=45 or            /* - subtraction */          &
        li_ascii=42 or            /* * multiplication */       &
        li_ascii=47 or            /* / division */                &
        li_ascii=94 Then        /* ^ power */   
        //Character is an operator.
        //Continue with the next character.
    Else
        Return False
    End If
Loop
   
// Entire string is made of arithmetic operators.
Return True

0 comments:

Post a Comment