FUNCTION Main() LOCAL aData, i, nPos // Array operations ? "=== Array Test ===" aData := {10, 30, 20, 50, 40} ? "Original:", Len(aData), "items" AAdd(aData, 60) ? "After AAdd:", Len(aData), "items" ASort(aData) ? "Sorted:" FOR i := 1 TO Len(aData) ? " [" + Str(i) + "]", aData[i] NEXT nPos := AScan(aData, 30) ? "AScan(30) found at:", nPos ? "ATail:", ATail(aData) // String operations ? "" ? "=== String Test ===" ? Upper("hello world") ? Lower("HELLO WORLD") ? AllTrim(" spaces ") ? Replicate("*", 10) ? PadR("Left", 15) + "|" ? PadL("Right", 15) + "|" // Type checking ? "" ? "=== Type Test ===" ? "ValType(42):", ValType(42) ? "ValType('abc'):", ValType("abc") ? "ValType(.T.):", ValType(.T.) ? "ValType(NIL):", ValType(NIL) ? "ValType({}):", ValType({}) ? "Empty(''):", Empty("") ? "Empty(0):", Empty(0) ? "Empty('x'):", Empty("x") // Date ? "" ? "=== Date Test ===" ? "Time:", Time() ? "Seconds:", Seconds() ? "" ? "All tests passed!" RETURN NIL