Dear Laiton&Tim,
I have got an idea to get the result that I need but the user interface is not nice.
1.) When I swipe the cr.card it show all information in cr.card but I need only some information
2.) I use :bLostFocus to cut all information that I need. It works fine.
I don't want to change text color as background, bcos this field has used many purpose. It is not cr.card information only but manual typing information also.
How can I hold the information in buffer and show on 2nd step only .or. How to don't show the information until 2nd step?

</noscript>
#include "Fivewin.ch"
Function Main()
Local oDlg, oGet, oBtn
Local cGet:=Space(400)
define dialog oDlg from 100,100 to 200, 1200 pixel
@ 10,10 get oGet var cGet of oDlg pixel size 500,12
oGet:bLostFocus:={|Self,nKey|MCard( Self,cGet ) } // DataCard you need informe how you return numbers that
// you show up.
@ 30, 10 BUTTON oBtn PROMPT 'Ok' ACTION (oDlg:End()) PIXEL
Activate dialog oDlg
Return nil
Function MCard( oG,cG ) // <<== cData is data card
LOCAL cText := alltrim(oG:cText())
local aCard, aResult
if left(cText,1)='%'
aCard := HB_ATokens( cText, "^", .F. , .F. )
aResult := { aCard[1],aCard[2], aCard[3] } // HB_RegEx( cRegEx, cText )
if (valtype(aResult)=="A" .AND. len(aResult)>=2)
oG:VarPut( right(aResult[1],len(aResult[1])-2 )+'-'+left(aResult[3],2)+'/'+subs(aResult[3],3,2) )
oG:Refresh() // refresh Get
else
MsgStop("No match ER !","Not Found")
endif
end
Return .t.
Thanks&Regards,
Dutch