Querying for e-mail addresses
日付 | 2002/02/11 |
---|---|
ID | 01-831 |
バージョン | 6.5.x and 6.7.x |
プラットフォーム | Windows and Mac OS |
4Dがワイルドカード特徴として「@」シンボルを使用するので、4Dの中のemailアドレスのために尋ねることは特別の注意を要求します。4Dのバージョン6.5以来、あなたがデータ・ベース特性中のそのオプションをチェックするかどうか、データ・ベース用のストリング中の「@」文字が疑うと思うことは可能でした。しかしながら、時々、あなたは正常な振る舞いを維持したい。しかし、emailアドレスのために尋ねることができることをまだ望みます。以下に、任意のemailアドレス競技場で速く正確に尋ねるために使用してもよいあるコードです。
`Project Method: GEN_EmailQuery
`Example: $fFound:=GEN_EmailQuery(->[User]Email_Address;"sfrey@4d.com")
$pField:=$1
$tEmail:=$2
C_POINTER($pTable)
$pTable:=Table(Table($pField))
CREATE EMPTY SET($pTable->;"Found")
C_LONGINT($iPos)
$iPos:=Position(Char(At sign );$tEmail)
If ($iPos>0)
QUERY($pTable->;$pField->=Substring($tEmail;1;$iPos))
ARRAY TEXT($atAddress;0)
SELECTION TO ARRAY($pField->;$atAddress)
C_LONGINT($iIdx)
For ($iIdx;1;Size of array($atAddress))
Case of
: ($atAddress{$iIdx}=$tEmail)
GOTO SELECTED RECORD($pTable->;$iIdx)
ADD TO SET($pTable->;"Found")
End case
IDLE
End for
End if
USE SET("Found")
CLEAR SET("Found")
$0:=(Records in selection($pTable->)#0)