Jump to content
Fivewin Brasil

Pesquisa incremental em array, quando nao tem mais ocorrência ter uma forma avisar


marcioe

Recommended Posts

Pesquisa incremental, quando nao tem mais ocorrencia

 

Imagina que tenha digitado 
ABRACADEIRAS    
dai queria uma forma de alertar ao usuario que não tem mais nada(nao está encontrando)

 

    oDB_CLIENTES		                 	:= TXBrowse():New( oPES_CLIENTES )
   oDB_CLIENTES:SetArray( a_Array_Pesq_Clientes,.T.,2, { 01,02,03,04,05,06,07,08,09,10,11,12,13,14 }  )
 	oDB_CLIENTES:bKeyDown  					:={|nKey| SeekBrowseEmArray( oDB_CLIENTES ), if(nkey=13, COMPLEMENTO_PESQ_CLIENTES(VAL(a_Array_Pesq_Clientes[oDB_CLIENTES:nArrayAt,01]) , oPES_CLIENTES:End()	),0)     }
	oDB_CLIENTES:bChange   					:={|| 						COMPLEMENTO_PESQ_CLIENTES(IF(len(a_Array_Pesq_Clientes)>0,VAL(a_Array_Pesq_Clientes[oDB_CLIENTES:nArrayAt,01]),0))     					 }
	oDB_CLIENTES:bLDblClick					:={|| 						COMPLEMENTO_PESQ_CLIENTES(IF(len(a_Array_Pesq_Clientes)>0,VAL(a_Array_Pesq_Clientes[oDB_CLIENTES:nArrayAt,01]),0)) , oPES_CLIENTES:End()	       }
	oDB_CLIENTES:nHeaderLines        	:= 2    //-----> Linhas do cabeçalho
	oDB_CLIENTES:nDataLines          	:= 2
	oDB_CLIENTES:lRecordSelector     	:= .T.  
	oDB_CLIENTES:lAllowColSwapping   	:= .T.  //-----> Trocar Colunas 	         
	oDB_CLIENTES:lAllowRowSizing     	:= .F.  //-----> Nao move as Linhas            
	oDB_CLIENTES:lColDividerComplete 	:= .F.  //-----> .T. Poe as colunas ate o final do browse.
	oDB_CLIENTES:lHScroll            	:= .T.  //-----> Barra Rolagem Horiz.
	oDB_CLIENTES:lFooter             	:= .T.  
	oDB_CLIENTES:bClrStd                := { || IIF( oDB_CLIENTES:nArrayAt() %2 == 0 ,{ M->COR_LETRAS_GRID, COR_1_bClrStd },{ M->COR_LETRAS_GRID, COR_2_bClrStd }) } 	
	oDB_CLIENTES:bClrSelFocus 		  		:= {|| { M->COR_1_bClrSelFocus, M->COR_2_bClrSelFocus  } }         
	oDB_CLIENTES:bClrRowFocus 		  		:= {|| { M->COR_1_bClrRowFocus, M->COR_2_bClrRowFocus   } }
	oDB_CLIENTES:nColDividerStyle    	:= 4
	oDB_CLIENTES:nRowDividerStyle    	:= 4
	oDB_CLIENTES:nMarqueeStyle       	:= 4
	oDB_CLIENTES:nFooterLines     		:= 1
	oDB_CLIENTES:lAllowColSwapping   	:= .T.                                 //  Click no header (.f.)Trava
	oDB_CLIENTES:lAllowRowSizing     	:= .T.                                 //  Nao move as Linhas (nao sei)	
	oDB_CLIENTES:l2007 						:= M->ESTILO_l2007 
	oDB_CLIENTES:lAllowRowSizing     	:= .T. 
	oDB_CLIENTES:lAutoSort              := .T.
	oDB_CLIENTES:lColChangeNotify 		:= .T.  &&&&& gerar evento por coluna
	oDB_CLIENTES:nStretchCol 				:= STRETCHCOL_WIDEST  // Ajusta as colunas do xBrowse.
   oDB_CLIENTES:nColSel 	           	:=  (p_ColAtu)   // Jogar o Foco na Segunda coluna
  	*----------------------------------------------------------------------------
   WITH OBJECT oDB_CLIENTES
      :lIncrFilter   := .T.
      :lSeekWild  	 := .T.
      :aCols[02]:bFooter  := { || "Qtde.: " + ALLTRIM(Str( oDB_CLIENTES:nLen )) +' Reg.' }
   END
	*-------------------------------------------------------------------------		
	oDB_CLIENTES:nFreeze:=1        			// congelar a coluna
	oDB_CLIENTES:nFreeze:=2 
	*----------------------------------------------------------------------------
   oDB_CLIENTES:aCols[ 01 ]:cHeader   						:= "Cód"
	oDB_CLIENTES:aCols[ 01 ]:nDataStrAlign 				:= AL_LEFT
	oDB_CLIENTES:aCols[ 01 ]:nHeadStrAlign 				:= AL_LEFT
   oDB_CLIENTES:aCols[ 01 ]:cToolTip      				:= {"Código do Cliente","Ajuda","", } 	
	*----------------------------------------------------------------------------
   oDB_CLIENTES:aCols[ 02 ]:cHeader   						:= "Nome / Razão Social"
	oDB_CLIENTES:aCols[ 02 ]:nDataStrAlign 				:= AL_LEFT
	oDB_CLIENTES:aCols[ 02 ]:nHeadStrAlign 				:= AL_LEFT
	oDB_CLIENTES:aCols[ 02 ]:bClrStd 						:= {|| { IF(len(a_Array_Pesq_Clientes)>0, IF( VAL(a_Array_Pesq_Clientes[oDB_CLIENTES:nArrayAt,04]) > 1 ,CLR_VERMELHO,CLR_VERDE) ,nil) , IIF((oDB_CLIENTES:KeyNo())%2==0, COR_1_bClrStd , COR_2_bClrStd ) } }
	oDB_CLIENTES:aCols[ 02 ]:oHeaderFont					:= O_F_GET
	oDB_CLIENTES:aCols[ 02 ]:oDataFont     				:= O_F_DLG2			
   oDB_CLIENTES:aCols[ 02 ]:cToolTip      				:= {"Nome ou Razao Social","Ajuda","", } 	
	*----------------------------------------------------------------------------
   oDB_CLIENTES:aCols[ 03 ]:cHeader   						:= "Apelido/Fantasia"
	oDB_CLIENTES:aCols[ 03 ]:nDataStrAlign 				:= AL_LEFT
	oDB_CLIENTES:aCols[ 03 ]:nHeadStrAlign 				:= AL_LEFT
   oDB_CLIENTES:aCols[ 03 ]:cToolTip      				:= {"Apelido/Nome Fantasia","Ajuda","", } 	
	*----------------------------------------------------------------------------
   oDB_CLIENTES:aCols[ 04 ]:bBmpData						:= { ||  if(len(a_Array_Pesq_Clientes)>0,VAL(a_Array_Pesq_Clientes[oDB_CLIENTES:nArrayAt,04]),nil) }    
   oDB_CLIENTES:aCols[ 04 ]:AddResource("#8663")      &&&& Verde  		1  Liberado
   oDB_CLIENTES:aCols[ 04 ]:AddResource("#8664")      &&&& Vermelho  	2  Bloqueado
   oDB_CLIENTES:aCols[ 04 ]:bstrData      				:= {|| '' }
   oDB_CLIENTES:aCols[ 04 ]:cHeader   						:= "*"
	oDB_CLIENTES:aCols[ 04 ]:nWidth        				:= 25
	oDB_CLIENTES:aCols[ 04 ]:bLClickHeader 				:= {|r,c,f,o| (  LEGENDA_CADASTRO_CLIENTE()     )}   
   oDB_CLIENTES:aCols[ 04 ]:cToolTip      				:= {"Situação do Quanto ao Crédiário","Ajuda","", } 	
	*----------------------------------------------------------------------------  
   oDB_CLIENTES:aCols[ 05 ]:bBmpData						:= { ||  if(len(a_Array_Pesq_Clientes)>0,VAL(a_Array_Pesq_Clientes[oDB_CLIENTES:nArrayAt,05]),nil) }    
   oDB_CLIENTES:aCols[ 05 ]:AddResource("#8457") &&&& Ativo Azul 
   oDB_CLIENTES:aCols[ 05 ]:AddResource("#8456") &&&& Inativo Amarelo
   oDB_CLIENTES:aCols[ 05 ]:bstrData      				:= {|| '' }
   oDB_CLIENTES:aCols[ 05 ]:cHeader   						:= "*"
	oDB_CLIENTES:aCols[ 05 ]:nWidth        				:= 25
	oDB_CLIENTES:aCols[ 05 ]:bLClickHeader 				:= {|r,c,f,o| (  LEGENDA_CADASTRO_CLIENTE()     )}   
   oDB_CLIENTES:aCols[ 05 ]:cToolTip      				:= {"Situação do Quanto ao Cadastro","Ajuda","", } 	
	*----------------------------------------------------------------------------  
   oDB_CLIENTES:aCols[ 06 ]:cHeader   						:= "Endereco"
	oDB_CLIENTES:aCols[ 06 ]:nDataStrAlign 				:= AL_LEFT
	oDB_CLIENTES:aCols[ 06 ]:nHeadStrAlign 				:= AL_LEFT
   oDB_CLIENTES:aCols[ 06 ]:cToolTip      				:= {"Endereço do Cliente","Ajuda","", } 	
 	*----------------------------------------------------------------------------	
   oDB_CLIENTES:aCols[ 07 ]:cHeader   						:= "Bairro"
	oDB_CLIENTES:aCols[ 07 ]:nDataStrAlign 				:= AL_LEFT
	oDB_CLIENTES:aCols[ 07 ]:nHeadStrAlign 				:= AL_LEFT
   oDB_CLIENTES:aCols[ 07 ]:cToolTip      				:= {"Bairro do Cliente","Ajuda","", } 	
 	*----------------------------------------------------------------------------	
   oDB_CLIENTES:aCols[ 08 ]:cHeader   						:= "Cpf/Cnpj"
	oDB_CLIENTES:aCols[ 08 ]:nDataStrAlign 				:= AL_LEFT
	oDB_CLIENTES:aCols[ 08 ]:nHeadStrAlign 				:= AL_LEFT
   oDB_CLIENTES:aCols[ 08 ]:cToolTip      				:= {"Cpf ou Cnpj do Cliente","Ajuda","", } 	
 	*----------------------------------------------------------------------------	
   oDB_CLIENTES:aCols[ 09 ]:cHeader   						:= "Telefone"
	oDB_CLIENTES:aCols[ 09 ]:nDataStrAlign 				:= AL_LEFT
	oDB_CLIENTES:aCols[ 09 ]:nHeadStrAlign 				:= AL_LEFT
   oDB_CLIENTES:aCols[ 09 ]:cToolTip      				:= {"Telefone do Cliente","Ajuda","", } 	
 	*----------------------------------------------------------------------------	
   oDB_CLIENTES:aCols[ 10 ]:cHeader   						:= "Whatsapp"
	oDB_CLIENTES:aCols[ 10 ]:nDataStrAlign 				:= AL_LEFT
	oDB_CLIENTES:aCols[ 10 ]:nHeadStrAlign 				:= AL_LEFT
   oDB_CLIENTES:aCols[ 10 ]:cToolTip      				:= {"Whatsapp do Cliente","Ajuda","", } 	
 	*----------------------------------------------------------------------------	
   oDB_CLIENTES:aCols[ 11 ]:cHeader   						:= "Rg/Insc.Estadual"
	oDB_CLIENTES:aCols[ 11 ]:nDataStrAlign 				:= AL_LEFT
	oDB_CLIENTES:aCols[ 11 ]:nHeadStrAlign 				:= AL_LEFT
   oDB_CLIENTES:aCols[ 11 ]:cToolTip      				:= {"Rg ou Insc.Estadual do Cliente","Ajuda","", } 	
 	*----------------------------------------------------------------------------	
   oDB_CLIENTES:aCols[ 12 ]:cHeader   						:= "Cep"
	oDB_CLIENTES:aCols[ 12 ]:nDataStrAlign 				:= AL_LEFT
	oDB_CLIENTES:aCols[ 12 ]:nHeadStrAlign 				:= AL_LEFT
   oDB_CLIENTES:aCols[ 12 ]:cToolTip      				:= {"Cep do Cliente","Ajuda","", } 	
 	*----------------------------------------------------------------------------	
   oDB_CLIENTES:aCols[ 13 ]:cHeader   						:= "Cidade"
	oDB_CLIENTES:aCols[ 13 ]:nDataStrAlign 				:= AL_LEFT
	oDB_CLIENTES:aCols[ 13 ]:nHeadStrAlign 				:= AL_LEFT
   oDB_CLIENTES:aCols[ 13 ]:cToolTip      				:= {"Cidade do Cliente","Ajuda","", } 	
 	*----------------------------------------------------------------------------	
   oDB_CLIENTES:aCols[ 14 ]:cHeader   						:= "UF"
	oDB_CLIENTES:aCols[ 14 ]:nDataStrAlign 				:= AL_LEFT
	oDB_CLIENTES:aCols[ 14 ]:nHeadStrAlign 				:= AL_LEFT
   oDB_CLIENTES:aCols[ 14 ]:cToolTip      				:= {"Estado / UF do Cliente","Ajuda","", } 	
  	*----------------------------------------------------------------------------	
 
	oDB_CLIENTES:CreateFromResource(4015)                               
	*----------------------------------------------------------------------------	

ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

 

 

 

mas a pesquisa de produtos segue a mesma logica.  Etc.

ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ

 

Queria que quando nao localizar indicar uma forma de avisar ao usuario que não localizou, pois tem cada imbecil que pegamos (o ultimo disse que o teclado estava com defeito)

 

 


 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...